Uhuu, i got accepted at Rigging Dojo -> www.riggingdojo.com .

Have two great mentors, Brad Clark, two time Autodesk Master Class instructor, lead author of “Inspired 3D Advanced Rigging and Deformations” and David Behrens, creature TD at Lucasfilm.

Week no 3, one more to go after.

Software:
Maya

Scripting Language:
MEL
what it does:
- helps creating a fully rigged skeleton without facial rigging

notes:
Yet Another Rigging Tool …

At the point i was developing it, from some reason i wanted to create all the animation controllers on the fly .. which i did. Basically they are all box type, with the size of them based on the length of the joint they are driving :) . Maybe not the best idea in the world, but hey, it seem like a great idea at that point.
Currently I am working on a Python-ic version of it, more modular and with the help of PyQT too for the interface.

bdYart 0.6 from Bogdan Diaconu on Vimeo.

I will be adding actual code under this category … be warned, even though i will try to invent a new wheel, it will take some time probably :) . You can grab the script at the end of the post.
This type of script exist for like forever, the only different thing is that ive used vectors to do it, mainly subtraction and scaling of vectors:


#get the joints positions and convert to MVectors
strJntRaw = cmds.xform(startJnt,ws=True,q=True,t=True)
strJntPos = om.MVector(strJntRaw[0], strJntRaw[1], strJntRaw[2])

endJntRaw = cmds.xform(jntChild[0],ws=True,q=True,t=True)
endJntPos = om.MVector(endJntRaw[0], endJntRaw[1], endJntRaw[2])

#subtracting vectors in order to get to the segments position
subJnt = endJntPos - strJntPos

for i in range(1,int(numSegments)):
      newJntPos = subJnt * i * (1/numSegments) + strJntPos

Also, Ive tried to check for the proper orient rotation ( aka the child joint was not moved with Insert and has translation in only one axis) using vectors, specifically getting the norm vector of the child and checking to see if it has 1 on one of the axis. This is done in local space ( it would not work in world).


endJntRaw = cmds.xform(endJoint,q=True,t=True)
endJntPos = om.MVector(endJntRaw[0], endJntRaw[1], endJntRaw[2])
downAxis = ''
endJntNorm = endJntPos.normal()
for i in range(0,3):

if endJntNorm[i] == 1:
       if i==0:
           downAxis = 'x'
           print 'its x'
       elif i==1:
           downAxis = 'y'
           print 'its y'
       elif i==2:
           downAxis = 'z'
           print 'its z'
return downAxis

Download bdSplitJoint.py

Software:
Maya, QT Designer

Scripting Language:
Python

what it does:
- renames multiple objects using an index based convention

how it does:
- the user needs to select at least one object
- a mask is required for the renaming, with a choice of prefix and suffix too.
- by default the index is 2 digits based ( as in starts counting from 00 to 99). Should the selected object be over 100, automatically 3 digits are used. I assume nobody wants to rename 1000+ objects
- UI is built using QT Designer, but all the events are added in Maya
- the function used to retrieve the widgets paths was written by Chris G.

bdMultiRename from Bogdan Diaconu on Vimeo.

software:
Maya

Script Language:
Python

what it does:
- copies mocap data ( imported as fbx file) on rigged characters

how it does:
- opens the fbx file
- cleans up the names
- imports the rigged characters and tries to automatically match up the height of the character
- copies the animation from mocap onto the animation controllers
- removes all the mocap data
- animation now can be tweaked/cleaned/enhanced by the animators
- prepares the file for export

notes:
- mocap files were pretty messy, naming wise and structure wise
- a mocap file could have between 1 and 11 players with multiple footballs, the script is handling all the cases
- occasionally the user had to get his/her hands dirty ( like properly naming/duplicating the footballs)

bdFootballUtils from Bogdan Diaconu on Vimeo.

Software:
Softimage

Scripting Language:
Python

what it does:
- keeps track of all the weapon files ( rig files, model files, 1st person view and 3rd person view animation files ) for a FPS type of game

how it does:
- reads the weapon list from an XML file
- based on the above, creates all the paths needed to grab the file names
- uses several filters: character, weapon type, file type
- based on the filters, displays all the files sorted by date ( the most recent on top of the list)

video:

bdWeaponAdmin from Bogdan Diaconu on Vimeo.

Software:
Softimage

Scripting Language:
Python

what it does:
- setups everything needed in regards to adding a new weapon in a FPS type of game

how it does:
- creates the weapon project ( Softimage)
- creates the folder structure for the weapon: the one for the weapon rig, the one for the 1st person view animation of and the one of the 3rd person view animation
- adds the weapon to the XML file that keeps the weapon list
- imports all the weapon parts as obj’s and assigns individual shaders per part
- forces a naming convention
- creates the general skeleton for a weapon and skins the dynamic meshes to those
 

bdWeaponUtils from Bogdan Diaconu on Vimeo.

Software:
Softimage

