February is for lovers…of rigging characters – Advanced Skeleton interview
Today we have an interview with Oyvind Nostdal, the creator of AdvancedSkeleton, a powerful auto-rigging toolset which has been around since 2000 and is used today by many TDs and studios, with their own customized extensions for their specific needs.
“One and a half hour full of tips and tricks on how to become more efficient as a TD or Animator. These tips will help you improve your skills and workflow so you can do your job easier, faster and more efficient.“
Meet The Rigging Team From The Anomalia “Wildlife Crossing” Course
This summer, Rigging Dojo partnered up with Anomalia to put a small group of rigging students into a production environment to create animation rigs for their short film, “Wildlife Crossing”. In this post you’ll meet the 6 students and see the great work they produced.
This special 8-week course was taught in the Rigging Dojo online classroom and was called “Advanced Cartoon Rigging”. The team created stylized cartoony animal and vehicle rigs. They also created various scripts and UI’s to help the animators. With video feedback and supportive guidance from the mentors and team members, this was an exciting chance to experience what it takes to work in an actual production.
“I had a great time here, and have learned a lot of new things – thank you Josh, Dan, Brad. The feedback for my work was really constructive and I really liked that it was showing directions without giving everything on a plate. Also thank you Lee, Ivan, Matteo, Jason, Daniel. I’ve peeked into your posts / rigs and got some knowledge from there as well.”Â – Bogdan Diaconu
Rigging concepts were covered such as face rigging, stretchy limbs, twist-locking, joints/hierarchies, skinning work-flows, corrective shapes and advanced deformation tricks. Advanced workflow concepts were covered such as naming conventions, pipelines, scene organization, scripting and team feedback. It was mentored by Josh Carey, Brad Clark and Daniel McCrummen.
“I had great time with this class. I learned so much, from reviews to other students works, and I had the opportunity, for the first time, to have some feedback from animators to improve my rig.” – Matteo Di Lena
The Anomalia course is the non-profit organization that is put together for European students every year. It is part of a summer marathon of animation courses hosting expert instructors from top studios such as Pixar, Valve and Aardman Animations. They have specific courses (rigging, animation, story telling, etc), where students go to a small town in the Czech Republic for 2 weeks and learn face to face.
The “Advanced Cartoon Rigging” course was focused on giving the students a good representation of rigging for a production and teaching the fundamentals of cartoon rigging, all while producing production-ready rigs that were used at Anomalia on their short film.
Don’t miss the next time we run a special course like this. Make sure you subscribe to our newsletter or follow us on Facebook and Twiter where we will announce future dates.
Here are our excellent students that took on the challenge of learning and rigging for the short film.
Rig realized for Anomalia’s last short film, Wildlife Crossing http://labs.anomalia.eu/wildlife-crossing, via Rigging Dojo summer class.
Thanks to all the rigging dojo staff and students for their great feedback!
“My name is Matteo, 26 years old, from Italy. I work as a 3d Artist since 2008. I started looking at rigging more or less a year and a half ago, I really enjoy it and I would love to be a professional character rigger in the future, as for now I couldn’t spend too much time digging into this world since I have a full time job. This course could be a very good starting point to understand production needs, so here I am! 🙂
I started my career working as a 3d generalist with 3ds Max on architectural and commercial projects in late 2007, constantly looking to something new to improve my skills. I discovered character rigging in late 2009, I’m focusing on it since late 2011, and took my first rigging dojo class in 2012.Â
I have 5 years experience in modeling, rendering, compositing and post production, but now my main focus is to continue with character rigging to improve my skills, starting with some deep study on scripting in MEL and Python to improve my workflow.
I currently work as a 3d Artist for an Italian wheels design company.”
This is the last character I’ve rigged for Anomalia’s short movie, ‘Wildlife Crossing” : http://labs.anomalia.eu/wildlife-crossing :
– quadruped legs rigging with auto stretch
– stretchy spine with twist control
– independent eye’s sockets with move/rotate/scale
– dual layer ribbon implementation for the lips ( a ribbon driving a ribbon )
– body squash
– IK/FK/Dynamic wings, in IK mode the wing tip can be attached to something else ( rig requirement)
“This class was a way of verifying my knowledge in regards to rigging, I have already worked as a technical animator but I have never had a lead or a senior person to poke me in the right direction or to teach me things. All I knew before was through tutorials and a lot of trials and errors.Â
I’ve started in the CGI industry as an animator immediately after graduating Computer Science University. Due to my studies, i was attracted by the technical side of animation and proceeded to understand the art of rigging and generally scripting.Â
My career evolved from TV series to commercials and for the last 5 years to the games industry.”
Lee came from a background as a programmer from the video game industry. For the last 6 years or so she has been studying visual effects, working as a software engineer and VFX artist/generalist, including rigging biped and quadruped characters.
Shows off some of the basic controls for the frog:
* move, scale, rotate
* attributes to controls visibility of controls and model/proxy geometry
* ik/fk switching and blending
* ik stretching
* forearm and shin twist joints
* flexible spine
* facial blendShapes
* finger and toe curl and spread
* head, mouth, eye, tongue controls
* space switching on arms, legs, and eyes
“My name is Daniel. I just finished my Master’s degree in 3D Modeling at Academy of Art University. While studying modeling I had discovered a passion for rigging. I have been working on a few student projects trying to get more experience rigging.”
Congrats to the whole team for their hard-work and teamwork during this production. Once again, if you’d like to be notified the next time we run a special course like this (*we just might be doing one soon), make sure you sign up for our newsletter.
We will have some other early announcements in the Newsletter so sign up if you haven’t. We have moved to MailChimp for the newsletters and they look great thanks to Chris Lesage.
Here is a very short excerpt on Games vs. Film rigging
Lets talk Games vs. Film, this is always a hot topic for new and old character TDs. Tell us how you made the transition from games to film and what’s different.
What are the differences? Similarities? Everything and nothing.
Ultimately, in Films or Games you do the same thing. You build a motion system and you build the deformations. You probably also write tools to help you along the way. That core concept doesn’t change, it’s the same. That said, how you go about building them is quite different, especially when it comes to deformations.
In games we are limited by the engine. There are a lot of things that we simply cannot do and still get the performance necessarily to make a game run at 60fps. So usually in games we are most concerned about performance.
In film we don’t have that restriction. We use any tools we have at our disposal to make things look right. This often means you are sacrificing the performance of the rigs, but often picture quality wins over performance.
The transition itself was hard; I knew it would be. I was very comfortable where I was (in games) and I was happy working in Maya. I knew DreamWorks had their own system and that I would have a pretty steep learning curve. The system we used to have at the time was like nothing I could have imagined. It took a bit of time to “unlearn” Maya.
(Rigging Tips and Tricks : Making of Pose Critter by Timm Wagener)
August is off to a great start here at Rigging Dojo and we are very excited to have a great guest blog post on this months Rigging Tips and Tricks, Timm Wagener presents the Making of Pose Critter. If you haven’t seen his work or Pose Critter before, it is a very dynamic and cool animation pose saver for Maya.
Timm kindly wrote up a behind the scenes on the making of this great tool so we could share it with all of you. Enjoy!
Begin Guest post:
Hi, my name is Timm Wagener,
I’m currently a TD student at Filmakademie Baden-Württemberg, where I just recently finished the work on the upcoming FMX 2014 trailer. For this project I served as the only pipeline and rigging TD and additionally supported the Lighting/Shading TDs as much as possible. My main focus is on pipeline programming, rigging as well as lighting/shading.
I originally started with 3D because I wanted to build my own levels for games like Half-Life and Unreal Tournament. I never really played any games, I spent all my time in their editors like Valve Hammer Editor or the UDK. As games became more detailed I had to learn 3ds Max to create assets for my levels. I did that as a hobby along high-school, which earned me an internship in the 3d art department of a game company right after my A-levels where I learned Maya on a production level. After the internship I was sure that 3D was my career path but I wanted to switch from games to animation for two reasons:
Around this time I saw all the movies that especially the French animation students where putting out (I think “Burning Safari” pulled the trigger), and I thought that this is exactly what I want to do.
At this time working for a real-time engine still meant to overcome lots of limits.
So I made my B.A. in Digital Media at the USC Darmstadt focusing on the technical aspects of 3D animation. I paused that 3-year program for a practical year in the industry which I spent at a local animation studio called WeCanDance and at BUCK LA, which was an extreme boost (maybe better than 3 years of bachelor studies).
After that I decided to either start working in the industry as a Maya Character and General TD or do my Master at the TD program of Filmakademie. Luckily I was picked at Filmakademie where I now enjoy the opportunity to work on student productions that reach a wide audience and dig deeper into my areas of interest which right now are programming with Python and C++, parallel computing and Houdini.
I really like the fact that the field of Rigging has so much intersection areas with programming. Be it writing auto-riggers, a custom animation GUI or custom deformers. For the FMX show I spent about 60% of the rigging time within sublime and only about 40% within Maya itself doing hands on rigging.
About 70% of the rigs of the characters were automated with a custom written modular auto-rigger. I also wrote a custom roll deformer as the base for the rig of a chrystal that is the main character of the show and spends much of his time rolling around.
As opposed to many other TDs at the Academy I don’t have a BA in IT, which is usually an acceptance criteria according to their homepage, but rather have an artist background. (Although I have a formal education in OOP programming and databases since IT was my main focus in High-School).
I feel like that artist background provides me with valuable hands on insights in the production process that benefits the pipeline decisions i make and the tools i write a lot.
Apropos tools, the reason why I’m writing this is because the guys of Rigging Dojo invited me to do a guest blog post about my attempt at a pose library, called PoseCritter. So enough about me now, let’s move on to something that’s actually interesting 😉
PoseCritter – A database driven pose library
When I started at Filmakademie, I had a short period of time until the production for the FMX trailer started and the animators in my room where just starting the animation blocking phase of their diploma project. Since they were not truly happy with the usability of their MEL based pose library, I thought it would be a great opportunity for me to dive a little deeper into PyQt and try to write a pose library that provides a nice interface and focuses on usability.
There were several criteria I wanted to meet:
I wanted to strictly separate the functionality of the UI from the functionality of the DCC or the database, in an effort to keep the codebase clean and be able to make ports amongst python enabled applications relatively easy.
I wanted to use databases over scene embedded data storage or .xml files. ( Although I don’t think that one is actually better than the other, they all have their advantages and disadvantages).
Ensure a pleasant user experience by a friendly ui and easy accessable and exchangeable data.
Having stated these points, I started programming. For the UI I used QtDesigner and the double inheritance approach for on-the-fly conversion of the xml ui data with uic.loadUiType(). It allows for maximum flexibility, since you don’t always have to convert files with cmd tools like pyuic4 manually. Also I went with using resource files as the base for images and graphics that I used.
To my wondering PyQt doesn’t come with a flow layout which automatically puts any widgets in the next line below, once the parent widgets maximum width is reached, but there are a few implementations that are subclassing from a basic layout to be found online. I needed this as the layout for the pose buttons view.
One decision that is more of a design thing than a science was to use the little purple bugger I had lying around as some sort of identification or mascot for the tool. In order to do something for the usability, I felt like this would be a nice little thing to please the artist with a little color and some happy madness when he opens the tool.
I then started with the database functionality module and created the basic functions to set, get, update and remove data. I used the sqlite3 database module that ships with Python and serialized the data I retrieved from Maya with Python’s pickle module in order to store them in the database.(I think cPickle is the equivalent direct c built-in extension that is a little bit faster). Just as a side note, the ability to serialize data that easy is a really powerful option to store any information on Maya nodes as a string attribute. If you have a lot of (meta)data in Python structures such as lists or dicts that you would like to associate with a node, you can just pickle it and store it in a string attribute. (There are limits to what can be pickled but for much of the usual metadata it should be fine.).
For the actual retrieval of the data from Maya I wrote a maya functionality module. If I was to port the tool to, lets say Houdini, this would be the only module that would needed to be replaced. (Amongst a few tweaks in the main ui module).
Since I started scripting for Maya, I never used anything else than PyMel. Apart from the early days, where some plugins like VRay (up to version 1.5xxx) or Furryball had problems with PyMel, I never encountered any issues. Its object oriented approach using PyNodes, which in addition to wrapping Maya cmds and MEL exposes API functionality in an easy way , is just so comfortable.
The last module that belongs to the tool is the poseButton module. It’s a subclassed QWidget, customized to hold specific objects like a setPose or deletePose button.
One of the things that are most valuable when developing such a tool, from my perspective, is good artist feedback. When you are programming you most probably have a programmers view on the product and sometimes its pretty astonishing how different an artist approaches the interaction with the tool in the daily workflow. Therefor it might be a good idea to involve them as soon as possible, to ensure you are developing something that’s actually of good practical use. For PoseCritter I can say that, although the tool is still in beta and its development is currently on hold, there would be some real show stoppers in it, if there wouldn’t have been animators discovering them while testing it against their production workflows. In theory that can be a total win-win situation since they get a tool which perfectly fits their workflows and you are probably save from a lot of embarrassing mistakes when releasing it to the public 😉 (There are still some total bummers in PoseCritter, remember its still beta and its development currently on hold, but at least I know them know and will fix them when I carry on developing it……….just saying it in case you dare to look at the code :D).
With that, I will conclude my little production report on PoseCritter. I hope you could get something useful from it, if there are any questions or if something is unclear leave a comment below.
You can download the tool and have a look at the code here:
With the release of the latest animated feature “Epic” from Blue Sky Studios, Rigging Dojo brings you an exclusive look behind the scenes on the building a new pipeline for the movie.
Interview: “EPIC” Reworking of Blue Sky Studios pipeline with Marin Petrov
Blue Sky Studios has been around working on making characters and beautiful renders since the industry of computer animation started. We are always excited to talk with artists like Marin who no only do great work they share back with tools or tutorials and grow the community.
I always find it interesting how people got started in to their career since it always is so varied. Can you tell us and our readers a bit about you and your start and path in the industry?
From very young , I have always been interested in all kinds of art but at the same time I have always loved playing with technical things and later on with computers. This imminently lead to experimenting with animation and 3D software. I have always been a self learner and everything I have ever learned was either by myself or by directly going to somebody I knew and asking him questions. I am also not a big fan of the school system and I never “studied” something related to animation in the sense that the society thinks is necessary. If I needed to learn something more on a particular subject I was interested in, I simply read books or attended different university courses and lectures on the subject. Also one of the reasons I don’t like the educational system is that if I was interested in arts , mathematics and music at the same time, I couldn’t study something that deals with all those subjects. And this is why I attended several different university courses , trying to get my hands on subjects I was most interested in.
So at one point I had the skills to do a little short animation project that I used as a demoreel to get into the field. Now looking back into it , the animation looks extremely crappy. I think at that time I was thinking it was good. I also had worked on several projects as freelancer. I was hired by the biggest visual effects company in Bulgaria at that time and started working as generalist on several feature films. From then on , I really learned a lot of things just by working in the field.
Advice on getting hired from outside the US?
Just apply normally as everybody else. If the studio and the team really likes you and wants to get you onboard, they will help you get a work visa if you don’t have such. Sometimes the visa process can take some time before you actually start working.
Was there someone or some studio that really helped guide and mentor you when you were getting started?
Worldwide-FX (Sofia, Bulgaria) is the first big studio I worked at. I developed a lot of knowledge there. Also a coincidence was that I got hired there at the same day as one of the best people I have ever worked with in this industry – Dobri Georgiev (currently a CG sup at WWFX) . From that day we were always sitting next to each other and were working together in solving different problems on improving the pipeline in the studio. I can honestly say I learned a lot from him.
Starting at Blue Sky
I joined Blue Sky Studios at the beginning of 2010. After I sent my demoreel to them at the beginning of 2009 , I got an interview shortly after , but because of the visa process it took almost an year to get onboard. I almost immediately started working on the new pipeline for “Epic”.
Is there an example of something that was heavy on the old rigs that didn’t need to be that way or maybe didn’t need to be in the rig at all?
The only reason to do the rework was the speed issues of the rigs we were having. The rigs had so much potential and flexibility layered that in some cases most of the features were not utilized by animation (for example for a background character) but were slowing the rigs down. So the idea was to simplify the internals without sacrificing the performance of the rig.
Fresh eyes are always great but it can be a challenge dealing with changes to existing established systems. How was it handled and would you have done it differently now that you have the experience to look back on?
One of the reasons it was not that hard is that we started it from scratch without a single line of code used. Some might argue this is a bad thing to do, but I think in this situation it was the best possible solution, because it seemed much harder to modify existing systems than to build one from scratch.
In some situations where there are two valid ideas how do you effectively narrow down that decision process?
Difficult! Most of the time we discuss extensively what would be the best approach, but of course everybody has different opinion about how something should be done. When there are two or more valid decisions and we have time to prototype , try them and evaluate them all , we do it. Most of the times that is not the case because of time constraints and then in discussions everybody tries to come up with good arguments to support his/her idea.
Modular rigging gets a lot of buzz and excitement going but how do you manage those modules once the final rig is built.
Our approach is not exactly 100% modular. We have modular scripts that only install parts , but there is a conglomerate script that combines them and builds everything together. Once it is built, the whole rig is one big package driving the joints and the deformers
You have a great tutorial and example of a spline ik in Maya that can deal with more than 180 twist, you can manage the spine twist via your custom node, 1 vs. 7 or 8 Maya Math nodes. Does this mirror your process and experience trying to streamline the rig system via plugins?
Mostly yes. If something can be achieved via writing a plugin, we are trying to go this way. That minimizes the nodes used in the graph, simplifies debugging (most of the time) and speeds the whole rig (most of the time). For the spine that we currently use I wrote a simple plugin that drives some transforms. It is fairly simple solution and the graph does not look cluttered, making it easier to evaluate and debug.
You mentioned to me that the goal with the new rig system was to keep the same or similar features to the past systems. Was this so that existing assets could be used still or because the animators were just used to the old rig?
Mostly because of how the animators expected the rig to behave. We didn’t want to introduce new features which would slow the rigs down , neither remove existing ones which they liked. That being said, we went to a process of iterating all our rig solutions and replacing them with new ones. Of course at the end we ended with quite a few awesome new features which the animators simply love!
Were there any special considerations for having the of “classic” looking 3d characters and realistic creatures and animals, were the rigs different for them or based on the same system in Epic?
“Epic” is slightly more realistic looking movie and the rigs had to be treated a little differently. Some of the rig components we wrote were more suited for realistic type of characters and we have different solutions for the same body parts for more cartoony style characters.
Can you talk about your approach to bone placement and skinning vs. what you do with corrective shapes or helper bones or some other custom deformer system to make things move nicely.
Every rigger here has his own approach of handling deformations. That is one aspect of our job where the TD decides how to handle a particular case. The only thing that is common is the rig that drives the deformers and the joints, but it is up to you to decide how to achieve the art direction of the character. I personally like to handle as much as possible with the skin deformation and joint placement without using any correctives in the first pass. Once I am in a position where it feels ok, I add a second layer of tweaking with corrective shapes. I almost never use helper bones in our system here, although I had used them before in more realistic characters. I just prefer having as little layers and variables as possible. So for me a skin + correctives is enough. Some colleagues like using helper joints.
How does the Blue Sky team distribute work between Modeling and Rigging and Pipeline? Do the Modelers just model or do they also do deformation for example.
Modeling provides us with a character for which we can give feedback of how the edge flow or the overall topology should be. After it is approved they pretty much don’t get involved in the rigging process. We do the deformations via blendshapes and it is up to the character TD to sculpt them. Also if there is pipeline task strongly connected with our department, we are the ones that handle it. Only if it is something that concerns a lot of departments, then the Production Engineering team or RnD team handles it.
What are your thoughts on finding good TDs to hire, what were you looking for among the reels?
Uniqueness! We are looking to see problems solved in a unique and interesting way.
I was asked this during a panel discussion and really liked the question. What Thoughts or advice would you give to yourself then, knowing what you know now having been through the experience?
Oh I have never looked at my experience from such an angle! I would definitely say something to myself: “Don’t sweat it, just go with the flow. ” But of course now only I know what that means….. saying it to myself… from my future self….. in the present. Erggh.
What would you say the average time spent on the skinning stages are? I know this varies but it is always insightful to compare time spent to finished asset.
This strongly varies on the performance time of your character. If it is a lead character , it takes a lot of time to get it final. We have 3 stages of iteration here and we communicate with animation not only at the end of every stage, but also while working on it. This helps tremendously in knowing what to expect and what to hit. The first step is usually getting the joint placements and the skinning right. We also do some basic blendshapes in the face just to mark them down. At the end of that phase, usually the lead animator assigned for your character, is given some time to evaluate it and give you feedback. In the next stage we try to hit the notes from animation and also add all the correctives and mostly all the blendshapes in the face. Once finished, the animation department have the chance to give you another batch of notes. The third phase is usually the polishing one where we fix all the notes given to us and polish everything. As I said , while working on every stage, you have weekly meetings with animation to discuss your work in progress and maybe give you notes before they get the rig for evaluation. For background characters we pretty much have the same schedules, except that the time in every stage is shorter.
Is there a validation process before a rig fix or update gets pushed out, I am wondering if things change when you get the rig “done” and go in to maintenance mode once animation starts.
Things definitely change once a rig is approved. If you have a note from animation or other department after your rig is finished, then once you fix it and get approval from the leads you can directly push it to the floor. We keep track of every change and version of the rig so it is easy to roll back in emergency situations, but most of the time it is not needed. Very rarely something on the rig interface to animation changes so most of the time the changes are either deformation related or pipeline related.
Do you see any major advancement in rigging for characters in the near future or are the techniques mostly standardized now?
I have been watching closely how the OpenCL / CUDA libraries have been evolving and I think a logical step in our pipeline would be to move some of the calculations to the GPU. Of course that would require a lot of the basic DG nodes to be rewritten to support parallelism.
Any last tips or advice you can give to someone that wants to improve their skills as a TD?
There are no two TDs with the same set of knowledge, some of us are more technical, some of us are more art oriented. Whatever it is, recognize your strengths and weaknesses and work particularly on improving them. If you want to improve your technical skills, read math. If you want to improve your art skills – draw! It is very unique to everybody so my biggest advice is to recognize yourself and your skills. I have to admit that sometimes I get scared from tasks I have no idea how to solve, but you don’t need to be. It is extremely pleasing once you solve them.
What do you feel is missing in current TD skills or reels?
Originality and showing problem solving. Most of the rigging reels look quite the same and there are very few that stand out from the crowd. Aesthetics is also missing in a lot of rigging reels I have seen and this is the basics of our job.
Last question – what book are you reading right now or last finished?
Thank you so much for taking time to talk with us we are looking forward to seeing Epic when it releases.
It was a real pleasure for me too. Thanks.
To find out more about Marin check out his website and the links.
Rigging Dojo is an online training center providing personal and customized character rigging and technical art education. Our services are for artists looking to break into the industry, learn new skills or update existing ones. Our mentors are working industry professionals and are dedicated to training current and future technical artists and riggers to be production ready.