Difference between revisions of "Content Dev:CC Morph Creation"

From Reallusion Wiki!
Jump to: navigation, search
m (Finalized Morph Slider)
m (Creating the neutral figure)
 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
{{TOC}}
 
{{TOC}}
 
+
{{Parent|Content_Dev:CC_Avatar|CC Avatar}}
{{Parent|Content_Development#CC_Avatar|CC Avatar}}
+
  
 
== Starting Out ==
 
== Starting Out ==
Line 7: Line 6:
 
=== Creating the neutral figure ===
 
=== Creating the neutral figure ===
  
Character Creator (CC) does not provide a neutral body shape. This is inconvenient because morph targets should be derived from a neutral form without the interference of other morph shapes. Starting from a neutral body gives the morph target the most flexibility when it comes to mix and matching with other morph shapes.
+
Morph targets should be derived from a neutral form without the interference of other morph shapes, so starting from a neutral body gives the morph target the most flexibility when it comes to mix and matching with other morph shapes.
  
 
Reallusion provides the neutral body shape at [http://wiki.reallusion.com/Content_Dev:CC_Asset_Provision#Avatar_Templates|Avatar Templates] or you can make your own:
 
Reallusion provides the neutral body shape at [http://wiki.reallusion.com/Content_Dev:CC_Asset_Provision#Avatar_Templates|Avatar Templates] or you can make your own:
  
 
#Open CC and proceed to delete all the clothing on the default figure.
 
#Open CC and proceed to delete all the clothing on the default figure.
#Select Currently Used under Modify > Morphs and click on the Reset button near the bottom of the panel.
+
#Select '''Currently Used''' under '''Modify > Morphs''' and click on the '''Reset''' button near the bottom of the panel.
#Click on Appearance > Activate Appearance Editor to edit the body textures.
+
#Click on '''Appearance > Activate Appearance Editor''' to edit the body textures.
 
#For every Appearance Editor setting, double-click on the label to reset the parameter.
 
#For every Appearance Editor setting, double-click on the label to reset the parameter.
 
#Now you have the neutral template complete, save the Project for later reuse.
 
#Now you have the neutral template complete, save the Project for later reuse.
Line 170: Line 169:
  
 
By the end of these steps, one should have a complete morph slider that takes into account the eyeball and teeth size and positioning.  One also has the handy Substance presets that can be reapplied when the morph is activated.
 
By the end of these steps, one should have a complete morph slider that takes into account the eyeball and teeth size and positioning.  One also has the handy Substance presets that can be reapplied when the morph is activated.
 +
 +
{{Single_Illustration|Morph_Creation_Final_2.png}}
 +
 +
Note:
 +
 +
*You can save out other Substance material preset if you have done some work to customize the textures.
 +
 +
== Common Problems ==
 +
 +
=== Partial Blinks and Squints ===
 +
 +
If the eyes have been enlarged then it is likely that the blinks do not close all the way even when maxed out and that the squints are overly subtle.  The following eye morphs are the usual culprits:
 +
 +
{| class="wikitable"|Eyes Blink|Eye Blink L|Eye Blink R|Eye Squint L|Eye Squint R|}
 +
 +
{{Single_Illustration|Morph_Creation_Blink_Problem.png|Even at a 100%, the Eyes Blink only reach part of the way for the enlarged eyes.}}
 +
 +
The following fix will require 3DXchange, for more information see [https://www.reallusion.com/iclone/pipeline.html here].
 +
 +
#Open up 3DXchange and load the iAvatar.
 +
#Select '''Modify > Face Setup > Morph List > CC_Base_Body > Eyes Blink''' (you should see that the characters eyes have partially closed).
 +
#Click on '''Morph List > Export''' button to export the morph shape in OBJ format.
 +
#Do the same for '''Eye Blink L''', '''Eye Blink R''', '''Eye Squint L''', and '''Eye Squint R'''.
 +
#Open all of the morphs in a third party 3D application and proceed to fix each one by closing the blinks all the way and exaggerating the overly subtle eye squints.
 +
#Export each corrective mesh with proper names for better organization.
 +
#Back inside 3DXchange with the character still loaded, select the problem morphs under the '''Morph List''' and perform '''Replace''' to import the respective modified meshes.
 +
#Open the '''Expression Editor''' and go to each problematic morph under the '''Muscle''' tab and zero out the old slider and max out the slider for the newly imported corrective shape.  Press the '''Set''' button when done  or toggle on the '''Auto''' key function.
 +
#Once all of the problematic shapes have been replaced with the corrective shapes, export the fixed character as an iAvatar file.
 +
#Test out the new morph shapes by using the '''Face Puppet''' tool in iClone.
 +
 +
You should use the fixed iAvatar file to perform your animations in iClone.
 +
 +
{{Single_Illustration|Morph_Creation_Eyelid_Corrections.png|Corrections have been made for the blinks and squints.}}
 +
 +
{{Single_Illustration|Morph_Creation_Blink_Fix.png|Being able to blink would also put a smile on my face.}}
 +
 +
Note:
 +
 +
*Select the '''CC_Base_Eye''' under the '''Scene Tree''' to the left and press '''Modify > Replace Mesh (V) > Export Mesh''' to create an eyeballs reference OBJ file.
 +
*For really large eyes, you can pull the lower eyelids upward to meet the upper eyelids in the middle as there might not be enough mesh in the upper eyelids to pull it over the entire eyeball.
 +
*Do not mistakenly use '''Modify > Head Morph > Export Model''' as this will only export the default head shape.
 +
*You can choose to fix other morph shapes if you like.
 +
 +
=== Normals Defect ===
 +
 +
With wildly dissimilar shapes, normals defects may occur after the morph is applied to the neutral body.  This is because the normals have not been updated to suit the new morph shape.  A simple fix would be to just export the normal map from CC and make corrections to it in an image editor like Photoshop.  A more complete fix would be to:
 +
 +
#Extract the normal maps from the custom morph shape.  The normal map parts may include the head, body, fingernails, and toenails.
 +
#With the character loaded inside CC, click on the '''Modify > Material > Material List > CC_Base_Body > Skin_Body'''.
 +
#Replace the '''Texture Settings (Y) > Normal''' with the new normals map for the body.
 +
#Do the same for the other normal maps that was derived from the morph shape and save the project when finished.
 +
 +
{{Single_Illustration|Morph_Creation_Ear_Normals.png|Once the new normals are loaded, the normals defects on the ears are also fixed.}}
 +
 +
{{Single_Illustration|Morph_Creation_Body_Normals.png|Besides fixing defects, the custom normals can have different characteristics from the neutral body normals.}}
 +
 +
=== Bone & Morph Shape Mismatch ===
 +
 +
{{Text_Block|Distortions in character animations is likely caused by the mismatch of the bone positionings and the morphed mesh,  Unfortunately, the best fix for this problem is prevention because, by the time you notice this problem, it might be too late for a simple fix.  In many cases, you'll have to recreate the character and pay very careful attention to have the skeletal structure perfect before proceeding to create the morph shape.}}
 +
 +
{{Single_Illustration|Morph_Creation_Bone_Mismatch.png}}
 +
 +
 +
When creating or recreating the morph shapes make sure to adhere to the following dos and don'ts:
 +
 +
{{Triple_Illustration|Morph_Creation_DoDonts_01.png|Don't place the joints beyond the bounds of the mesh.||Morph_Creation_DoDonts_02.png|Don't misalign the joints of the mesh with the skeleton.||Morph_Creation_DoDonts_03.png|Do keep the mesh and the joints of the skeleton aligned.}}

Latest revision as of 23:00, 29 August 2017

Main article: CC Avatar.

Starting Out

Creating the neutral figure

Morph targets should be derived from a neutral form without the interference of other morph shapes, so starting from a neutral body gives the morph target the most flexibility when it comes to mix and matching with other morph shapes.

Reallusion provides the neutral body shape at Templates or you can make your own:

  1. Open CC and proceed to delete all the clothing on the default figure.
  2. Select Currently Used under Modify > Morphs and click on the Reset button near the bottom of the panel.
  3. Click on Appearance > Activate Appearance Editor to edit the body textures.
  4. For every Appearance Editor setting, double-click on the label to reset the parameter.
  5. Now you have the neutral template complete, save the Project for later reuse.
Neutral body should be devoid of morphs and customizations in the Appearance Editor.

Note:

  • Wiping out the Appearance Editor settings is not necessary but makes for a cleaner neutral template.
  • You can reuse the neutral template file whenever you need to make a custom morph target shape.

Concept phase

We strongly recommend concept drawing before 3D modeling as separating the concept and execution phase can save you time on bungling with really complicated software.

To create a simple concept image:

  1. Load the neutral template file in CC and turn the camera to face the figure.
  2. Screen grab or capture the neutral character and paste the image in an image editor like Photoshop.
  3. Create an empty layer on top of the figure and draw the look of the creature.
  4. Save the drawing for reference in CC.
  5. You can choose to generate images of different views such as the side and back.
The neutral template becomes a semi-transparent background for the final concept image.

Note:

  • Style is very much a matter of proportions, especially the head to body ratio.
  • The point of concept drawing and model sheets is to save time by taking out the guesswork.
  • Every minute spend conceptualizing can save 3 minutes in the production phase.

Creating the Morph Target

Morphing the base shape

With the concept drawing complete, we can start to use the morph sliders inside CC to achieve what we've set out to do. Before you begin, make sure to check out the CC ESSENTIAL MORPHS & SKIN pack available here. This essentials pack provides a lot of the much needed morph sliders such as Body Scale. However, keep in mind that all content created with the assistance of this pack will result in derivative content which has implications for DRM when sold in the Reallusion Marketplace and Content Store.

  1. Load the neutral template inside CC and the concept art as a reference.
  2. Use the morph sliders under the Modify panel to model the body according to the concept art. Try to achieve a strong resemblance.
  3. Perform File > Export to Obj > Nude Character and save out the base shape along with the ObjKey.

Upon character export, CC will produce an OBJKey or FBXKey, these DRM related files will contain skeleton scale, mesh orientation, and other important data. These files will help detail out the discrepancies between CC and other 3rd party software. Therefore, users are strongly encouraged to preserve these files for better technical support.
Figure doesn't have to be identical to the concept but must resemble its proportions.

Note:

  • OBJ format will preserve the quad faces of the geometry whereas FBX will triangulate the mesh. It will always export in T-pose.
  • Morph sliders can extend beyond its limits just by entering a larger number that is beyond the range of its minimum or maximum value.
  • Focus on getting the proportions identical to the concept art. Getting exact textures and surface normals at this juncture is not important.
  • You can consider using an image overlay software to superimpose the concept image on the CC workspace.
  • Do not remove the ObjKey created by CC. It is needed during the re-import process for its bone scale data.

Enhancing the base shape

Now that the base shape is prepared from CC, we can attempt to make the character identical to the concept drawing. For this you'll need to work with a third party 3D modeling application such as Maya, 3ds Max, Sculptris, and so forth.

  1. Load the OBJ file exported from the previous section into your 3D modeling application.
  2. Use whatever tools necessarily to modify the shape of the character according to the concept art.
  3. Export the character in OBJ format with the same number of vertices and the same vertex ids that it went in with.
For this tutorial, Zbrush was used for the base shape enhancement procedure.

Note:

  • Do not change the vertex ids or the vertex number whatsoever upon export. Doing so will cause the morph import to fail in CC.
  • If you are subdividing the geometry during the editing process, make sure to keep the original mesh resolution intact and revert to it before export.
  • Avoid making changes to overall proportions which can create a mismatch between the bone and mesh placement. For example, extending the finger mesh beyond the bounds of the finger bones.
  • If you are using Zbrush, avoid using merge group, Dynamesh, and any other tools that can change the vertex number and ids.

Custom Morph Slider

You'll need to create a custom morph slider in order to utilize the morph target made in the previous section.

  1. Load the CC project that contains the neutral figure created from the previous steps.
  2. Perform Create > Morph Slider to open the Morph Slider Editor.
  3. Adjust the parameters of the Morph Slider Editor window (see below).
  4. Once you are done with the settings, enable Auto apply to current character and press the OK button to see the new morph in action.
Set Category: The body part that the morph is applied to, includes Head, Body, Eyes, and Teeth

Set Slider Path: Puts the slider in a custom subpath or let it be available under the body part parent path.

Morph Name: Please fill this out with a unique name.

Min. Morph Value: The minimum morph slider value from 0 to -100.

Max. Morph Value: The maximum morph slider value from 1 to 100.

Thumbnail: Assign a square image here if so desired.

Auto apply to current character: After the custom slider is created, its values will be set to max to preview the morph shape on the current character.

OK: Click to create the custom morph slider.

Morph Creation MSE Left.png
Source Morph: The body shape that is the starting point for the morph target. Use Default Morph to deviate from the neutral body shape. Use the Current Morph to deviate from the character currently in the scene.

Target Morph: Set the morph target shape for the slider. Current Morph will gather all of the used morphs into one convenient slider. If you have customized a morph target in a third party application, you should use File to load it in.

Axis Settings for Obj: Applies for the Target Morph > File option. It should match the coordinate system settings of your third party application.

Checksum File Path: Load the ObjKey that was exported with the OBJ body shape file from the previous sections.

Cancel: Click to exit the Morph Editor without creating the custom morph slider.

Morph Creation MSE Right.png
The slider thumbnail is cropped around the edges and saved in transparent PNG format.

Note:

  • If so desired, you can separate the character morph into head and body morph for more flexible recombination of the morph sliders.
  • You can acquire the slider thumbnail templates in the CC installation directory under \Reallusion\Character Creator 2 for iClone\Image\ where you will find Thumbnail_Template_Blank.png and Thumbnail_Template_Male.png.

Refining the Custom Morph

The first time that you apply a custom morph is rarely perfect. We'll still need to make some adjustments such as resizing and moving the eyeballs to fit and checking if the upper and lower teeth are in the right places,

  1. With the custom character loaded in CC, zoom in on the face and perform Edit > Open Mouth to preview the position of the upper and lower teeth.
  2. Drill down to Modify > Morphs > Actor > Head > Cavity and adjust the size and position of the upper and lower teeth to match the size and position of the mouth.
  3. Select Eye and type in "eyeball" in the search box on the right pane of the Modify panel.
  4. Adjust the size and position of the left and right eyeballs to match the eye sockets of the custom character.
  5. Select Actor Parts > CC_Base_Eye and perform Appearance > Activate Appearance Editor.
  6. Drill down to CC_Base_Eye > Eye > Eye Ambient Occlusion and readjust the parameters to better fit the shape of the eye sockets.
  7. Continue to adjust the look of the eyeballs to your heart's content.
The refining process can be essential for exaggerated characters.

Your character may be highly exaggerated around the eyes making it unsuitable for eyelashes. You can turn them off by doing the following:

  1. Select Modify > Morphs > Head > Eye and type in "Eyelash" into the search box on the right pane.
  2. Maximize both the Eyelash Hide Layer 1 and Eyelash Hide Layer 2 sliders.

Finalized Morph Slider

With everything finished, we have the morphed body shape along with its morph corrections and the customized Appearance Editor driven eyeball textures. Unfortunately the Appearance Editor settings are not saved with the morph target, therefore to achieve the same look each and every time we must save those as well:

  1. Begin the scene in CC with the character loaded and its custom morph slider maxed out.
  2. Perform File > Export to Obj > Nude Character to export the final body shape along with its corrections.
  3. Select the eyeballs and perform Modify > Appearance > Activate Appearance Editor.
  4. Select Actor Parts > CC_Base_Eye > Eye and click on the down arrow to the right of the Substance material name.
  5. Select Save Substance Material Preset to the same directory as your final morph OBJ.
  6. Do the same for the Cornea.
  7. Remove the old custom morph slider by click on the gear icon to the right of the morph and select Delete Slider.
  8. Load the neutral body shape and remake the morph slider with the final morph OBJ.
  9. Click on the heart button to the right of your new morph slider to keep track of it in your Favorites.
  10. Save the CC project and export an iAvatar if you want to work with the character in iClone.

By the end of these steps, one should have a complete morph slider that takes into account the eyeball and teeth size and positioning. One also has the handy Substance presets that can be reapplied when the morph is activated.

Morph Creation Final 2.png

Note:

  • You can save out other Substance material preset if you have done some work to customize the textures.

Common Problems

Partial Blinks and Squints

If the eyes have been enlarged then it is likely that the blinks do not close all the way even when maxed out and that the squints are overly subtle. The following eye morphs are the usual culprits:

Even at a 100%, the Eyes Blink only reach part of the way for the enlarged eyes.
The following fix will require 3DXchange, for more information see here.
  1. Open up 3DXchange and load the iAvatar.
  2. Select Modify > Face Setup > Morph List > CC_Base_Body > Eyes Blink (you should see that the characters eyes have partially closed).
  3. Click on Morph List > Export button to export the morph shape in OBJ format.
  4. Do the same for Eye Blink L, Eye Blink R, Eye Squint L, and Eye Squint R.
  5. Open all of the morphs in a third party 3D application and proceed to fix each one by closing the blinks all the way and exaggerating the overly subtle eye squints.
  6. Export each corrective mesh with proper names for better organization.
  7. Back inside 3DXchange with the character still loaded, select the problem morphs under the Morph List and perform Replace to import the respective modified meshes.
  8. Open the Expression Editor and go to each problematic morph under the Muscle tab and zero out the old slider and max out the slider for the newly imported corrective shape. Press the Set button when done or toggle on the Auto key function.
  9. Once all of the problematic shapes have been replaced with the corrective shapes, export the fixed character as an iAvatar file.
  10. Test out the new morph shapes by using the Face Puppet tool in iClone.
You should use the fixed iAvatar file to perform your animations in iClone.
Corrections have been made for the blinks and squints.
Being able to blink would also put a smile on my face.
Note:
  • Select the CC_Base_Eye under the Scene Tree to the left and press Modify > Replace Mesh (V) > Export Mesh to create an eyeballs reference OBJ file.
  • For really large eyes, you can pull the lower eyelids upward to meet the upper eyelids in the middle as there might not be enough mesh in the upper eyelids to pull it over the entire eyeball.
  • Do not mistakenly use Modify > Head Morph > Export Model as this will only export the default head shape.
  • You can choose to fix other morph shapes if you like.

Normals Defect

With wildly dissimilar shapes, normals defects may occur after the morph is applied to the neutral body. This is because the normals have not been updated to suit the new morph shape. A simple fix would be to just export the normal map from CC and make corrections to it in an image editor like Photoshop. A more complete fix would be to:

  1. Extract the normal maps from the custom morph shape. The normal map parts may include the head, body, fingernails, and toenails.
  2. With the character loaded inside CC, click on the Modify > Material > Material List > CC_Base_Body > Skin_Body.
  3. Replace the Texture Settings (Y) > Normal with the new normals map for the body.
  4. Do the same for the other normal maps that was derived from the morph shape and save the project when finished.
Once the new normals are loaded, the normals defects on the ears are also fixed.
Besides fixing defects, the custom normals can have different characteristics from the neutral body normals.

Bone & Morph Shape Mismatch

Distortions in character animations is likely caused by the mismatch of the bone positionings and the morphed mesh, Unfortunately, the best fix for this problem is prevention because, by the time you notice this problem, it might be too late for a simple fix. In many cases, you'll have to recreate the character and pay very careful attention to have the skeletal structure perfect before proceeding to create the morph shape.
Morph Creation Bone Mismatch.png


When creating or recreating the morph shapes make sure to adhere to the following dos and don'ts:

  • Don't place the joints beyond the bounds of the mesh.
  • Don't misalign the joints of the mesh with the skeleton.
  • Do keep the mesh and the joints of the skeleton aligned.