Character pipeline overview
The folder structure:
At first sight this might look like a complicated structure, but it actually isn’t. Let’s look at the elements of the structure, which are based on a few variables:
- $character: The name of the character.
- $type: The type of character corresponding to the stage of production within the project. If you’re going to use the resulting rig in layout scenes, then the type variable would be “layout”. If there are no needs for different types, then the “anim” path is the only one used.
- $data: The elemental bricks which once put together contribute to the final rig.
- $part: Used to differentiate the parts of the character. Usually the body and the head. Sometimes a character rig might not have a separate “head” per se (the head is included in the body rig), then the “body” path is the only one used.
- $variation: The multiple variations of the character, like a version with an armor, or a specific state of its usual garb. If there are no variations, then the “casual” path is the only one used.
Note: All the directories have a similar structure, even though only one level is shown on this chart.
The advantages of using this structure template is that when you have to create or rebuild a character, you don’t have to wonder where to put what element. You just have to put your file in the corresponding folder and the setup script will automatically find the existing elements.
The setup script:
The setup script automatically finds the existing files at the end of each path and enables the corresponding buttons on the UI. In the example above you can see that I haven’t saved any weights for the character’s head, so the button to restore those weights is disabled.
On the right-hand column, you can see the “publish” section. When a skeleton is finalized, I select the nodes in the outliner and click on the “Publish Body Skeleton” button. My selection is then exported directly in the right place and named accordingly (note that a timestamped backup is created, in case of a mistake).
The important thing to stress here is that the sourcing of the various build scripts is dynamic, meaning that it’s based on whether or not the scripts exist in their expected locations. This means that you can use the same unique setup script (like the one used to display the UI above) to create any number of characters, as long as you follow the same template rules (paths, names, etc…).