You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
260 lines
14 KiB
HTML
260 lines
14 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
|
|
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
|
|
<title>cryTools: CryMorphTools</title>
|
|
|
|
|
|
</head>
|
|
|
|
|
|
<body style="color: rgb(0, 0, 0);" alink="#ee0000" link="#0000ee" vlink="#551a8b">
|
|
|
|
<h1 style="background-color: rgb(192, 192, 192); font-family: Arial;">cryTools:
|
|
CryMorphTools </h1>
|
|
|
|
<span style="font-family: Arial;"></span>
|
|
<p style="font-family: Arial;"><br>
|
|
|
|
</p>
|
|
|
|
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;">Tutorials</h2>
|
|
|
|
<span style="font-family: Arial;">Here are some tutorials
|
|
on using the MorphTools:<br>
|
|
|
|
<br>
|
|
|
|
<a href="MirrorMorphs.html">Mirroring Morphs and
|
|
Deformation</a> (without altering point index)<br>
|
|
|
|
<br>
|
|
|
|
<a href="TransferMorphs.html">Transferring Morphs Between
|
|
Characters</a><br>
|
|
|
|
<br>
|
|
|
|
<a href="LODMorphs.html">Generating Head LODs with Morph
|
|
Targets</a><br>
|
|
|
|
<br>
|
|
|
|
</span>
|
|
<p style="font-family: Arial;"><img alt="morphtools rollout" src="images/morphTools.png" style="border: 0px solid ; margin-right: 1em; width: 204px; height: 1795px; float: left;">
|
|
</p>
|
|
|
|
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);">
|
|
Facial Tools </h2>
|
|
|
|
<span style="font-family: Arial;">Please refer to the
|
|
tutorials above about how to use these tools.
|
|
</span>
|
|
<p style="font-family: Arial;"><span style="font-weight: bold;">Auto Generation/Extraction</span>
|
|
</p>
|
|
|
|
<span style="font-family: Arial;">
|
|
When you press '</span><b style="font-family: Arial;">Load
|
|
Morphs from Selected</b><span style="font-family: Arial;">,
|
|
the text at the top changes to echo the number of morphs loaded fromt
|
|
he selected head/mesh. When using the number of morph targets rigidly
|
|
setup for the Crysis pipeline, you can ignore 'dirty output', when you
|
|
bake out morphs, they will be arranged by morph set and colored in the
|
|
fashion that you are used to. The baked out head meshes will also be
|
|
named with their respective morpher name.
|
|
</span>
|
|
<p style="font-family: Arial;"><b>Enable Dirty Output</b>
|
|
- This means that you are exporting a head
|
|
or object that does not use the rigid preset structure of the Crysis
|
|
facial pipeline. <b>Dirty Output</b> is used when baking
|
|
or adding an
|
|
arbitrary number of morphs to a selected head or object with a morph
|
|
modifier (useful for baking out vertex animation, an example in Crysis
|
|
would be the parachute). The morphs created are named using the names
|
|
fromt he morph target in the morpher modifier, and they are randomly
|
|
colored.</p>
|
|
|
|
<p style="font-family: Arial;"><span style="font-weight: bold;">Organize (Align to helpers)</span>
|
|
-
|
|
will move the heads created to artist specified locations, these
|
|
locations are marked by helper dummies with the morph name prefixed by
|
|
‘<span style="font-weight: bold;">Dummy_</span>’.
|
|
The overflow (targets baked out that have no corresponding helper) will
|
|
default to a row up top, like the ‘dirty’ output
|
|
mode.
|
|
</p>
|
|
|
|
<p style="font-family: Arial;">
|
|
<b>New Layer:</b> - Enter text defining the name of the
|
|
layer you would like the morphs baked to.
|
|
</p>
|
|
|
|
<p style="font-family: Arial;">
|
|
<b>Add Selected Morphs to Picked</b> - This will ass all
|
|
selected morph targets to your picked head. The morphs will be named
|
|
after the meshes that created them.</p>
|
|
|
|
<p style="font-family: Arial;"><span style="font-weight: bold;">Add organized morphs to head</span>
|
|
- will dump all the morphs you created (even overflow) to a new head</p>
|
|
|
|
<p style="font-family: Arial;"><span style="font-weight: bold;">Delete Faces from Targets</span>
|
|
- You
|
|
can load a selection of faces and then delete those same faces from any
|
|
number of selected objects. All objects must share the same point
|
|
index. Useful for deleting faces on multiple heads. (Used in Crysis to
|
|
remove the NK heads, but allow eye animation to be played inside the
|
|
Asian Nanosuit helmet.)
|
|
</p>
|
|
|
|
<span style="font-family: Arial;"></span>
|
|
<p style="font-family: Arial;"><span style="font-weight: bold;">Mirror Eye Animation </span>-
|
|
This
|
|
will mirror the procedural eye calibration animation from Left to Right
|
|
or Right to Left. This animation is used to bake out eye deformation
|
|
targets that are later procedurally driven by look IK. The bone eye rig
|
|
must be present in the scene to use this tool.
|
|
</p>
|
|
|
|
<span style="font-family: Arial;"></span>
|
|
<p style="font-family: Arial;"><font color="#ff0000"><span style="font-weight: bold;">Tech Note:</span> </font>Using
|
|
this and many other
|
|
facial tools (like non-dirty output above) requires strict adherence to
|
|
the CryEngine2 Facial Pipeline, these eye bones have specific names and
|
|
those names are used to locate and mirror their animation.
|
|
</p>
|
|
|
|
<p style="font-family: Arial;">
|
|
<span style="font-weight: bold;">Morph Transfer</span>
|
|
- This is used to transfer morphs between heads with unlike topologies/
|
|
point indices.</p>
|
|
|
|
<span style="font-family: Arial;"></span><font style="font-family: Arial;" color="#808000">
|
|
</font>
|
|
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);">Sync-Collapse
|
|
by Location</h2>
|
|
|
|
<p style="font-family: Arial;">
|
|
This tool collapses points by location instead of point index, useful
|
|
for creating head LODs and loading those collapsed point sets onto
|
|
other heads. Unfortunately, it is no longer supported. Though the code
|
|
is there if you have the need and want to check it out. <a href="images/syncLoc.jpg" target="blank">Here</a> is an image
|
|
explaining the basic concept, and <a href="images/syncLoc2.jpg" target="blank">here</a>
|
|
is what the marking looks like.<big><font size="2"><big><span style="font-size: 10pt;"></span></big></font></big><br>
|
|
|
|
<span style="font-weight: bold;"></span><br>
|
|
|
|
<span style="font-weight: bold;">Hide Collapsed</span>
|
|
- will hide the points you collapse as you go</p>
|
|
|
|
<p style="font-family: Arial;"><span style="font-weight: bold;">Collapse Variations as I Work </span>-
|
|
will apply your collapse to all head variations as you work</p>
|
|
|
|
<p style="font-family: Arial;"><span style="font-weight: bold;">Mark Collapased Verts</span>
|
|
- will mark the verts you have collapsed on all the head variations<br>
|
|
|
|
</p>
|
|
|
|
<p style="font-family: Arial;"><span style="font-weight: bold;">Here is the basic workflow:</span><br>
|
|
|
|
1) Select the main head you will model on and click
|
|
‘<span style="font-weight: bold;">Select Main</span>’<br>
|
|
|
|
2) You ‘<span style="font-weight: bold;">collapse</span>’
|
|
verts on the main head (two at a time) to make an LOD, then click
|
|
‘<span style="font-weight: bold;">Save Collapse
|
|
Data</span>’<br>
|
|
|
|
3) This then saves an ‘<span style="font-weight: bold;">.i2l</span>’ file
|
|
with your changes.<br>
|
|
|
|
4) Open a file with other heads (different
|
|
character head)<br>
|
|
|
|
5) Select all the heads and click ‘<span style="font-weight: bold;">Select variations</span>’<br>
|
|
|
|
6) Then click ‘<span style="font-weight: bold;">Load Collapse Data</span>’
|
|
and select your ‘<span style="font-weight: bold;">.i2l</span>’
|
|
file<br>
|
|
|
|
7) Then click ‘<span style="font-weight: bold;">Apply</span>’.<br>
|
|
|
|
<br>
|
|
|
|
</p>
|
|
|
|
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;">Pose-Driven
|
|
Morphs</h2>
|
|
|
|
<h3 style="background-color: rgb(204, 204, 204);"><span style="font-family: Arial;"></span><span style="font-weight: bold; font-family: Arial;"></span><span style="font-family: Arial;"><span style="font-weight: bold;">Head/Neck</span></span></h3>
|
|
<p><span style="font-family: Arial;">Pose-driven morphs allow you to
|
|
set different ‘pose vectors’ like ‘look_up’,
|
|
‘look_down’, ‘look_left’,
|
|
‘look_right’, and so on. Each of these directions, can be
|
|
associated with a morph target, so when a characters head rotates left,
|
|
the geometry is cleaned up with a nice morph shape that an artist
|
|
sculpted just for that position.<br style="font-family: Arial;">
|
|
<span style="font-weight: bold; font-family: Arial;"></span></span></p>
|
|
<p style="font-family: Arial;"><font color="#ff0000"><span style="font-weight: bold;">Tech Note:</span> </font>As of right now this only works with Skin. But we have a few heads using the Skin modifier, and we can convert Physique to Skin.<br>
|
|
<span style="font-weight: bold;"></span></p>
|
|
<p style="font-family: Arial;"><span style="font-weight: bold;">Usage:</span> First you click ‘<span style="font-weight: bold;">Select Character Head</span>’ which will then change to HeadName + ‘Head Loaded<br>
|
|
When you select a pose vector, the ‘<span style="font-weight: bold;">Create Pose Shape</span>’
|
|
button now becomes enabled if a pose shape associated with this vector
|
|
is not already present. When you click this button it will make a head
|
|
snapshot in the position of the vector. Note that we are defining the
|
|
vectors, and that this system does not allow for an arbitrary number of
|
|
vectors and associated morphs (in engine). Here is what it looks like
|
|
if you click ‘<span style="font-weight: bold;">Create Pose Shape</span>’ for each vector:</p>
|
|
<p><span style="font-family: Arial;"></span><img style="width: 500px; height: 487px;" alt="poseShape" src="images/poseShape.jpg"><span style="font-family: Arial;"><br>
|
|
<br>
|
|
You can now edit any of these objects. The objects are named: <span style="font-weight: bold;">Look_Up_sculpt</span>,<span style="font-weight: bold;"> Look_Down_sculpt</span>, <span style="font-weight: bold;">Look_Right_sculpt</span>, <span style="font-weight: bold;">Look_Left_sculpt</span>, <span style="font-weight: bold;">Tilt_Left_sculpt</span>, <span style="font-weight: bold;">Tilt_Right_sculpt</span><br>
|
|
<br>
|
|
If you click ‘<span style="font-weight: bold;">Add Pose Shape To Morpher</span>’, the tool will generate a relative shape with all of the skinning data culled from it, and apply it to the loaded head.</span></p>
|
|
<p><span style="font-family: Arial;"></span><span style="font-family: Arial;"><span style="font-weight: normal;">The morphs are added to the Morpher in the following channels:</span><br>
|
|
<span style="font-weight: bold;">1) Look_Up</span><br style="font-weight: bold;">
|
|
<span style="font-weight: bold;">2) Look_Down</span><br style="font-weight: bold;">
|
|
<span style="font-weight: bold;">3) Look_Right</span><br style="font-weight: bold;">
|
|
<span style="font-weight: bold;">4) Look_Left</span><br style="font-weight: bold;">
|
|
<span style="font-weight: bold;">5) Tilt_Left</span><br style="font-weight: bold;">
|
|
<span style="font-weight: bold;">6) Tilt_Right</span><br>
|
|
<br>
|
|
You can work on a corrective shape, then click ‘<span style="font-weight: bold;">Add Pose Shape To Morpher</span>’ and it will apply your work over the associated channel so that you can test as you go. If you click ‘<span style="font-weight: bold;">Extract Relative Pose Shape</span>’,
|
|
the tool will spit out a relative morph shape in the position of the
|
|
original character head with your sculpt changes (minus all
|
|
skinning-related transformations). That looks like so:</span></p>
|
|
<p><span style="font-family: Arial;"></span><img style="width: 498px; height: 265px;" alt="relativePoseShape" src="images/relativePoseShape.png"><span style="font-family: Arial;"><br>
|
|
<br>
|
|
Above, some points on Look_Left_sculpt have been tweaked to give the
|
|
neck the volume lost in the skinned rotation. The relative shape was
|
|
extracted and we now see it on top of the Morrison head (pink, and
|
|
looks like he has a goiter).</span></p>
|
|
<p style="font-weight: bold;"><span style="font-family: Arial;">Facial Editor Setup:</span></p>
|
|
<p><span style="font-family: Arial;"></span><img style="width: 646px; height: 387px;" alt="facialEditor" src="images/facialEditor_pose.png"><span style="font-family: Arial;"><br>
|
|
<br>
|
|
So you just set the targets up like so, ignore the naming here.</span></p>
|
|
<h3 style="background-color: rgb(204, 204, 204);"><span style="font-family: Arial;"><span style="font-weight: bold;">Fleshy Eyes (Auto-Created)</span></span></h3>
|
|
<p><span style="font-family: Arial;">This works much the same way as
|
|
the tool above, but the eye directions drive a special eye rig. The
|
|
look directions are already setup, the character just needs to be
|
|
imported into this file, you can then refit the bones to his eyes and
|
|
weight them.</span></p>
|
|
<p><span style="font-family: Arial;">This rig is located in the following path:<br>
|
|
<span style="font-weight: bold;">Tools\maxscript\ref\fleshy_eye_rig.max</span></span></p>
|
|
<span style="font-weight: bold; font-family: Arial;"></span>
|
|
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;">Baking Tools</h2>
|
|
<span style="font-weight: bold; font-family: Arial;">Bake Deformation to Morphs<br>
|
|
</span><span style="font-family: Arial;">This is a simple tool, you
|
|
load an object that has a deformation applied over time. You then set
|
|
the frames in which you want the deformation baked off to morphs, then
|
|
the number of morphs you would like it baked to.</span><span style="font-weight: bold; font-family: Arial;"><br>
|
|
</span><br>
|
|
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;">Diagnostic Tools</h2>
|
|
<span style="font-family: Arial;"></span><span style="font-weight: bold; font-family: Arial;">Morph Manager<br>
|
|
</span><span style="font-family: Arial;">This is a better morph rollout that comes from the Max SDK/help docs</span><span style="font-weight: bold; font-family: Arial;"><br>
|
|
<br>
|
|
Generate Morph List<br>
|
|
</span><span style="font-family: Arial;">This spits out a list of the morphs for a current object to a list in the Listener. If '<span style="font-weight: bold;">Include Channel Numbers</span>' is checked, channel numbers will also be printed.</span><span style="font-weight: bold; font-family: Arial;"><br>
|
|
</span><span style="font-family: Arial;"></span><span style="font-family: Arial;"></span>
|
|
</body>
|
|
</html>
|