CC Asset Developer Guide
CC Asset Developer Guide
Character Creator assets come in four types each with their own file format: cloth, shoes, accessory, and
hair. A developer can either bring each object into CC individually or batch import several assets at once.
The following files are included with this documentation to help you familiarize with the CC asset creation
system.
Developers are free to use whatever 3D tools they are comfortable with in conjunction with Character
Creator and iClone. Below are some of the tools Reallusion uses internally:
iClone works best at medium level poly count. This means keeping poly count within reason for decent
animation frame-rate while high enough for pre-viz rendering. Here are a few rough estimates:
Character Creator will link external textures whenever possible, for instance, when it's not being generated
procedurally by Appearance Editor. Make sure to embed the external textures to ensure maximum
interoperability.
The link icon represents a read-in texture. Embed Texture → The maps are now embedded in the project.
2 Body Templates
Developers should use either the male or female body model as a guide ( found under Source Files/CC
Base Body ). Assets should be designed to fit the pose at frame 0 in the time-line. Joint orientations, foot
contacts, and hand contacts should also be adjusted at frame 0. The Base Body Template should always
be prefixed with “CC_Base_”, and during export should not possess any changes to the nomenclature.
Name spaces are also prohibited.
A change in hierarchy or naming of the Body Template will cause CC importer to fail.
In some circumstances, one may want to use the neutral base model which is a gender-less body. This is
useful for assets that don't need to conform to very gender specific body shapes like breasts, enlarged hips,
upper body muscle tone, etc. Assets such as these can include certain uni-sex clothing, uni-sex hair styles,
etc. Under rare circumstances, one may want to design assets for a certain body type. If this is the case,
one should export a body template directly from CC after the morphs have been applied.
Developers who have purchased the Pipeline version of Character Creator are encouraged to directly
export the body template from the application via File > Export to Fbx > Clothed Character.
Delete Hidden Mesh will remove any faces that are hidden by
the Edit Mesh Mode. Always disabled this option when creating
the standard character body template.
A fbxkey file will also be created by the exporter. This is the Decrypt
Key file required when bringing the same character back into
Character Creator, therefore avoid deleting it. An additional fbm
folder will be created when the fbx is used in a 3rd party 3D
application. This folder will contain all the textures that were
embedded with the fbx file and unpacked as a result of the import.
Do not delete the fbxkey file. You may need it later for Character Creator.
3 Clothing Creation
Items that are bound to the bone weights, usable with Appearance Editor, influenced by Conform Clothing,
and saved in the .ccCloth format fall under the Cloth category.
Attempt to mirror the edge flow of the body mesh for the breasts, crotch, shoulders, elbows, knees, and
armpits because these areas are very malleable when animated. Cloth that will have soft-cloth applications
do well with evenly spaced grid-like mesh and generally have higher mesh density than their stiff
counterparts.
Skin tight clothing, such as this tube top, should have The bottom of the this skirt has more grid-like,
similar edge flow to the underlying body. denser mesh which is suitable for soft-cloth physics.
Keep the following tips in mind when creating the low poly mesh:
• When making a set of outfit make sure the meshes do not intersect at the static model level.
• Tight fitting clothing should have similar topology flow to the body to support deformations.
• Attaching the suffix “Mesh” to every asset name is recommended for prevent naming conflicts.
3.03 Edge Folds
The open borders of a garment (collar, hem, cuff, etc.) need to have a slight thickness and, may at times,
need a double sided thickness. Soft-cloth portions of a cloth should only have one-sided geometry and its
rendering method set to double-sided inside iClone.
The waist of the skirt is double sided thick in case The hem of this skirt is single-sided thin, ideal for soft-
there is spacing between it and the body. cloth settings.
Form fitting clothing, like this tube top, needs only a A) Single-sided thin. B) Single-sided thick.
single-sided thickness that hugs the body. C) Double-sided thick. D) Avoid double-sided thin.
A Soft-cloth portion of a geometry with thickness will tend to unfold creating an “inside out” effect. See
section 3.12 for more information on Soft-cloth dynamics.
3.04 Buffer Space
Try to leave a bit of distance between the garment and the skin surface to prevent mesh penetration
caused by morphing.
At default proportions everything Problems appear when the “Heavy” Areas with penetration problems
looks fine. morph is maxed. need to have a buffer distance.
Developers can choose to use the Mesh Edit Mode under the Modify panel inside CC to pull out
problematic areas of the mesh. However do not rely on this technique for drastic changes to the shape of
the clothing as drastic edits can lead to problems with the skinning and animation.
Try to use the lowest acceptable resolution settings for the texture maps. At its essence, iClone is a real-
time animation software where frames per second should be given special consideration.
UV spacing will always be re-sized to a square format, however the aspect ratio of the texture maps can
either be 1:1 or 2:1. The maximum, preferred size for texture maps are 2048x2048 or 2048x1024.
Always strive to use 1:1 aspect ratio 2:1 aspect ratio maps are suitable for instances where the UVs do not
texture maps. pack tightly into a 1:1 aspect ratio space.
Strive to match UV seams with physical seams for better visual quality. When generating the normals map,
pick one side of the UV seam, avoid crossing over multiple UV islands.
Shoulder seam on the jacket. UV seam matches the shoulder seam of the jacket normals map.
Garments inside CC use the Dynamic Appearance system powered by Allegorithmic Substance material.
This procedural generation system have strict UV requirements. Developers should use a variety of texture
maps to test for UV layout compatibility ( found inside Assets/UV Maps folder ).
Comprehensive UV Horizontal stripes used for Vertical stripes used for Polka dots used for testing
checker for general testing Substance testing Substance vertical Substance pattern
purpose applications. horizontal plaid layout. plaid layout. uniformity and layout.
The UV orientation should be upright and uniform when the garment is viewed from the front. Slanted
and/or warped UVs should be avoided.
Avoid divergent UV Avoid slanted, rotated UV Avoid warped, disorderly Make sure UVs are
density. Islands. UVs. correctly oriented.
Strive for upright, uniform Make sure to test for Make sure to test for Make sure to test for
UVs. horizontal stripes. vertical stripes. repeat patterns.
3.07 High Poly Sculpting (Optional)
Projecting detail from a high poly to its low poly version is the preferred method for generating texture
maps. In-depth knowledge of high poly sculpting is required. Avoid modeling fabric details into the high
poly sculpt, instead adjust the Appearance Editor inside CC to generate this level of detail procedurally.
Sculpting broad wrinkles, embroidery, and seams is encouraged. Below are some does and don'ts of high-
poly sculpting.
Avoid distortions. Do not sculpt fabric details. Do not sculpt micro wrinkles.
Strive for accurate bevels. It's okay to sculpt macro details. Try to cover all angles.
Never use a high-poly mesh inside CC or iClone. Use a low-poly retopology instead.
3.08 Texture Maps
Texture maps can either be in 1:1 or 2:1 aspect ratios, must be in power of 2 (64, 128, 256, 512, etc.), and
may not exceed 2048x2048 in resolution. CC Cloth dynamic materials use 3 types of source textures to
generate a myriad of visual possibilities, they are the following:
Normal and World Space Normal maps should have coordinate swizzle of X+ Y+ Z+.
CC Cloth dynamic materials uses a 7 channel color mask to greatly enhance it's visual appearance.
Developers will need to create this type of mask by manually painting with pure color values.
RGB-CYMK color mask for the skirt. Color masks allow for multiple materials.
Color mask can also be used to colorize different regions of the garment using the same textile type. For
more information on texturing in CC refer to sec 2.11 Appearance Editor.
3.09 Material Settings
Every 3D software handles material settings differently, therefore, it is sometimes impossible to have the
values correspond correctly with CC. Generally, one should use whatever is available on the Phong
material system. Refer to the chart below as a starting point for the material settings:
Material Attribute RBG Value (0 - 255) RGB Value (0 - 1.0) Value ( 0 - 100) Value ( 0 - 1)
Diffuse Color 255 - 255 - 255 1.0 - 1.0 - 1.0 100 1
Ambient Color 150 - 150 - 150 0.6 - 0.6 - 0.6 59 0.6
Specular Color 255 - 255 - 255 1.0 - 1.0 - 1.0 100 1
Specular Level / Roll Off 26 - 26 -26 0.1 - 0.1 -0.1 10 0.1
Glossiness / Cosine Power 26 - 26 -26 0.1 - 0.1 -0.1 10 0.1
For the best results copy the skin weights from the base body to the garment as a starting point (like Maya
Copy Skin Weights or 3ds Max Skin Wrap). Always bind the garment to the skeleton at frame 0 and
make sure to bind the entire skeleton hierarchy before copying the weights. When modifying skin weights,
it is paramount to exclude all “Nub” bones from the influence list.
Simple skin weight applications have many Copying skin weights can provide a fast and
intersection issues at default settings. satisfactory solution.
Copying weights can also cause other issues such as The copied skin weights will sometimes need manual
the stretching in middle of this skirt. readjustments.
Always max skin influences and copy weights by name association for best results.
3.11 Cloth Appearance Editor
The most compatible CC cloth rely on Appearance Editor for texturing. Cloth Appearance Editor breaks
down into five main parts ( shoes use the same texturing system ):
Input Maps Provides input for normal, world-space normal, Color / RGB mask, and ambient occlusion
maps. It has a few ways to adjust the contribution of these maps and a handy diagnostic tool to
view the input textures.
Fabric Provides ways to procedurally render a select few types of fabric textures. The regions that mix
materials occupy are dictated by a seven channel Color: RGB-CYMK Mask input. The Base
Fabric / Black portions of the mask is the default fabric layer. Cloth fabric can support up to
seven different regions and types.
Pattern Possesses one universal plaid generator and three layers of pattern generators. Plaid
generator can also be used to make striped patterns. Plaid and Pattern opacity is controlled in
the Fabric category.
Decal Provides options to add surface level details on top the cloth fabric such as patches, pockets,
stickers, etc. Decal positioning is along the horizontal and vertical axis of the UV space. There
are three decal layers each one progressively layered on the other.
Effect Supports a set of weathering effects such as discoloration, tearing, aging, dirt, and holes. The
three discoloration channels along with Tearing requires gray-scale mask inputs while the rest
are procedurally generated.
The myriad of settings and their usage for Cloth Appearance Editor is beyond the scope of this guide.
Developers are encouraged to experiment with all aspects of the editor to get a handle on all its offerings.
Appearance Editor relies on the Plaid generator can create tartan Pattern is great for creating repeat
input maps to create certain effects. and stripe patterns. images. Supports randomization.
Appearance Editor settings will bake into textures when the character is exported
Some mesh shapes will have structural integrity issues with soft-cloth physics, below are some examples:
Hard surfaces such as Separated surfaces will Concave shapes such as Tubular shapes such as
buttons will 'melt' and lose surely intersect or fall this coat pocket will turn laces, braids, etc. will
their form. apart. inside out. flatten out.
Soft-cloth intersections can be fixed by adjusting the collision shapes of the body.
1) Apply the newly created clothing to a character and apply a cloth physics weight map.
2) Export the whole character into iClone and adjust the cloth physics settings.
3) Apply a test motion and adjust the physics collision settings on the character wherever needed.
4 Shoes Creation
A pair of shoes count as one single model and should be combined and skinned as such. The way to
create shoes is similar to creating any other piece of clothing, however shoes have their own .ccShoes
format. There are also some additional things to be aware of such as floor contacts and foot binding
position. For information on modeling and texturing shoes refer to sec. 3.0 Cloth Creation.
For flat soled shoes the foot does not need to be posed, however in the case one is creating raised shoes
such as high heels, then the foot needs to be positioned to fit. The ankle can be angled by rotating
CC_Base_L_Foot and CC_Base_R_Foot bone, the toes can be angled together by rotating
CC_Base_L_ToeBase and CC_Base_R_ToeBase bone. These rotations should be done at frame 0.
At default the foot sticks out through the shoes. The angle of the toes and ankles now conform.
It is perfectly normal for the feet to stick through the floor plane in the 3D view. Do not at any
circumstances, move the body upward or downward to compensate for the floor plane.
Floor contacts should be adjusted in Character Creator by activating Adjust Contact Points under Modify
> Edit. Move the points to correspond with the tip of the toes, ball of the feet, and back of the heels.
4.03 General Work-flow
5 Accessory Creation
Any hard object that does not need to conform to the body and carries with it its own set of material and
textures without the assistance of Appearance Editor is considered an accessory. Piercings, glasses, hats
fall under this category. Of all the asset types, accessories are the most straightforward to create, however
keep the following points in mind:
• Accessories can carry bones but may not be bound to the bones of the body.
• An accessory requires a parent bone to be recognized as such.
• Accessories should carry their own custom textures and materials (no Appearance Editor).
Here the glasses mesh is parented to the head bone. Once inside CC, it is recognized as an accessory.
The bone that the accessory is attached to is the one that dictates it's transformations. It is essential have
the accessory attached to the right bone in the skeleton hierarchy.
iClone currently does not have a real fur and hair solution, so all hair is made of geometry. There are two
types of hair systems in iClone, the Conforming and Spring type (using Spring and Cloth dynamics
together on the same mesh is often problematic). This guide will focus only on Conforming Hair.
Conforming Hair
• Will conform to the shape of the head.
• Can use Soft-cloth physics.
Spring Hair
• Will not conform to the shape of the head.
• Carries its own bones.
• Relies on Spring bone dynamics.
The hair mesh consist of the scalp and hair strips around it and they each have their own materials with
their set of UVs and textures. The hair mesh is designated as such in CC by its name, therefore always
have it named RL_HairMesh. For the sake of clarity prefix the two hair materials with Hair, for instance,
'Hair_Scalp' and 'Hair_Strips'.
Always name the hair mesh as RL_HairMesh else CC will fail to recognize it.
Model the scalp first by copying portions of the Base Model head mesh and scaling outwards to cover the
base mesh. Keep a few things in mind while creating the hair strips:
• Plan out the hair strips in layer groupings, for instance inner, middle, and outer groupings.
• Always plug the hair strip into the scalp mesh, do not 'float' the strips.
• Leave a small gap between each strip as to prevent problems with dynamic collisions.
• Create a unique strip for a grouping. UV and duplicated it around the head to save time.
• Work from the inside to the outside layer while keeping a small space between the layers.
• The inside layers should have thicker strips while the outer layers have thinner strips.
• The root of the hair strip can have more divisions to support a nice rounded bend.
The scalp serves as a backdrop for Hair strips should be added in a There are a total of 6 layers in this
the hair. layered fashion. example making a 'fuller' look.
Once the scalp and the hair strips are made combine the pieces together starting from the scalp and
attaching one layer at a time from the inside to the outside. This is so to prevent opacity layer disorder in
DirectX 9 (this visual phenomenon does not occur in DirectX 11 and above).
Avoid exceeding 10,000 quad poly count, otherwise performance may suffer.
6.02 Painting Hair
The rightly configured paint brushes will greatly enhance and ease the work-flow when it comes to texturing
the hair and scalp. Generally one would need at least two types of brushes, one for the hair strips and one
for the hair scalp. The hair strips need very thin stringy brush while the hair scalp needs a fan brush
capable of feathering out several short strands at a time. The following examples were done in Photoshop:
Hair strip strands are crisp and sharp. Hair scalp is feathered and blurred.
The hair scalp is a build up of different layers, starting from a shaded fuzzy base:
Inner layer of hair strips can be more dense while the outer layers can have a more sparse opacity. For the
hair strands build up the layers towards a balance between orderly and erratic:
Sample Photoshop hair scalp and strand brushes can be found in Source Files / Hair Brushes.
6.03 Hair Strip UV and Texture Mapping
Hair strip UVs should be laid out in a orderly fashion, vertically upright, and with at least 10 pixels buffer
distance between each UV island. Overlay similar strips together in the same area to reuse the texture
space and soft-cloth gradient. Hair strips material has diffuse, bump, specular, opacity, RGB mask, and
physics weight input.
Diffuse map should have a colored Opacity map should have sharp Specular map should have the
backdrop to provide a matte for outlines and high contrast for better same opacity cutout to prevent
transparency. performance. shiny edges.
Bump map should be derived from RGB mask separates the hair into Physics weight map should have at
a gray (RGB: 128-128-128) color regions useful for adjusting least 10 pixels of pure black (RGB:
backdrop. hue, saturation, and lightness. 0-0-0) from the hair root.
Hair strips are grouped according to Here the 12 different hair strip The final look with every input
look and physics settings to appearances combine together for texture and material adjusted inside
economize on UV spacing. one coherent look. Character Creator.
6.04 Scalp UV and Texture Mapping
Scalp UV should be evenly laid out. The scalp should not have soft-cloth dynamics. Hair strips material
has diffuse, bump, specular, opacity, RGB mask, and Physics map input. Hair scalp material has
diffuse, bump, specular, opacity, and RGB mask input.
Diffuse map should be darker than Opacity map should have slightly Specular map needs the same
the diffuse map for the hair strips blurred edges to smoothly blend cutout as the opacity map to
creating an occluded effect. into the head underneath. prevent shiny edges.
Bump map should not have values In this example the scalp has a pure Pay attention to how the scalp
less than gray (RGB:128-128-128) red color so it will always match the blends in with the rest of the head
as the hair do not 'dig' in. HSL of the primary hair layer. for a smooth natural look.
Because the hair can have upwards of 11 texture maps, the performance inside iClone can be negatively
impacted. Therefore, do control the resolution and color space of the hair textures:
Texture Type Color Space Hair Strips Resolutions Hair Scalp Resolutions
Diffuse RGB 256x256 → 1024x1024 128x128 → 512x512
Specular Greyscale 256x256 – 512x512 128x128 → 512x512
Bump Greyscale 512x512 – 1024x1024 256x256 → 1024x1024
Opacity Greyscale 512x512 – 1024x1024 256x256 → 1024x1024
Color mask RGB 256x256 8x8 → 256x256
Physics mask Greyscale 512x512 Not Applicable
6.06 Skin Binding
Once the hair mesh is completed, make sure the hair mesh pivot is aligned with the CC_Base_Head bone.
Try to have the hair mesh skin bound to as few bones as possible. In the case of hair shorter than shoulder
length, having the entire mesh skinned to the CC_Base_Head bone is sufficient. Normally the skin weights
will not exceed beyond the head, spine01, and spine02 bones. Not all bones in the skeleton is
appropriate for the hair, below is a list of the compatible bones:
Various 3D applications will have their way of pruning skin weights to zero such as Maya's Component
Editor and Max's Weight Table. Having soft-cloth physics with collision shapes to override the skin
binding is highly recommended for long hair.
Remember that portions of the hair with strong soft-cloth influence will become 'limp', exaggerating the hair
style at the points where the physics has the strongest influence can mitigate this effect to an extent. The
hair strip should not intersect with the body mesh, otherwise the collisions will miscalculate.
Hair pieces can 'fall through' if the If the soft-cloth weight map is too Keep tweaking the soft-cloth weight
soft-cloth weight map is not rooted. bright the hair can go limp. map to perfect the hair physics.
6.08 Hair Appearance Editor
The most compatible CC hair rely on Appearance Editor for texturing. Hair Appearance Editor breaks
down into five main parts including four adjustment layers:
Input Only has input for diffuse, specular, and RGB mask. The Color / RGB mask demarcate
the regions for the base, primary, secondary, and tertiary values.
Base This layer is always on by default and its regions are set by any color that is not pure
red, green, or blue. Only the Base layer does not have opacity or blending options.
Primary ( Red ) This layer will only render on pure red regions of the RGB Mask ( RGB: 255-0-0 ). The
red layer will cover the base layer.
Secondary ( Green ) This layer will only render on pure green regions of the RGB Mask ( RGB: 0-255-0 ).
The green layer will cover the base and red layers.
Tertiary ( Blue ) This layer will only render on pure blue regions of the RGB Mask ( RGB: 0-0-255 ). The
blue layer will cover all of the other layers.
RGB layers can be used to dye If the RGB Mask is left empty then Each RGB layer can be used to
regions of the hair up to four the hair rendering is controlled by adjust the diffuse and specular
different colors. the base layer. appearance.
The myriad of settings and their usage for Hair Appearance Editor is beyond the scope of this guide.
Developers are encouraged to experiment with all aspects of the editor to get a handle on all its offerings.
Differences in topology will often cause the body to intersect with the garment under some unforeseen
circumstances, even if the skin weights match up perfectly. The best solution under these situations is to
hide the portions of the mesh that lie directly beneath the garment.
Some intersection problems can not be fixed by Good skinning along with the ability to hide the mesh
tweaking the skin weights alone. underneath provides the ideal solution.
By far the quickest and most convenient way to hide mesh is to use CC's native Mesh selection feature
under the Modify panel.
Access the Show/Hide feature under the Mesh While the Mesh Selection mode is active the wireframe
Selection mode. will appear to provide visibility.
Developers can decide to export each asset individually or batch export a set of diverse assets at the same
time. Whichever way one decides, always export the base body along with its skeleton and the bound or
parented asset(s) into a FBX file. Any missing items from the base body will cause a critical error and
failure to import.
G6 Base Body
CC_Base_Body CC_Base_Tongue CC_Base_Teeth CC_Base_Base_Eyes CC_Base_Hip*
*Select the hip bone to export the entire skeleton hierarchy.
Once an FBX file is imported or dragged into CC, a couple of dialog windows will pop up one after another:
The first Create Asset(s) window requires the Decrypt Key File. This
FbxKey file will contain DRM information along with bone transformation
related data.
In the event of a critical error, read the Error Messages to diagnose the problems.
If there are no critical errors then one can start to set the asset Type, and collision Level. CC will
automatically assign a Type while the Level will default to “1”. Always double check the Type because
auto-detection in CC can make mistakes. Do set the Level so that cloth ordering does not clash.
8.02 Collision Level Assignment
Character Creator supports 22 collision layers for assets. Broadly speaking there are 3 main categories:
Cloth, Gloves, and Shoes. Cloth has 3 subcategories: Upper Body, Lower Body, and Accessories. Collision
layer assignment will not fix intersecting geometry at the default state. It does however, come into effect
when calculating collisions with the Conform Clothing tool and upon loading. Use the layer table and
examples below for reference:
Use the Edit Motion Layer tool to Use Calibration to apply an instant Drag & drop an iMotion file. Only
adjust the IK controls. pose from its library. the first frame will be used.
1. Browse to the appropriate content category by using the Quick Selection Panel.
2. Select the asset in the 3D viewport.
3. Press the + button under the Content Panel to save out the content and name the asset.
Technically, content can be saved under any category, however for the sake of organization, developers
should be familiar with the Quick Selection Panel. The selected item in the 3D viewport will save to the
Custom section of the active category.
The imported Base Body should be discarded once the assets have been saved.
Once a CC asset is saved, the textures are embedded with the asset. If one creating an entire character, it
is best to create or reload a new character in CC, reapply the clothing and accessories, and save it out in
iAvatar format or save a ccProject file.