This post is the first of a series (hopefully) of posts regarding creating your own Custom Character Templates in C4D.

PART 1: Introduction and Overview

To start, we will be focusing on a broad overview of the Component Tag and the various tabs found in there.

Before we get too far, I want to explain a bit about the Character Object and the template system. First, let’s get some terminology clear:

Character Object: Not too difficult to understand. This is the actual object you create to use your template creations. It’s job is to interpret template files, and create the components defined in the template file.

Template: A template is a file that gets saved in the user prefs>characters folder, that contains everything necessary to communicate with the Character Object. A template file will have Components defined using the Component Tag. The Adv. Biped is a template that contains components to build a rig.

Components: A component is a preset object/setup. They can be anything really, but when referring to a component, it means a complete preset/setup. The Adv. Biped template has many components, for example: Spine, IK/FK Leg, IK/FK Leg(Bendy Setup) and many more. The Spine component contains all the objects necessary to build that component(a spine rig).

Component Tag: This tag is how Components are defined inside of a template file.

The Character Object/Component Tag/Templates are most often referred to as an auto-rigger. That’s not incorrect, given that all of the examples provided pertain to rigs and that the system is in fact catered more specifically to rigs. But a better way to think about the system as a whole, is more of a powerful preset library. This system is not limited to only rigs, it can be used for a variety of things. If you have objects or setups you want to use and reuse, you could use this system much like you might the Content Browser. However it can have a few other benefits vs. traditional presets:

  1. Management and Use-A template can contain as many or as few components are you want, which make it easier to group, manage, and use related components.

  2. Display-By default when a component is build, it creates a “Component Object” in the Object Manager, which is a single object. Internally, it keeps all objects necessary for creating the component, but by default, it uses these Component Objects and therefor tidies up your Object Manager.

  3. Controls-The Character Object displays all user data for a Component in a single tab, making it easier to access when spread across multiple objects.

There are more benefits, but many of them pertain more specifically to rigs. But enough of this stuff, let’s talk about creating your own template.

To create your own Template you must do a couple of things:

  1. Add a Component Tag to your Object and set it’s type to Character(We will look more in depth at these later).

  2. Save the Template by choosing Character>Character Builder>Save Character Template As.

Once you do that, if you create a Character Object, you should see your Template as a choice within the drop down list of templates. Technically speaking, you don’t have to do Step 1 to get it to show up in the drop down list, but in order for your components to show up to build when you choose your template, they must reside as a child of the object with the Component Tag set to Character. So you need to have a “Character” Component tag on an Object, and all subsequent components(ie the elements of the component and the object with the Component Tag) should all reside underneath the object with the “Character” Component tag.

To create your own Component, Add a Component Tag to an object. Immediately, you’re met with a lot of options in the Attribute Manager and it can seem very daunting.

Here’s a basic overview of each Tab and it’s purpose:

Basic: The usual as seen elsewhere in CINEMA.

Tag: This is where you specify what type of Component you are creating. Depending on what you choose it will offer more options like Name, User Data etc.

Insertion: The Insertion Tab controls when this Component can be created when building via the Character Object, and where this component should be placed within the hierarchy/Object Manager. You set up “Insertion Rules” for when this component can be created and where.

Mirroring: Controls how to Mirror your component if needed. For example, you can create only one side of a rig/preset such as an Arm, and define in this tab how to properly mirror the component, making it so you only have to do the work once.

Include: This tab is where you define what objects comprise this component. Anything related to a Component or needed for a component to work should be added into this tab.

Materials: If your rig/preset requires certain materials to be brought in when built, you can add them in here.

Layers: This tab allows you to choose which layers are included or excluded from the template file, allowing you to use Layers for managing the template file itself, but not when built.

Selection: The Character object internally creates Keyframe Selection Sets per component. This makes it easy to keyframe on only the Arm controllers for instance. This tab is where you define which objects should be a part of the Selection Set.

Bind: Here is where you define which joints/objects should be used to bind an object. You bind an object by switching the Character Object to the Binding tab and adding meshes. This will add a Weight Tag with all the objects in this tab to the weight tag and auto-weight your mesh.

Adjustments: This is the bread and butter of the system. By setting up your component properly, it will allow it to be manipulated in Adjust mode of the character object making it so your Component can fit any size and shape. In here you can define what objects can be used as Handles for adjusting, and how everything else in the Component should follow these handles. We will spend lots of time here later on.

Hotspots: This is where you can set up all the links to later use for Visual Selector or for the Hotspots tab of the Character Object, which are buttons to select controllers.

Notes: A place for notes about the Component

Animate: This is where you can define certain Expressions to be disabled in all Character Object Modes EXCEPT for Animate mode. Can be useful for dealing with Dynamics.

Walk: This is where you can define how your component should interact with CMotion.

Python: The Python tab gives you a great deal of flexibility to add custom functions and behaviors during the building and adjusting phases of the Character object.

 Advanced: The Advanced tab displays very important information that may be useful for debugging but should seldom need to be altered. Each Component tag includes an auto-generated unique identifier which is used to track the related template component for each element within a Character object. The Identifier can be manually specified in order to indicate that a new Component tag replaces one that previously existed in the template (with the same Identifier). If you adjust these attributes incorrectly, Character objects derived from the template may not update properly when the template changes.

So that is a lot of information to take in. I’ll stop here for now and let you process this. In later posts, we will go through each tab and it’s settings and talk about what does what and work on building a component in your own template.  If you’re really itching to get going you can check out a rough video I made here that covers the process of creating a custom template/component from an existing rig.

Leave a Reply