Scripting Language:
Python

what it does:
- saves poses using XML files

how it does:
- on the first run the user has to setup a global path for the poses and to add characters
- those above will be saved as user preference and automatically used upon new runs. They can also be modified and the preferences will be updated
- with a character open, the user will have to select the desired controllers
- when the pose is saved, the plugin creates a XML file to store the pose, a synoptic file ( basically an HTML file) that holds the ‘image button’ for the pose and finally a thumbnail preview used in the synoptic file.
- updates the UI with the created pose

PS. Was slightly painful to code the UI due to the dynamic refreshing of it. Also, saving the preferences using softimage’s preferences system is not really friendly, proabably would have been better to save them as an XML file too. Maybe in another iteration

bdPoseLibrary from Bogdan Diaconu on Vimeo.

Download a copy

Current Address: Villingen Schweningen, Germany

  • Experience
  • 2011, September – present | Acony Games GmbH | VS-Villingen, Germany
    Senior Technical Animator:

    - Creating/managing the animation and rigging tasks.
    - Creating animations for Hedone, an online ‘fps’, rigging realistic human characters and weapons
    - Working with the Unreal Engine 3; creating/managing animation trees, animation sets for the characters and weapons.
    - Creating cinematic sequences in Unreal Editor
    - Python Scripting ( Softimage and Maya)

    2008–2011, September | Acony Games GmbH | VS-Villingen, Germany
    3D Animator:

    - Creating animations for Parabellum, an online ‘fps’.
    - Rigging realistic human characters and weapons
    - Working with the Unreal Engine 3; creating the animation trees, animation sets for the characters and weapons.
    - Creating cinematic sequences in Unreal Editor
    - Python Scripting ( Softimage)

    2006–2007 | Optic Flavor | Bucharest, Romania
    3D animator:

    - Creating animations for commercials.
    - Rigging realistic and cartoony characters ( humanoids and creatures).

    2005–2006 | Dacodac Studio | Bucharest, Romania
    3D Animator:

    - Creating animations for a 3D French TV series called “Adiboo, inside the Human Body”
    - Created an asset management MEL script used to create fast layouts and to properly manage the animation scenes on the next step.

    2002-2005 | Bravo Studios | Bucharest, Romania
    Animation Team Leader:

    - Started as an animator in 2001, evolved to the Team Leader position by 2003
    - As team leader I was in charge of managing a team of 12 people. This included assigning/scheduling the tasks, taking care of them being done on time, supervising the quality of the animation.
    - Worked on Tractor Tom animation series, produced by Contender Entertainment, two series of 26X10 minutes episodes.
    - Other projects included “Brush Head”, a Bafta award winner in 2004, “Toumai, the new ancestor”, a documentary for National Geographic France, “The Fuzz”, fully CGI music clip.
    - MEL Scripting

    2001-2002 | Tiny Creatures | Iasi, Romania
    3D animator:

    - My first job as a 3D animator, acquired after 5 months of training at the same company.
    - I was animating for “Spheriks”, an animated series featuring the official mascots of 2002 FIFA World Cup, produced by Slave Studios UK / FIFA AG
    - Started learning MEL Scripting

  • Education
  • 1995-2001 | Computer Science University | Iasi, Romania
    - Graduated as a Computer Science Engineer

  • Software
  • - Maya, 10 years of experience, animation, rigging, MEL/Python Scripting.
    - XSI, 4 years of experience, animation, rigging, scripting.
    - Unreal Editor, 4 years of experience, animation related knowledge like importing skeletal/static meshes, setting up animation trees, animation sets, creating Physics Assets, creating Morph Sets, creating cinematic sequences
    - Adobe Flash, 4 years of experience. Created fully Flash websites. ActionScript 2 knowledge.
    - Adobe Dreamweaver, medium knowledge ( created a few websites)
    - Adobe Photoshop, medium knowledge

  • Skills
  • Animation - keyframe animation, cleaning motion capture files, using graph editors for manipulating the animation curves, creating looping animations ( both games or as part of a library of motions for animated series), lyp-synch-ing.
    Rigging – wrote a MEL script for generating rigged skeletons based on a custom rig used in one of the companies I worked (Bravo Studios). Good knowledge of human anatomy for creating realistic human characters.
    MEL/Python scripting (Maya, Softimage) – Extensive knowledge of it. Wrote many scripts for speeding various processes ( like rigging) or for assets management.

  • Languages
  • Romanian – Native
    English – Advanced ( living for 5 years abroad )
    German – Basic

    • Game Animation reel 2011-2012

    Game Reel 2012 from Bogdan Diaconu on Vimeo.

    • Mocap clean samples

    Mocap Cleaning from Bogdan Diaconu on Vimeo.

    • TV series reel ( before 2010 )

    Showreel 2010 from Bogdan Diaconu on Vimeo.

    © 2013 Moving Pixels Suffusion theme by Sayontan Sinha