Integrating latest 47acbe8

This commit is contained in:
alexpete
2021-03-25 13:57:57 -07:00
parent 448c549698
commit 75dc720198
10312 changed files with 2711566 additions and 671451 deletions
+500
View File
@@ -0,0 +1,500 @@
<!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: About</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: About </h1>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">What are cryTools?</span></h2>
<span style="font-family: Arial;">CryTools are a suite of maxscripts
that add functionality to 3D Studio Max that does not currently exist.
Not just basic functionality that 3DS Max is lacking, but also special
functionality and tools that help you troubleshoot, create and manage
assets for cryEngine2 games.<br>
<span style="font-weight: bold;"><br>
A Note About Requirements</span><br>
CryTools currently work with versions 8 and 9 of 3D Studio Max. The
installer can install the cryTiff libs, dlls and plugins for versions
6,7, and CS of Photoshop.<br>
<span style="font-weight: bold;"><br>
License</span><br>
CryTools are free. So I want you to feel free to use the code to learn
or incorporate aspects of the tools into your own freely available
toolsets. They are therefore provided 'as is' and with limited support.
The person who wrote these tools is not a programmer, and the code may
be somewhat obtuse at times, but the tools are pretty solid and
reliable. They have been in use at Crytek for quite some time, if you
have any bugs, please send a description of the bug to <a href="mailto:chris@crytek.de">Chris@Crytek.de</a><span style="color: rgb(0, 0, 8);"> (for CryTools ) &nbsp; &nbsp; &nbsp;<a href="mailto:mathias@crytek.de">Mathias@Crytek.de</a> (for CryAnim )</span></span><a href="chris@crytek.de"><span style="font-family: Arial;"></span></a><span style="font-family: Arial;"><br>
</span>
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;">Features</h2>
<span style="font-family: Arial;">This is a list of functionality that
has been added to 3DSMax. We have been working on CryTools since Max7,
so some features we have implemented were later added to 3DSMax
(loading FBX onto Biped for example)</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Tools/Pipeline Integration</span></h2>
<span style="font-family: Arial; font-weight: bold;">Easy Installation</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; One double click installs all tools/files on the users PC setup correctly and working</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; The installer finds Photoshop\3DS Max install dirs and installs cryTools and cryTiff correctly </span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Transparency</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; cryTools can automatically check your assets before export to the game, making sure they</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; have the correct shaders applied</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; are free of extra transformations</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; are facing the right world direction</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; and many more requirements that may be overlooked </span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; cryTools run from your local build, so tools are updated automatically and frequently</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; cryTools sync via Perforce, AlienBrain, HTTP, or LAN on demand</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Checks local build for updated exporter or tools and installs them automatically or on demand </span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Diagnostics You Care About</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Show all callbacks and important variables (control panel)</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Dump all vars in global space currently set/used by cryTools</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Visual indicator of local/latest build number in control panel or splash screen</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; 'Rollback' functionality to rollback to a previous exporter</span><span style="font-family: Arial;"></span><br style="font-family: Arial;">
<span style="font-family: Arial;"><br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Animation</span></h2>
<span style="font-family: Arial; font-weight: bold;">General</span><span style="font-family: Arial;"><br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Batch convert controllers (example: TCB for CGA)<br>
</span><span style="font-family: Arial;"></span><span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Bake procedural motion to dense keyframe data </span><br>
<span style="font-family: Arial; font-weight: bold;"><br>
Biped Tools</span><span style="font-family: Arial;"><br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Foot / Hand snapshot alignment to custom pivots<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Move Bip01 to [0,0] / [0,0,0]<br>
</span><span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Ability to set planted, sliding or free keys to any biped part for any number of frames</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Reverse a biped animation (Autodesk added this feature to Max 9)</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Import FBX data directly on to a biped character (Autodesk added this feature to Max 9)</span><br>
<span style="font-family: Arial;">&bull; &nbsp; &nbsp;Reset Rotation<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Create snapshot / + children<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Copy transformation<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Paste transformation / position / rotation<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Everything is available in the quad menu or for shortcuts<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;The dialog can handle these functions in a time range<br>
<br>
</span><span style="font-family: Arial; font-weight: bold;">Dialog<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Align selected object to any other object ( rotation, position, create / use offset )</span><br>
<span style="font-family: Arial;">&bull; &nbsp; &nbsp;Compact structure to apply functions<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Works with time range ( Start / Stop ; &nbsp;Range )<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Load often used models to animate with<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Automatically sets the weapon bone for different kind of weapons (if set)<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Loads Biped from the working directory ( or last used file )<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Save Biped directly to the last used biped name<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Export animation with the Biped name and path structure<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Save / Export at the same time<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Perforce control if perforce is installed<br>
</span><span style="font-family: Arial;"></span><br>
<span style="font-family: Arial; font-weight: bold;">Batch Exporter</span><br>
<span style="font-family: Arial;">&bull; &nbsp; &nbsp;Supported file types: BIP, FBX, MAX<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Sub folder selection (will be saved)<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;File Mask selection (will be saved)<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Export Folder (will be saved)</span><br>
<span style="font-family: Arial;">&bull; &nbsp; &nbsp;Sorted by folders<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Run pre-export script (if set)<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Automatic export bone detection (if set)<br>
</span><span style="font-family: Arial;">&bull; &nbsp; &nbsp;Keep Sub folder structure</span><br>
<span style="font-family: Arial;">&bull; &nbsp; &nbsp;Check the files (without export)<br>
</span><span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Add or remove bones and rig elements from thousands of animation assets</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Manipulate data for thousands of animations (example: flip all assets 180 deg)<br>
</span><span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Export logs detailing data about your animation assets/batch export</span><br>
<span style="font-family: Arial;"><br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Animation (deprecated, unsupported)</span></h2>
<span style="font-family: Arial; font-weight: bold;">Biped Tools</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Rig
Navigator - A synaptic rig element selector (much like Maya, XSI,
Motion Builder, etc). Click a part to select it</span><span style="font-family: Arial;"></span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Syncing of
pose collections sets from Perforce or a network drive on demand, at
Max load or on character load</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; auto-importing animation props and weapons from a build/server</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Select just biped bones, excluding helper joints </span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">General Tools</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; RangeView -
View or cycle through Animator-created 'time-tagged' sequences in one
timeline. When a sequence is selected, the timeline beginning/end is
set the the time-tagged range's beginning/ending</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Mirror first person arm animation from left arm to right or vice versa</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; XAF XML animation file support (character limited)</span><span style="font-family: Arial;"></span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Batch Animation Processing</span><span style="font-family: Arial;"></span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Supports biped BIP or XAF (character limited) animation data</span><span style="font-family: Arial;"></span><span style="font-family: Arial;"></span><span style="font-family: Arial;"></span><br>
<span style="font-family: Arial;">
<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Character Setup and Rigging</span></h2>
<span style="font-family: Arial; font-weight: bold;">General Tools</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Zero out rotations for all selected items</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Snap a pivot to that of another object</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Select just biped bones, excluding helper joints</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Make sweeping adjustments to the width/height/taper of multiple selected bones</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Create arbitrary vertex channels, e.g. multiple vertex color channels</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Create Phys Skeleton from existing Deforming Skeleton</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Automated ParentFrame creation</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Character/Animation Diagnostics</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Create Smart Object template files and export Smart Object template data to the Editor in XML format</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Select the root of a hierarchy by selecting any member of it</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Select all children of a node</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Export data about a hierarchy to listener or a spreadsheet (excel/google spreadsheet)</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Compare multiple hierarchies</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Query how many bones in a hierarchy have weights effecting a mesh</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Output
arbitrary movement data, e.g. output how far a character moves out from
behind cover in an animation, or how high the root is when he is in
prone or behind cover.</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Output XML CDF attachment data based on the location of an attachment in Max</span><br style="font-family: Arial;">
<span style="font-family: Arial;"><br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Morph Tools</span></h2>
<span style="font-family: Arial; font-weight: bold;">Facial Setup</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Transfer morphs between unlike topologies</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Bake morph targets out from a selected head colored, named, and placed in the cryEngine2 standard</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Bake out an arbitrary number of morphs to geometry with the name of the morph slider</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Delete selected faces from many morph targets while keeping identical point indices</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Mirror eye
bone animation from right to left and vice versa when setting up
deformation for procedural eye morphs </span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Pose-Driven Morphs</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Can extract a relative pose shape from a skinned and posed mesh</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Supports creation of arbitrary corrective shapes for a given pose, as well as the standard sets below</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Head/Neck</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Auto-generated fleshy eye morphs</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Shoulder </span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Baking Tools</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Supports baking of any complex geometric deformation to a sequence of morphs (muscles, cloth, etc..)</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Set the number of frames to bake, and the number of morphs to generate over those frames</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Can bake out relative morphs with skin data culled to be pose-driven in cryEngine2 </span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Diagnostic Tools</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Dump morpher data to the Listener or an excel spreadsheet</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; MorphManager: an improved morpher interface</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Artist Tools</span></h2>
<span style="font-family: Arial; font-weight: bold;">General Tools</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Center pivots to the center of each objects bounding box for all selected objects</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Many commonly used commends, like a button that reset xforms and then collapses a selected object</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Copy/paste modifiers to multiple objects without instancing</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; UV maipulation tools</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">TD ToolKit</span></h2>
<span style="font-family: Arial; font-weight: bold;">General</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; The cryTools
architecture allows you to install update, or query anything (tools
related) on any users PC</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Useful
global variables like local build#, latest build#, local build
location, editor path, user preferences, etc</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; You can restrict what tools certain users see based upon their username, network domain, or other data</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Silently execute dos commands </span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Useful Functions</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Perforce and AlienBrain integration</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Network
tools to do things like get the current domain, or convert a local
mapped drive letter to its UNC pathname (Autodesk added this feature to
Max 9)</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; General useful fns like converting a string to lowercase, etc.. </span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">CryExport MaxScript Exposure</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Export functions</span><br style="font-family: Arial;">
<span style="font-family: Arial;">o&nbsp;&nbsp;&nbsp; Get/set node lists for objects and bones</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Registry functions</span><br style="font-family: Arial;">
<span style="font-family: Arial;">&bull;&nbsp;&nbsp;&nbsp; Silent CMD execution<br>
<br>
<br>
<br style="font-family: Arial;">
</span><span style="font-family: Arial;"></span>
</body>
</html>
+931
View File
@@ -0,0 +1,931 @@
<!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: AnimTools</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: AnimTools </h1>
<span style="font-family: Arial;"><a href="#install">Installation</a><br>
<a href="#quadmenu">
Quadmenu Functions</a><br>
Main Dialogue<br>
&nbsp; &nbsp;<a href="#selection">Selection Rollout</a><br>
&nbsp; &nbsp;</span><span style="font-family: Arial;"><a href="#operation">Operation Rollout</a><br>
</span><span style="font-family: Arial;">&nbsp; &nbsp;<a href="#pivot">Pivot</a></span><span style="font-family: Arial;"><a href="#pivot"> Rollout</a><br>
&nbsp; &nbsp;<a href="#misc">Misc Rollout</a><br>
&nbsp; &nbsp;<a href="#loadsave">Load/Save/Export Rollout</a><br>
&nbsp; &nbsp;<a href="#perforce">Perforce Rollout</a><br>
&nbsp; &nbsp;<a href="#tools">Tools Rollout</a><br>
<a href="ModelSetup.html">Model Set-Up</a><br>
<a href="BatchExport.html">Batch Export Rollout</a></span>
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;"><a name="install"></a> Installation </h2>
<p style="font-family: Arial;">
After initialization of the script in Max, it will also generate entries in the customization dialog:
(<em>Under the</em> <code>MainUI</code> <em>group and in the</em> <code>CryAnim</code> <em>category</em>)
</p>
<p style="font-family: Arial;">
<img alt="cryAnimInstallation.jpg" src="images/atools/cryAnimInstallation.jpg" style="border: 0px solid ; margin-right: 2em; width: 555px; height: 523px;"> <br>
</p>
<p style="font-family: Arial;">
There are all functions available to make a key shortcut or tool bar button. <br>
(<em>most of the functionality is in the quad menu too</em>)</p>
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);"><a name="quadmenu"></a> Quadmenu Functions </h2>
<p style="font-family: Arial;">
<img alt="quadmenu.jpg" src="images/atools/quadmenu.jpg" style="border: 0px solid ; margin-right: 2em; width: 340px; height: 418px; float: left;">
</p>
<p style="font-family: Arial;">
<br>
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="go_forward" src="images/atools/go_forward.gif" align="top"> <strong>bip to [0,0]</strong><br>
Takes the Bip01 node to [0,0].
</p>
<hr style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="go_forward" src="images/atools/go_forward.gif" align="top"><span style="font-family: Arial;">&nbsp;</span><strong style="font-family: Arial;">bip to [0,0,0]</strong><span style="font-family: Arial;"><br>
Takes the Bip01 node to [0,0,0].</span><br>
<hr style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="go_forward" src="images/atools/go_forward.gif" align="top"><span style="font-family: Arial;">&nbsp;</span><strong style="font-family: Arial;">show trajectory</strong><span style="font-family: Arial;"><br>
Enables the trajectory of the selected node. <br>
(</span><em style="font-family: Arial;">is hidden if no Biped object is selected</em><span style="font-family: Arial;">)</span><br style="font-family: Arial;">
<hr style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="go_forward" src="images/atools/go_forward.gif" align="top"><span style="font-family: Arial;">&nbsp;</span><strong style="font-family: Arial;">hide trajectories</strong>
<p style="font-family: Arial;">
Hides all visible trajectories. <br>
(<em>is available if a trajectory is visible</em>)
</p>
<hr style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="go_forward" src="images/atools/go_forward.gif" align="top"><span style="font-family: Arial;">&nbsp;</span><strong style="font-family: Arial;">move to snapshot</strong><span style="font-family: Arial;"><br>
<span style="font-family: Arial;">Moves the selected Biped object to the nearest snapshot (generated out of the same object)</span><span style="font-style: italic; font-family: Arial;"> </span></span><em style="font-family: Arial;">if a pivot point is selected, it keeps the offset of it</em><span style="font-style: italic; font-family: Arial;"> </span><em style="font-family: Arial;">is disabled if no correct snapshot is in the scene</em><span style="font-family: Arial;"> </span><em style="font-family: Arial;">is visible if a Biped object is selected<br>
</em>
<hr style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="go_forward" src="images/atools/go_forward.gif" align="top"><span style="font-family: Arial;">&nbsp;</span><strong style="font-family: Arial;">move/rotate to snapshot</strong><span style="font-family: Arial;"><br>
The same as "move to snapshot" </span><strong style="font-family: Arial;">plus Rotation<br>
</strong>
<hr style="font-family: Arial;">
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="go_forward" src="images/atools/go_forward.gif" align="top">&nbsp;<strong>lock rotation</strong><br>
Rotates the object every time it will be moved to the set rotation back <br>
(<em>is visible if a Biped object is in scene</em>) <br>
</p>
<hr style="font-family: Arial;">
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="go_forward" src="images/atools/go_forward.gif" align="top">&nbsp;<strong>reset rotation</strong><br>
Rotates the selected Biped object with the same rotation as the parent object <br>
(<em>is visible if a Biped object is selected</em>) <br>
</p>
<hr style="font-family: Arial;">
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="go_forward" src="images/atools/go_forward.gif" align="top">&nbsp;<strong>move to floor</strong><br>
If the foot is selected, it will be rotated and moved to plant on the ground <br>
(<em>is available if a Biped foot is selected</em>) <br>
</p>
<hr style="font-family: Arial;">
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="go_forward" src="images/atools/go_forward.gif" align="top">&nbsp;<strong>create snapshot</strong>
</p>
<p style="font-family: Arial;">
<strong>single</strong><br>
Creates a snapshot of the selected object <br>
(<em>is visible if an Object is selected</em>) <br>
</p>
<p style="font-family: Arial;">
<strong>children</strong><br>
Creates snapshots of all children of the selected object <br>
(<em>is visible if an Object is selected</em>) <br>
</p>
<hr style="font-family: Arial;">
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="go_forward" src="images/atools/go_forward.gif" align="top">&nbsp;<strong>copy</strong><br>
Copies the position and rotation of the selected objects and stores them into a temporary file in cry_temp folder <br>
(<em>is visible if an Object is selected</em>) <br>
</p>
<hr style="font-family: Arial;">
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="go_forward" src="images/atools/go_forward.gif" align="top">&nbsp;<strong>paste<br>
</strong></p>
<p style="font-family: Arial;"><strong>transform</strong><br>
Pastes the position and rotation from the temporary file to the selected objects <br>
(<em>is visible if the temporary file exists and an Object is selected</em>) <br>
(<em>works for non-Biped nodes too</em>) <br>
</p>
<p style="font-family: Arial;">
<strong>position</strong><br>
Pastes only the position <br>
</p>
<p style="font-family: Arial;">
<strong>rotation</strong><br>
Pastes only the rotation <br>
</p>
<hr style="font-family: Arial;">
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="go_forward" src="images/atools/go_forward.gif" align="top">&nbsp;<strong>select pivot</strong><br>
Starts the pivotSelect tool to select an internal pivot to align with snapshots or pivot points <br>
(<em>is available if hand or foot is selected</em>)</p>
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);"><a name="selection"></a> Main Dialog: Selection Rollout </h2>
<p style="font-family: Arial;">
<img alt="dialogSelection.jpg" src="images/atools/dialogSelection.jpg" style="border: 0px solid ; margin-right: 2em; width: 176px; height: 158px; float: left;">
</p>
<p style="font-family: Arial;">
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top"> <strong>Drop down List :</strong> <br>
In the drop down list you specify the object you want to appy the operation to.<br>
When choosing <strong>Update List</strong>, the list will be updated with the available nodes in the scene.
</p>
<p style="font-family: Arial;">
If the selection is not "--Current Selection--" but an object in the
scene is selected, the axis and offset is available and the Operation&nbsp;rollout will be updated.
</p>
<p style="font-family: Arial;">
<img alt="dialogSelection2.jpg" src="images/atools/dialogSelection2.jpg" style="border: 0px solid ; margin-right: 2em; width: 176px; height: 158px; float: left;">
</p>
<p style="font-family: Arial;">&nbsp;<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top"> <strong>Used Axis :</strong> <br>
If enabled, you can select which coordinate axis will be used for the operation.<br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Offset Set Button :</strong> <br>
If enabled, sets the offset from the current selected object and the object selected in the drop down list.
After the offset is generated, the Offset checkboxes are available.
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Offset Axis :</strong> <br>
If
position is checked, the selected object will be in addition to the
offset aligned to the object set in the list.
With this, the locator can be easily aligned in cycles or other
animations, where the locator has a different position as the object
selected in the list.
</p>
<p style="font-family: Arial;">
If rotation is checked, the selected object will be in addition to the offset rotated to the object set in the list.
This helps when animating the locator in animations where the character runs in circles and the locator needs to follow up.
</p>
<p style="font-family: Arial;"> </p>
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);"><a name="operation"></a> Main Dialog: Operation Rollout</h2>
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;"><img alt="dialogOperation.jpg" src="images/atools/dialogOperation.jpg" style="border: 0px solid ; margin-right: 2em; width: 176px; height: 184px; float: left;">
</h2>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Start / Stop :</strong> <br>
This button sets the range of operation.<br>
The red square box indicates which value will be changed when hitting again.<br>
<br>
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Steps :</strong> <br>
Specify how many steps the operation will use.<br>
(<em>Default is 1</em>)
<br>
<br>
<br>
</p>
<h3><img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-orange" src="images/atools/led-orange.gif" align="top"> <strong style="font-family: Arial;">Operation :</strong></h3>
<p style="font-family: Arial;"><strong><em>If 'Current Selection' is selected in the Selection rollout:</em></strong></p>
<table style="font-family: Arial;" class="twikiTable" border="0" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<th class="twikiFirstCol" align="center" bgcolor="#dadada"> <a rel="nofollow" href="http://server41/twiki/bin/view/AssetCreation/CryAnimDialogOperation?sortcol=0;table=1;up=0#sorted_table" title="Sort by this column"><font color="#000000">Name</font></a> </th>
<th align="center" bgcolor="#dadada"> <a rel="nofollow" href="http://server41/twiki/bin/view/AssetCreation/CryAnimDialogOperation?sortcol=1;table=1;up=0#sorted_table" title="Sort by this column"><font color="#000000">Operation</font></a> </th>
</tr>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <strong><font color="#000000">Planted Key</font></strong> </th>
<td bgcolor="#ffffff"> generates a planted key </td>
</tr>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <strong><font color="#000000">Sliding Key</font></strong> </th>
<td bgcolor="#eaeaea"> generates a sliding key </td>
</tr>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <strong><font color="#000000">Free Key</font></strong> </th>
<td bgcolor="#ffffff"> generates a free key </td>
</tr>
<tr>
<td class="twikiFirstCol" bgcolor="#eaeaea"> -------------------- </td>
<td bgcolor="#eaeaea"> ------------------------------------------------------------------------------------------------ </td>
</tr>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <strong><font color="#000000">Move</font></strong> </th>
<td bgcolor="#eaeaea"> moves the selected Biped object to the nearest snapshot / pivot point </td>
</tr>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <strong><font color="#000000">Move / Rotate</font></strong> </th>
<td bgcolor="#ffffff"> moves and rotates the selected Biped object </td>
</tr>
<tr>
<td class="twikiFirstCol" bgcolor="#eaeaea"> -------------------- </td>
<td bgcolor="#eaeaea"> ------------------------------------------------------------------------------------------------ </td>
</tr>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <strong><font color="#000000">Move to Floor</font></strong> </th>
<td bgcolor="#eaeaea"> if the foot is selected it puts the foot on the floor </td>
</tr>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <strong><font color="#000000">Reset Rotation</font></strong> </th>
<td bgcolor="#ffffff"> adapts the rotation of the selected objects parent rotation </td>
</tr>
<tr>
<td class="twikiFirstCol" bgcolor="#eaeaea"> -------------------- </td>
<td bgcolor="#eaeaea"> ------------------------------------------------------------------------------------------------ </td>
</tr>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <strong><font color="#000000">Copy</font></strong> </th>
<td bgcolor="#eaeaea"> copies the rotation and position of the current selected object </td>
</tr>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <strong><font color="#000000">Paste</font></strong> </th>
<td bgcolor="#ffffff"> pastes the rotation / position / transform to the current selected object </td>
</tr>
<tr>
<td class="twikiFirstCol" bgcolor="#eaeaea"> -------------------- </td>
<td bgcolor="#eaeaea"> ------------------------------------------------------------------------------------------------ </td>
</tr>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <strong><font color="#000000">Bip to [0,0]</font></strong> </th>
<td bgcolor="#eaeaea"> puts Bip01 node to [0,0] </td>
</tr>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <strong><font color="#000000">Bip to [0,0,0]</font></strong> </th>
<td bgcolor="#ffffff"> puts Bip01 node to [0,0,0] </td>
</tr>
</tbody>
</table>
<br style="font-family: Arial;">
<br style="font-family: Arial;">
<strong style="font-family: Arial;"><em>If some Object in the list is selected:</em></strong>
<table style="font-family: Arial;" class="twikiTable" border="0" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<th class="twikiFirstCol" align="center" bgcolor="#dadada"> <a rel="nofollow" href="http://server41/twiki/bin/view/AssetCreation/CryAnimDialogOperation?sortcol=0;table=2;up=0#sorted_table" title="Sort by this column"><font color="#000000">Name</font></a> </th>
<th align="center" bgcolor="#dadada"> <a rel="nofollow" href="http://server41/twiki/bin/view/AssetCreation/CryAnimDialogOperation?sortcol=1;table=2;up=0#sorted_table" title="Sort by this column"><font color="#000000">Operation</font></a> </th>
</tr>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <strong><font color="#000000">Move</font></strong> </th>
<td bgcolor="#ffffff"> moves the selected Biped object to the object selected in the list </td>
</tr>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <strong><font color="#000000">Line</font></strong> </th>
<td bgcolor="#eaeaea"> moves the selected Biped object with reference of the selected object in the list along a line </td>
</tr>
</tbody>
</table>
<br style="font-family: Arial;">
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Apply</strong> <br>
Applies <strong>once</strong> the selected operation to the selected object.
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Begin / End</strong> <br>
Applies the selected operation in the specified range (<strong>Start / Stop</strong>) and with the given <strong>Steps</strong>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Range</strong> <br>
Applies the selected operation for the <strong style="font-family: Arial;">Full animation range</strong><span style="font-family: Arial;"> with the given </span><strong style="font-family: Arial;">Steps</strong> </p>
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);"><a name="pivot"></a> Main Dialog: Pivot Rollout </h2>
<p style="font-family: Arial;">
</p>
<p style="font-family: Arial;"><img alt="dialogPivot.jpg" src="images/atools/dialogPivot.jpg" style="border: 0px solid ; margin-right: 2em; width: 176px; height: 179px; float: left;"><img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top"> <strong>Select Pivot</strong> <br>
If a foot is selected, you can select which pivot you want to operate with for <strong>Move</strong> operation. <br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Create</strong> <br>
Creates a new <strong>Pivot Point</strong> with the selected pivot. <br>
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Delete</strong> <br>
Deletes the <strong>Pivot Point</strong> of the selected Biped Object. <br>
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Single</strong> <br>
Creates a single snapshot from the selected Object. <br>
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>+ Children</strong> <br>
Creates snapshot from the children of the selected Object and integrates them into a group.&nbsp;</p>
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);"><a name="misc"></a> Main Dialog: Misc Rollout </h2>
<p style="font-family: Arial;">
<img alt="dialogMisc.jpg" src="images/atools/dialogMisc.jpg" style="border: 0px solid ; margin-right: 2em; width: 176px; height: 210px; float: left;">
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Load Model</strong> <br>
If a model list is created before, the model selected will be opened (without message box asking to save changes!). <br>
<a href="ModelSetup.html" class="twikiLink"><strong>How to maintain models</strong> </a><br>
<br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Reset Locator</strong> <br>
Rotates and translates the locator to Y+ and [0,0,0] (origin of scene). <br>
<br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Weapons Drop Down List</strong> <br>
If a weapon list is created before, the weapon selected will be
unhidden, every weapon before will be hidden (needs reference in
weapons_ref.max in tools folder). <br>
<strong><a href="http://server41/twiki/bin/view/AssetCreation/CryAnimTutorialDialogMiscWeaponSetup" class="twikiLink">How to maintain weapons</a></strong></p>
<p style="font-family: Arial;"><strong><a href="http://server41/twiki/bin/view/AssetCreation/CryAnimTutorialDialogMiscWeaponSetup" class="twikiLink"></a></strong>
</p>
<h3 style="font-family: Arial;"><img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-orange" src="images/atools/led-orange.gif" align="top"><strong>Muscles</strong>&nbsp;</h3>
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top"><span style="font-family: Arial;">&nbsp;</span><strong style="font-family: Arial;">AutoMuscles</strong><span style="font-family: Arial;"> <br>
If checked and nanoMuscles are in the scene, automatically repositions the look-at targets without animating. </span><br style="font-family: Arial;">
<span style="font-family: Arial;">
If unchecked and Use Keys is unchecked too, keys will be generated automatically when changing the timeline. </span><br style="font-family: Arial;">
<span style="font-family: Arial;">
When exporting using the cryAnim tools, the nanoMuscles will be baked automatically by export. </span><br>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Use Key</strong> <br>
Is available when Auto-Muscles is unchecked. <br>
If nanoMuscles are baked and Use Keys is checked, it will not generate
keys when changing the timeline. Needed when tweaking the bones. <br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top"><span style="font-family: Arial;">&nbsp;</span><strong style="font-family: Arial;">Create</strong><span style="font-family: Arial;"> </span><br>
If there is no nanoMuscles rig available on the character, it will be generated. <br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Bake</strong> <br>
Bakes the nanoMuscles Keys. <br>
</p>
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);"><a name="loadsave"></a> Main Dialog: Load / Save / Export Rollout</h2>
<p style="font-family: Arial;">
<img alt="dialogLoadSave.jpg" src="images/atools/dialogLoadSave.jpg" style="border: 0px solid ; margin-right: 2em; width: 176px; height: 414px; float: left;">
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Load Biped File</strong> <br>
Prompts a open file dialog where you can choose the biped you want to
load (must have correct file naming: works not without file extension).
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Start / End</strong> <br>
Sets the range to save the biped to.
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Range</strong> <br>
Sets the current animation range to save the biped to.
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>All</strong> <br>
Uses the biped range for saving.
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Add</strong> <br>
If a bone is currently selected, the bone will be added to the bone export list.
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Delete</strong> <br>
If a bone is selected in the list, it will be deleted.
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Save</strong> <br>
Prompts a saving file dialog to choose a file where to save the biped to.
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Export</strong> <br>
Prompts a saving file dialog to choose a file where to export to. <br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Save / Export</strong> <br>
Prompts a saving file dialog to choose a file where to save to. <br>
(<em>It will generate automatically the correct path for the CAF file and export the biped.</em>)
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Batch Export</strong> <br>
Runs the batch exporter to export .bip or .fbx files. <br>
<strong><a href="http://server41/twiki/bin/view/AssetCreation/CryAnimDialogBatchExport" class="twikiLink">How to use the batch export</a></strong>
</p>
<p style="font-family: Arial;">
</p>
<p style="font-family: Arial;"></p>
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);"><a name="perforce"></a> Main Dialog: Perforce Rollout </h2>
<p style="font-family: Arial;">
<img alt="dialogPerforce.jpg" src="images/atools/dialogPerforce.jpg" style="border: 0px solid ; margin-right: 2em; width: 176px; height: 291px; float: left;">
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>AutoUpdate</strong> <br>
If checked, tries to get latest revision every minute from perforce. <br>
<br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Notify</strong> <br>
If checked, shows a message box if there is a new updated installed. <br>
<br>
<br>
</p>
<table style="font-family: Arial;" class="twikiTable" border="0" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<th class="twikiFirstCol" bgcolor="#dadada"> <a rel="nofollow" href="http://server41/twiki/bin/view/AssetCreation/CryAnimDialogPerforce?sortcol=0;table=1;up=0#sorted_table" title="Sort by this column"><font color="#000000">Name</font></a> </th>
<th bgcolor="#dadada"> <a rel="nofollow" href="http://server41/twiki/bin/view/AssetCreation/CryAnimDialogPerforce?sortcol=1;table=1;up=0#sorted_table" title="Sort by this column"><font color="#000000">Y(es)</font></a> </th>
<th bgcolor="#dadada"> <a rel="nofollow" href="http://server41/twiki/bin/view/AssetCreation/CryAnimDialogPerforce?sortcol=2;table=1;up=0#sorted_table" title="Sort by this column"><font color="#000000">N(o)</font></a> </th>
<th bgcolor="#dadada"> <a rel="nofollow" href="http://server41/twiki/bin/view/AssetCreation/CryAnimDialogPerforce?sortcol=3;table=1;up=0#sorted_table" title="Sort by this column"><font color="#000000">A(sk)</font></a> </th>
</tr>
<tr>
<td class="twikiFirstCol" bgcolor="#ffffff"> Open For Edit </td>
<td bgcolor="#ffffff"> always open </td>
<td bgcolor="#ffffff"> never open </td>
<td bgcolor="#ffffff"> prompt message to ask </td>
</tr>
<tr>
<td class="twikiFirstCol" bgcolor="#eaeaea"> Add to Source Control </td>
<td bgcolor="#eaeaea"> always add </td>
<td bgcolor="#eaeaea"> never add </td>
<td bgcolor="#eaeaea"> prompt message to ask </td>
</tr>
</tbody>
</table>
<p style="font-family: Arial;">
<br>
<br>
</p>
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);"><a name="tools"></a> Main Dialog: Tools Rollout </h2>
<p style="font-family: Arial;">
</p>
<p style="font-family: Arial;"><img alt="dialogTools.jpg" src="images/atools/dialogTools.jpg" style="border: 0px solid ; margin-right: 2em; width: 176px; height: 301px; float: left;"><img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top"> <strong>Reload Script</strong> <br>
Destroys the dialog and runs the loading script to load all necessary files again. <br>
<br>
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Prompt for File</strong> <br>
When saving or exporting, a open file dialog pops up to get the file
location the animation should be saved to (works only with extension).<br>
<br>
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Biped Working Directory</strong> <br>
Has the path of the directory to use when Save / Exporting animations and will be the default folder when Loading Biped Files.<br>
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Pick</strong> <br>
Opens a dialog to get the directory for the biped files.<br>
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Set</strong> <br>
Assigns the folder path to the variable used internally.<br>
<br>
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Use Rollout States</strong> <br>
If checked, remembers the last state (rolled up/down) of the rollouts
and when loading the dialog again, these states will be set.<br>
<img style="border: 0px solid ; width: 16px; height: 16px; font-family: Arial;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Notify File Attribute</strong> <br>
If checked, pops up a message box if the file to save or export to is read-only.<br>
</p>
<p></p>
<p></p>
<span style="font-family: Arial;">
</span>
</body>
</html>
+95
View File
@@ -0,0 +1,95 @@
<!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: AnimTools: Batch Exporter Rollout</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: AnimTools: Batch Exporter Rollout</h1>
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);"> Main Dialog Batch Export Rollout </h2>
<p style="font-family: Arial;">
<img src="http://server41/twiki/pub/AssetCreation/CryAnimDialogBatchExport/dialogBatchExport.jpg" style="margin-right: 2em;" border="0">
</p>
<h2 style="font-family: Arial;"><img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-orange" src="images/atools/led-orange.gif" align="top"> <strong>Input / Output</strong> </h2>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top"> <strong>Source</strong> <br>
Prompts a open folder dialog where you can choose location of files you want to process.<br>
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>PreExport</strong> <br>
Opens a dialog to define a pre-export script which will be executed
before the actually export begins or after the check is done.<br>
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Export</strong> <br>
Prompts a open folder dialog where you can choose the location to export the files to.<br>
</p>
<p style="font-family: Arial;">
</p>
<h2 style="font-family: Arial;"><img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-orange" src="images/atools/led-orange.gif" align="top"> <strong>Check / Export</strong><br>
</h2>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top"><span style="font-family: Arial;">&nbsp;</span><strong style="font-family: Arial;">Count</strong><span style="font-family: Arial;"> </span><br style="font-family: Arial;">
<span style="font-family: Arial;">
Counter of files in the file list or how many files are selected.</span><br style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top"><span style="font-family: Arial;">&nbsp;</span><strong style="font-family: Arial;">Keep Sub Folders</strong><span style="font-family: Arial;"> </span><br style="font-family: Arial;">
<span style="font-family: Arial;">
If checked, the sub folder structure will be used, otherwise all files in the list will be exported into the Export folder.</span><br style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top"><span style="font-family: Arial;">&nbsp;</span><strong style="font-family: Arial;">Config</strong><span style="font-family: Arial;"> </span><br>
Opens a dialog to config the bone detection.
(<strong><a href="http://server41/twiki/bin/view/AssetCreation/CryAnimTutorialsBoneDetection" class="twikiLink">How to maintain bone detection</a></strong>) <br>
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>Detect</strong> <br>
If checked, automatically chooses the bone specified in Config with the filename.<br>
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>+</strong> <br>
If checked, shows only bone detected files.<br>
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>-</strong> <br>
If checked, shows only non-bone detected files.<br>
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>CHECK</strong> <br>
Processes the files list, without exporting (opening the file, checking
if the file can be exported and running the pre-export script if
defined).<br>
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;<strong>BATCH</strong> <br>
Processes the files list (opening the file, checking if the file can be
exported, running the pre-export script if defined and export the file).</p>
<p style="font-family: Arial;"></p>
<p style="font-family: Arial;"></p>
<span style="font-family: Arial;">
</span>
</body>
</html>
+152
View File
@@ -0,0 +1,152 @@
<!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: Control Panel</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: Control Panel </h1>
<span style="font-family: Arial;"></span>
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;">
<img alt="Control Panel Rollout" src="images/controlpanel.png" style="border: 0px solid ; margin-right: 1em; width: 356px; height: 625px; float: left;">&nbsp;General Overview<br>
</h2>
<span style="font-family: Arial;">The control panel is a place where
you can set personal preferences specific to your workflow. It is
broken up into four main sections Art, Animation, Misc, and Debug Info.<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Art</span></h2>
<span style="font-family: Arial;"><span style="font-weight: bold;">Check for Crytek shader at export [Default: ON]</span><br>
With this enabled, when the export button is pressed in the cryExport
utility rollout, cryTools will loop through all objects that are in the
current export list and check all of their materials and submaterials.
cryTools will generate a warning if it finds any non 'Crytek' materials
or any object with no defined material.<br>
<br>
<span style="font-weight: bold;">Re-parent biped twist bones at export [Default: ON]</span><br>
Biped forearm twist bones are parented to the upper arm for some weird
reason. They still work if you reparent them to the lower arm, but on
load they are always reparented to the upper arm. With this enabled,
the twist bones will be re-parented to the lower arm on character
export. This way they do not receive weird double transforms ingame.<br>
<span style="font-weight: bold; color: rgb(255, 0, 0);">Update:</span> This also reparents upper arm twists now<br>
<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Animation</span></h2>
<span style="font-family: Arial;"><span style="font-weight: bold;">Load Old Animation tools</span><br>
When checked, the original <span style="font-weight: bold;">CryAnimTools</span> will load when <span style="font-weight: bold;">'CryAnimation'</span> is slected from the drop down.</span><br>
<span style="font-family: Arial;"><span style="font-weight: bold;"><br>
Do not unparent $weapon_bone children at export [Default: OFF]</span><br>
I merged our 'animation rigs' into the main character Max file, because
any time the main character was updated, then the animation rig would
need to be updated. Now we animate on the actual character Max file.
Because of this, there are guns parented to the arms that you can cycle
through from within the Animation Tools. It is important that these
guns not export in the hierarchy. With this option checked, the weapon
objects will be exported, as skeletal nodes.<br>
<br>
<span style="font-weight: bold; color: rgb(255, 0, 0);">Update:</span> The following have been removed, but the commented code exists<br>
<span style="font-weight: bold; color: rgb(153, 153, 153);">Auto-update pose collections on max file open [Default: OFF]</span><br style="color: rgb(153, 153, 153);">
<span style="color: rgb(153, 153, 153);">With this enabled, cryTools
will auto-update pose collections when you load a file. This is useful
when an animation team has a pose collection file somewhere on the
network or in P4. You can also click 'Get Latest P4' to manually sync
to the latest pose collections from the control panel without
restarting.</span><br style="color: rgb(153, 153, 153);">
<br style="color: rgb(153, 153, 153);">
<span style="font-weight: bold; color: rgb(153, 153, 153);">Sync pose collections at p4 start [Default: OFF]</span><br style="color: rgb(153, 153, 153);">
<span style="color: rgb(153, 153, 153);">In addition to the above, each
animator can have their pose collections updated from a P4 location
every time he opens a maxfile.</span><br>
<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Misc</span></h2>
<span style="font-family: Arial;"><span style="font-weight: bold;">Suppress all export warnings [Default: OFF]</span><br>
This is for advanced users. It disabled all warnings for shader
problems, hierarchy issues; everything. You really shouldn't enable
this unless working on some test items and getting annoyed with export
warnings.<br>
<br>
<span style="font-weight: bold;">Show splash screen [Default: ON]</span><br>
You can disable the splash screen here. It is a good idea to leave the
splash screen up as it has some information like your local
build/latest build and the version number, it is also up only during
the time it takes to load/initialize the tools. The cryTools splash
screen can be closed immediately by clicking anywhere on the screen,
you can also click menu items and things while it is up.<br>
<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Update/Uninstall/Rollback</span></h2>
<span style="font-family: Arial;"><span style="font-weight: bold;">Reload/Install Updates From Your Local Build</span><br>
This will reload cryTools, this is useful if you have copied over new
scripts, or updated your scripts via PerForce, AlienBrain, etc...<br>
<br>
<span style="font-weight: bold;">Retreive Latest Tools/Sync</span><br>
When this is pressed, it uses the selected option to look for tools
updates. You need to set up the script to work with your P4 or
AlienBrain servers.<br>
<br>
<span style="font-weight: bold;">Rollback Exporter</span><br>
This rolls back to the last version of the exporter<br>
<br>
<span style="font-weight: bold;">Uninstall Crytools</span><br>
This uninstalls the scripts<br>
<br>
<span style="font-weight: bold;">LOCAL/LATEST Build</span><br>
This shows the local and latest builds. The latest build is queried
from a build server, you will have to point it at your server.<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Debug Info</span></h2>
<span style="font-family: Arial;"><span style="font-weight: bold;">dump/remove callbacks</span><br>
If you click 'dump callbacks', all the callbacks cryTools has
registered will be echoed to the Maxscript Listener. If you click
'remove callbacks' nothing will happen, you have to right click it to
remove all callbacks cryTools has set. To reload the callbacks, you
must restart max, click 'Check/Install updates from your latest build'
in updateTools, or open the tools that registered the callback (like
riggingTools or animationTools)<br>
<br>
<span style="font-weight: bold;">dump crytek global vars</span><br>
This will dump any global variables set by cryTools. Crytools uses a global struct now and does not set as many global vars<br>
<br>
<span style="font-weight: bold;">Various debug info</span><br>
Here you can check for problems. I echo out a lot of the vars that,
when missing or improperly set, can cause cryTools not to work or load.
I will quickly go through them:<br>
<br>
<span style="font-weight: bold;">MAX VERSION:</span> Self explanatory<br>
<br>
<span style="font-weight: bold;">MAX PATH:</span> The 3D Studio Max install path<br>
<br>
<span style="font-weight: bold;">PROJECT:</span> Internally, this is
taken from your P4 root folder name. At Crytek, we use a naming scheme
like "Game02", "Game04", etc. This allows cryTools to be largely
project independent when syncing tools and things on P4.<br>
<br>
<span style="font-weight: bold;">DOMAIN:</span> This is returned from a
cryTools function that returns the domain of the network the cryTools
users machine is on. This is useful when creating internal tools, it is
not secure, but it keeps debug stuff and hacks out of the UI.<br>
<br>
<span style="font-weight: bold;">BUILD PATH: </span>This is the location of the build on the users local machine.<br>
<br>
<span style="font-weight: bold;">CRYEXPORT.INI PATH: </span>The location of the cryexport.ini file<br>
<br>
<span style="font-weight: bold;">CRYTOOLS.INI PATH: </span>The location of the crytools.ini file where the control panel settings and various other things are stored.<br>
<br>
<span style="font-weight: bold;">EDITOR PATH:</span> The local path to the editor.<br>
<br>
<span style="font-weight: bold;">ROLLBACK STATUS:</span> If 'true',
cryTools is currently operating in a 'rolled back' state, and will not
attempt to get latest versions of the exporter and tools at max start.
'False' indicates normal operation.<br>
<br>
<span style="font-weight: bold;">LOCAL BUILD #: </span>This is the number of the local build on the users HD.<br>
<br>
<span style="font-weight: bold;">LATEST BUILD #: </span>This is the latest build number on the server (procedural builds)<br>
<br>
<span style="font-weight: bold;">LATEST BUILD ON SERVER: </span>This is the filename of the latest build on the server. <br>
<br>
<br>
</span>
</body>
</html>
+208
View File
@@ -0,0 +1,208 @@
<!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: CryAnimTools</title>
</head>
<body style="color: rgb(0, 0, 0);" alink="#ee0000" link="#0000ee" vlink="#551a8b">
<h1 style="font-family: Arial; background-color: rgb(192, 192, 192);">CryAnimTools&nbsp;</h1>
<span style="font-family: Arial;">(CryAnimTools are old and have been
replaced with animTools, they still exist and are accessible through
the Control Panel. This is mainly for reference and some old tools that
were not merged into animTools)</span>
<p style="font-family: Arial;">
<img alt="CryAnimTools Rollout" src="images/animationTools.png" style="border: 0px solid ; margin-right: 1em; width: 204px; height: 2275px; float: left;">
</p>
<span style="font-family: Arial;"><br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;"><span style="font-weight: bold;">CryPlantKey</span></span></h2>
<span style="font-family: Arial;">CryPlantKey is one of the first
cryTools written, it is used to plant a node (i.e. foot) in a spot
specified by the animator for a given number of frames.<br>
<br>
<span style="font-weight: bold;">Key Type</span><br>
Here you can set the key type of the keys that are generated. You may
choose from any of the three supported Biped key types: Planted,
Sliding, or Free. Checking 'Only for existing' will only overwrite the
existing keys, if this is unchecked the tool will default to one key
per frame.<br>
<br>
<span style="font-weight: bold;">Begin/End (Set Range)</span><br>
You can set a range either by entering a numeric range, or by clicking
the 'begin' and 'end' buttons to dump the current time into the field.<br>
<br>
<span style="font-weight: bold;">Use Begin/End - Use Timeline</span><br>
Upon pressing either of these, the script will run. When 'Use
Begin/End' is pressed, the values entered in the Begin/End fields will
be used, when pressing 'Use Animation Range', the beginning and ending
of the animation range will be used.<br>
<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;"><span style="font-weight: bold;">BipedTools</span></span></h2>
<span style="font-family: Arial;">The BipedTools are an extremely user friendly front end to more laborious Biped-related tasks.<br>
<br style="font-weight: bold;">
<span style="font-weight: bold;">Biped Selection</span><br>
At the top you see this drop down menu where you select the biped you
are currently wanting to manipulate. This list is set at the time you
open the Animation tools, if you have imported other biped and would
like to update/refresh the list, click the arrow: &lt; . (less than)<br>
<br>
<span style="font-weight: bold;">Bip Motion Menu</span><br>
This takes you to the motion menu tab for the current biped loaded in the tools.<br>
<br>
<span style="font-weight: bold;">LoadBIP</span><br>
An improved (resizable) BIP file requester for loading animations.<br>
<br>
<span style="font-weight: bold;">Figure Mode / Hide Biped [Toggles]</span><br>
These two checkbuttons are toggles, meaning that when you press 'Figure
Mode' it stays hilighted for the duration that the characte is in
figure mode. 'Hide Biped is one of the most used buttons in the entire
Aniamtion toolset; it just hides the entire skeleton.<br>
<br>
<span style="font-weight: bold;">In Place Mode [Toggle]</span><br>
Clikcing the 'In place Mode' toggle will turn on In Place Mode, which
constrains the motion on X and Y, however, pressing 'X or Y will
constrain the motion to only the selected axis.<br>
<br>
<span style="font-weight: bold;">Select Only Biped Bones</span><br>
Selects the original biped skeleton, and ignores any extra helper bones
that have been added. Useful when you want to load up a pose or do some
motion panel operation to all the original biped bones. (motion panel
biped options will not load if a single non-original biped bone is in
the current selection)<br>
<br>
<span style="font-weight: bold;">Clamp Timeline</span><br>
This clamps the timeline at the current key, if you click 'At Last Key'
it will clamp the timeline at the last keyframe of the currently
selected object.<br>
<br>
<span style="font-weight: bold;">Reverse Animation to FBX Skeleton</span><br>
This will generate a skeleton with our internal FBX naming convention
and it will reverse the current animation onto that skeleton. Just give
the script the start and end frames of the animation you would like to
reverse.<br>
<br>
<span style="font-weight: bold;">Attach Biped to FBX Skeleton / Delete FBX Skeleton</span><br>
This will copy the animation of an imported FBX skeleton with the
correct naming convention to the currently loaded biped. 'Delete FBX
Skeleton' removes the FBX skeleton.<br>
<br>
<span style="font-weight: bold;">Collections</span><br>
This loads Biped pose collections and allows you to manually sync to the latest files from Perforce.<br>
<br>
<span style="font-weight: bold;">Crysis Rig Navigator</span><br>
This acts as a synaptic rig element selector, much like what people are
used to in Maya, XSI, and MotionBuilder. You can click on part of the
rig to select it. When working with multiple bipeds in the same scene,
remember to select the biped you want to manipulate at the top of the
BipedTools rollout.<br>
<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Internal Tools/Fixes</span></h2>
<span style="font-family: Arial;"><span style="font-weight: bold;">Animation Setup</span><br>
This drop down menu offers you the choices of none, pistol, rifle, mg,
and law. Upon selecting a weapon, it appears in the character's hand<br>
<br>
<span style="font-weight: bold;">Add Trooper Weapon Bone</span><br>
This adds a correctly oriented trooper weapon bone into the trooper
hierarchy. It was made when Antoine needed to iterate through all
trooper animations and add a central weapon bone.<br>
<br>
<span style="font-weight: bold;">XAF Import/Export</span><br>
This is an XAF importer/exporter for non human characters. The idea was
to save XML Animation files (XAF) for all non human characters like we
do BIPs for humans. I implemented it for the trooper, but Animation
never used it and it does not work for other characters currently.<br>
<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">GeneralTools</span></h2>
<span style="font-family: Arial;"><span style="font-weight: bold;">Change Rotation to TCB</span><br>
This iterates through all selected objects and changes their rotation
controllers to TCB. It really comes in handy when trying to export
vehicles into CryEngine as CGAs (all moving parts need to be TCB).<br>
<br>
<span style="font-weight: bold;">Bake Motion to Keys</span><br>
Bakes all motion on an object to dense keys (1 key/frame)<br>
<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">RangeView</span></h2>
<span style="font-family: Arial;">This drop down menu is populated by
Animator-created 'time-tagged' sequences. It reads in the names and
allows you to select individual sequences. When a sequence is selected,
the timeline beginning/end is set the the time-tagged range's
beginning/ending.<br>
<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">MirrorArms</span></h2>
<span style="font-family: Arial;">When you press 'Mirror' the animation
from one arm to the other will be mirrored for the frames currently in
the timeline. 'copy/mirror root anim' will also copy the root and
reverse it's animation. Keep in mind that you need to be using the
Crysis first person arms rig, and also that these newly created
keyframes might not tween correctly to other keys outside of the
animation range, so you might want to do all keys at once.<br>
<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Batch Export</span></h2>
<span style="font-family: Arial;">The Batch Exporter was created to
manipulate many animations at once, and make sweeping changes in
animation data. You can do things like add new procedurally driven
bones to a hierarchy then batch export these bones/animation to 3,000
animations. You could also flip every animation 180 deg on the Z axis.
The exporter works by loading many BIP animations onto a currently
loaded Biped, and exporting them one by one. This makes it very
flexible, and allows you to generate sweeping changes to the animation
dataset with relative ease.<br>
<br>
<span style="font-weight: bold;">Specify Modes</span><br>
The idea was that here you couls specify modes, switching from a BIP
batch exporter to an XAF batch exporter. That idea has currently been
put on hold, since XAF was not switched to as a standard animation
format for non-human characters.<br>
<br>
<span style="font-weight: bold;">Batch Folder / Save Folder</span><br>
Here you set the Batch Folder that has trhe BIP files you would like to
batch process/export, you also select the Save Folder. Upon selecting
the Batch Folder the Export button should enable with the number of bip
files there are present to be batched.<br>
<br>
<span style="font-weight: bold;">Batching Mutliple Folders</span><br>
If you check the box next to Multiple Folders, the Add to list button
should become active. If you press this, your current Batch/Save
folders will be saved in a que below (Folders to Process in List:). You
can save your que and load old queues you have made.<br>
<br>
<span style="font-weight: bold;">Generate CAL File</span><br>
This would generate a CAL file for the animations you were batch
exporting, making it easier to test them and also would make it so you
did not need to dump those new animations directly into your build. The
CAL file system has changed a lot in the past months, so this may no
longer work.<br>
<br>
<span style="font-weight: bold;">Log to File</span><br>
With this enabled, cryTools will generate a log file to the folder in which you are exporting. Here is an example:<br>
7/20/2006 12:38:22 PM --- Exporting combat_blinded_nw_01<br>
7/20/2006 12:38:30 PM --- Exporting combat_blinded_pistol_01<br>
7/20/2006 12:38:40 PM --- Exporting combat_blinded_rifle_01<br>
7/20/2006 12:38:52 PM --- Exporting combat_callBase_01<br>
<br>
<span style="font-weight: bold;">Flip on Z Axis</span><br>
This will flip all exported animation on the Z axis. This was used to
convert all out animations from facing -Y direction to +Y direction.<br>
<br>
<span style="font-weight: bold;">Export RAW CAF Data</span><br>
This is somewhat deprecated. It used to export RAW CAF animation data,
but now we use a different RAW format and compression scheme. This
option however, is still here for testing and backwards compatibility.<br>
<br>
<span style="font-weight: bold;">Save BIP/XAF Files</span><br>
With this option enabled, the Batch Exporter will also save the BIP
file when it exports. If you check 'Only Save, No Export, the Batch
Exporter becomes a kind of "Batch Saver" that can step through folders
of BIP files and load them onto a new skeleton and resave them with new
bones or other changes. <br>
<br>
</span>
</body>
</html>
+321
View File
@@ -0,0 +1,321 @@
<!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: CryArtistTools</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;">CryArtistTools </h1>
<p style="font-family: Arial;">
<img alt="CryArtistTools Rollout" src="images/artistTools.png" style="border: 0px solid ; margin-right: 1em; width: 204px; height: 1144px; float: left;">
</p>
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;">Artist Tools</h2>
<h3 style="font-family: Arial; background-color: rgb(225, 225, 225);">General Tools</h3>
<span style="font-weight: bold; font-family: Arial;">centerPivot</span><br style="font-family: Arial;">
<span style="font-family: Arial;">This will cycle through all selected objects and center the pivot of each to the center of the objects respective bounding box.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-weight: bold; font-family: Arial;">preserveUVs</span><br style="font-family: Arial;">
<span style="font-family: Arial;">This was a request, which turns on and off 'preserve UVs' when clicked. It has also been exposed as a key binding in cryKeys.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-weight: bold; font-family: Arial;">resetXformCollapse</span><span style="font-family: Arial;"><br>
Upon clicking this, cryTools will
loop through all currently selected objects and quickly resetXform and
then collapse each, one by one.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-weight: bold; font-family: Arial;">Copy/Paste Modifier</span><br style="font-family: Arial;">
<span style="font-family: Arial;">When clicking Copy Modifier, the
current modifier will be copied and stored in memory. It can then be
pasted to any number of like objects. This is useful for changing a
base mesh and applying the change to many other meshes with the same
point index (useful for heads/morph targets)</span><br style="font-family: Arial;">
<h3 style="font-family: Arial; background-color: rgb(225, 225, 225);">UV Tools</h3>
<span style="font-family: Arial;">By pressing ' &lt; ' or reloading
Artist Tools, it will grab the UV info from the currently selected
object. You can now use the following buttons to manipulate the UV
coordinates. There is the ability to scale selected points to 0 on the
X and Y, or X+Y, and to rotate 90 degrees clockwise and
counterclockwise. <br>
<br>
<br>
</span>
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;">Diagnostics</h2>
<h3 style="font-family: Arial; background-color: rgb(225, 225, 225);">polyStats</h3>
<span style="font-family: Arial;">polyStats gives realtime face, edge and vert data for any selected object.<br>
</span>
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;">CGF Metadata Manager</h2>
<span style="font-family: Arial;">
This tool is used to set-up breakable/destroyable objects. The data is
set and stored in the objects' <span style="font-weight: bold;">User Defined Properties</span> (UDP).</span><strong style="font-family: Arial;"><span style="text-decoration: underline;"><br>
</span></strong>
<h3 style="background-color: rgb(225, 225, 225);"><strong style="font-family: Arial;">Object Properties</strong></h3>
<p style="font-family: Arial;"><strong>Mass</strong> (render geometry property)<br>
Mass defines the weight of an object based on real world physics. A value of <span style="font-weight: bold;">0</span> sets the object to "unmovable". This is used on the basement of
a house for example or the sign pole which should not be movable and
always stay in the original position. When used in brushes and Geom
Entities, this is the final part's mass. When used in regular Entities,
all parts masses are scaled so that their total mass gives the mass
specified in the entity properties.<strong></strong>
</p>
<p style="font-family: Arial;">
<strong>Density</strong><br>
The engine automatically calculates the mass for an object based on the density and the bounding box of an object.
Can be used alternatively to <em>mass</em>.
</p>
<span style="font-family: Arial;">
To set the Mass/Density of an object, check the appropriate checkbox
and set the value. To &nbsp;apply the setting click "Apply Settings to
Selected" button. If wishing to scale the mass of multiple objects with
different masses, select those objects, set the scale value desired,
and press "Update Data" button.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;">
A forced primitve allows a basic shape be defined for the object based
on it's bounding box. Check the desired shape, and apply settings.<br>
<br>
</span><strong style="font-family: Arial; color: rgb(255, 0, 0);">TechNote:</strong><span style="font-family: Arial;"> You must either define this value or </span><em style="font-family: Arial;">density</em><span style="font-family: Arial;"> to ensure the simulation is working correctly.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-weight: bold; font-family: Arial;"><span style="font-family: Arial;">Joint Properties</span></span><span style="font-weight: bold; text-decoration: underline; font-family: Arial;"></span></h3>
<span style="font-weight: bold; text-decoration: underline; font-family: Arial;">
<span style="text-decoration: underline;"><span style="font-weight: bold;"><span style="text-decoration: underline;"><span style="font-weight: bold;"></span></span></span></span></span><span style="font-family: Arial;">Only
Helpers/Dummies can be joints. Joints hold together pieces of the
breakable objects and define how much force (and what kind of force) is
necessary to break the objects from their joints.</span><span style="font-family: Arial;">
To Set the joint properties enable joint properties and set the needed values for the properties desired.</span>
<p style="font-family: Arial;">
<strong>Limit</strong> - limit is a general value for several different kind of forces applied
to the joint. It contains a combination of the values below.<br>
<strong style="font-family: Arial; color: rgb(255, 0, 0);"></strong></p>
<p style="font-family: Arial;"><strong style="font-family: Arial; color: rgb(255, 0, 0);">TechNote:</strong><span style="font-family: Arial;">&nbsp;</span>This value needs to be defined, otherwise the
simulation will not work correctly.
Crysis Example values: 100 - 500 can be broken by a bullet; 10000 can
be broken by the impact of a driving vehicle or a big explosion.
</p>
<p style="font-family: Arial;">
The following values are optional and are used to fine tune the "limit" settings.<br>
<strong></strong></p>
<p style="font-family: Arial;"><strong>Bend</strong> - maximum torque around an axis perpendicular to the normal.
</p>
<p style="font-family: Arial;">
<strong>Twist</strong> - maximum torque around the normal
</p>
<p style="font-family: Arial;">
<strong>Pull</strong> - maximum force
applied to the joint&rsquo;s 1st object against the joint normal (the parts
are "pulled together" as a reaction to external forces pulling them
apart)
</p>
<p style="font-family: Arial;">
<strong>Push</strong> - maximum force
applied to the joint's 1st object (i.e. the one whose name is listed
first in the joint's name, or if the names were not specified, the
object the joint's z axis points towards) along the joint normal; joint
normal is the joint's z axis, so for this value to actually be "push
apart" (as a reaction to external forces pressing the parts together),
this axis must be directed inside the 1st object
</p>
<p style="font-family: Arial;">
<strong>Shift</strong> - maximum force in the direction perpendicular to normal
</p>
<span style="font-family: Arial;"><span style="font-weight: bold;">
</span></span><span style="font-weight: bold; font-family: Arial; color: rgb(255, 0, 0);">TechNote:</span><span style="font-family: Arial;"> Remember to press '<span style="font-weight: bold;">Apply Settings' </span>after you have made changes to an objects properties.</span><br style="font-family: Arial;">
<br style="font-family: Arial; font-weight: bold;">
<span style="font-family: Arial;"><span style="font-weight: bold;">Scale Properties</span> - To scale the joint properties, select the joints that you need to
scale, check the scale properties checkbox, and check the properties
which you desire to scale. Set the scale value and apply settings to
the objects.<br>
<br>
</span>
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-weight: bold; font-family: Arial;"><span style="font-family: Arial;">Destroyable Objects</span></span></h3>
<span style="font-family: Arial;"></span><span style="font-weight: bold; font-family: Arial; color: rgb(255, 0, 0);">TechNote: </span><span style="font-family: Arial; color: rgb(255, 0, 0);"><span style="color: rgb(0, 0, 0);">please keep in mind that Destroyable objects should also have Mass/Density<br>
<br>
</span></span><span style="font-family: Arial;"><span style="font-weight: bold;">Main</span>: This is the option to set the submodel's name to be "Main" so that it becomes the </span><span style="font-family: Arial;">(only) pre-destruction submodel</span><span style="font-family: Arial;">.<br>
</span> <code style="font-family: Arial; font-weight: bold;"><br>
Remain</code><span style="font-family: Arial;">: This sets the object's name to "Remain" so it becomes the permanent post-destruction submodel which replaces </span><code style="font-family: Arial;">Main</code><span style="font-family: Arial;">.</span><br>
<br>
<span style="font-family: Arial;"><span style="font-weight: bold;">generic</span> = count: Causes the piece to be spawned
multiple times in random locations throughout the original model. The
count specifies how many times it is spawned. There can be multiple
generic pieces.<br>
<br>
</span><code style="font-family: Arial; font-weight: bold;">entity</code><span style="font-family: Arial;">: If object is&nbsp;set to entity, the piece is spawned as a persistent entity. Otherwise, it is spawned as a particle.<br>
<br>
</span><code style="font-family: Arial; font-weight: bold;">rotaxes</code><span style="font-family: Arial;"> = </span><em style="font-family: Arial;">axes</em><span style="font-family: Arial;">: For generic pieces, this generates random rotation. Set this to the axis letter(s), for example, </span><code style="font-family: Arial;">z</code><span style="font-family: Arial;"> or </span><code style="font-family: Arial;">xyz</code><span style="font-family: Arial;">,
to cause the piece to rotate randomly about the selected local
axis/axes. If not set, the pieces will spawn in their authored rotation.<br>
<br>
</span><code style="font-family: Arial; font-weight: bold;">sizevar</code><span style="font-family: Arial;"><span style="font-weight: bold;"> </span>= </span><em style="font-family: Arial;">var</em><span style="font-family: Arial;"> : For generic pieces, this randomises the size of each piece, by a scale of 1-var to 1+var.</span><br>
<span style="font-weight: bold; font-family: Arial; color: rgb(255, 0, 0);"></span><span style="font-family: Arial; color: rgb(255, 0, 0);"><span style="color: rgb(0, 0, 0);"></span></span><span style="font-family: Arial; color: rgb(255, 0, 0);"><span style="color: rgb(0, 0, 0);"></span></span><span style="font-family: Arial;"></span><br>
<span style="font-family: Arial;"><br>
</span><span style="font-family: Arial;">
<br>
</span>
</body>
</html>
+259
View File
@@ -0,0 +1,259 @@
<!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
&lsquo;<span style="font-weight: bold;">Dummy_</span>&rsquo;.
The overflow (targets baked out that have no corresponding helper) will
default to a row up top, like the &lsquo;dirty&rsquo; 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)&nbsp;&nbsp; Select the main head you will model on and click
&lsquo;<span style="font-weight: bold;">Select Main</span>&rsquo;<br>
2)&nbsp;&nbsp; You &lsquo;<span style="font-weight: bold;">collapse</span>&rsquo;
verts on the main head (two at a time) to make an LOD, then click
&lsquo;<span style="font-weight: bold;">Save Collapse
Data</span>&rsquo;<br>
3)&nbsp;&nbsp; This then saves an &lsquo;<span style="font-weight: bold;">.i2l</span>&rsquo; file
with your changes.<br>
4)&nbsp;&nbsp; Open a file with other heads (different
character head)<br>
5)&nbsp;&nbsp; Select all the heads and click &lsquo;<span style="font-weight: bold;">Select variations</span>&rsquo;<br>
6)&nbsp;&nbsp; Then click &lsquo;<span style="font-weight: bold;">Load Collapse Data</span>&rsquo;
and select your &lsquo;<span style="font-weight: bold;">.i2l</span>&rsquo;
file<br>
7)&nbsp;&nbsp; Then click &lsquo;<span style="font-weight: bold;">Apply</span>&rsquo;.<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 &lsquo;pose vectors&rsquo; like &lsquo;look_up&rsquo;,
&lsquo;look_down&rsquo;, &lsquo;look_left&rsquo;,
&lsquo;look_right&rsquo;, 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>&nbsp;</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 &lsquo;<span style="font-weight: bold;">Select Character Head</span>&rsquo; which will then change to HeadName + &lsquo;Head Loaded<br>
When you select a pose vector, the &lsquo;<span style="font-weight: bold;">Create Pose Shape</span>&rsquo;
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 &lsquo;<span style="font-weight: bold;">Create Pose Shape</span>&rsquo; 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 &lsquo;<span style="font-weight: bold;">Add Pose Shape To Morpher</span>&rsquo;, 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)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Look_Up</span><br style="font-weight: bold;">
<span style="font-weight: bold;">2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Look_Down</span><br style="font-weight: bold;">
<span style="font-weight: bold;">3)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Look_Right</span><br style="font-weight: bold;">
<span style="font-weight: bold;">4)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Look_Left</span><br style="font-weight: bold;">
<span style="font-weight: bold;">5)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tilt_Left</span><br style="font-weight: bold;">
<span style="font-weight: bold;">6)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tilt_Right</span><br>
<br>
You can work on a corrective shape, then click &lsquo;<span style="font-weight: bold;">Add Pose Shape To Morpher</span>&rsquo; and it will apply your work over the associated channel so that you can test as you go. If you click &lsquo;<span style="font-weight: bold;">Extract Relative Pose Shape</span>&rsquo;,
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>
+675
View File
@@ -0,0 +1,675 @@
<!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: CryRiggingTools</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: CryRiggingTools </h1>
<span style="font-family: Arial;"></span>
<p style="font-family: Arial;">
<img style="border: 0px solid ; margin-right: 1em; width: 204px; height: 1495px; float: left;" src="images/riggingTools.png" alt="CryRiggingTools Rollout">
</p>
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);">Internal Tools <small>(some deprecated)</small></h2>
<span style="font-family: Arial;">This tools rollout only shows up if the <span style="font-weight: bold;">DOMAIN</span> is set as <span style="font-weight: bold;">INTERN.CRYTEK.DE</span>
(in the cryTools Control Panel you can see your DOMAIN). These tools
are not secret in any way, they are just quick hacks to make it easier
for artists, animators and TDs to fix issues more easily, and deal with
certain project-specific rigs. </span><span style="font-family: Arial;">Even if you are not in the Crytek offices you can easily enable this code or learn from it, </span><span style="font-family: Arial;">or you can just check out how we patched different problems.<br>
<br>
<span style="font-weight: bold; color: rgb(255, 0, 0);">TechNote:</span> Arrrr, these be untested waters with monsters abound! Wear a helmet.<br style="font-family: Arial;">
</span>
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-family: Arial; font-weight: bold;">Helper Joints</span></h3>
<span style="font-family: Arial;">This primarily deals with the Crysis
NanoSuit helper joints, but also covers knees, breasts, and others.
Hide/Show Helper Joints will hide and unhide the joints. Select Helper
Joints will select them and Unselect Helper Joints will deselect them.</span><br style="font-family: Arial;">
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-family: Arial; font-weight: bold;">File Fixes/Cleanup</span></h3>
<span style="font-family: Arial; font-weight: bold;">Mirror Weapon Bone</span><br style="font-family: Arial;">
<span style="font-family: Arial;">This mirrors and correctly orients
the right weapon bone to the left and renames the new one
alt_weapon_bone01. At the start of Crysis characters only had one
weapon bone (in the right hand), mid way through we decided that we
would add another weapon bone in the left hand.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Select New Attachment Points</span><br style="font-family: Arial;">
<span style="font-family: Arial;">When pressed with nothing checked,
this simply selects the new weapon attachment points. With delete\add
checked, it either adds the new attachment points, or if they are
present, deletes them. With hide\show checked it will hide them, or
show them if they are hidden. After a year and a half of Crysis
development, we decided to add many weapon attachment points to every
human character in the game, that's why this tool was written, the
attachment points added are:</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">weaponPos_hurricane</span><br style="font-family: Courier;">
<span style="font-family: Courier;">weaponPos_law</span><br style="font-family: Courier;">
<span style="font-family: Courier;">weaponPos_rifle01</span><br style="font-family: Courier;">
<span style="font-family: Courier;">weaponPos_rifle02</span><br style="font-family: Courier;">
<span style="font-family: Courier;">weaponPos_pistol_L_leg</span><br style="font-family: Courier;">
<span style="font-family: Courier;">weaponPos_pistol_R_leg</span><br style="font-family: Courier;">
<span style="font-family: Courier;">weaponPos_pistol_L_hip</span><br style="font-family: Courier;">
<span style="font-family: Courier;">weaponPos_pistol_R_hip</span><br style="font-family: Courier;">
<span style="font-family: Courier;">weaponPos_grenade_L_hip</span><br style="font-family: Courier;">
<span style="font-family: Courier;">weaponPos_grenade_R_hip</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold; color: rgb(255, 0, 0);">TechNote: </span>The weapon positions are loaded from the following max file: <span style="font-weight: bold;">Tools\maxscript\ref\weapon_positions.max</span></span><br style="font-family: Arial;">
<br style="font-family: Arial; font-weight: bold;">
<span style="font-family: Arial; font-weight: bold;">Wire FP Hands Twist Bones</span><br style="font-family: Arial;">
<span style="font-family: Arial;">This wires up and procedurally drives
twist bones on the Crysis first person arms. When we were pretty far
into development we decided twist bones were needed for correct
pronation/supination of the first person arms. The wiring allowed the
current animation assets to drive the twist bones.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Comment out Nub Bones</span><br style="font-family: Arial;">
<span style="font-family: Arial;">We have many 'nub' bones in our rigs,
these are old holdovers from the Physique era. A nub bone was used to
create a physique link, the same way some rigs have 'end' bones. When
you press this button, the tool will search your scene for the
following named nodes and replace them thusly:</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">Bip01 HeadNub - _Bip01 HeadNub</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01 R Finger0Nub - _Bip01 R Finger0Nub</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01 R Finger1Nub - _Bip01 R Finger1Nub</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01 R Finger2Nub - _Bip01 R Finger2Nub</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01 R Finger3Nub - _Bip01 R Finger3Nub</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01 R Finger4Nub - _Bip01 R Finger4Nub</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01 L Finger0Nub - _Bip01 L Finger0Nub</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01 L Finger1Nub - _Bip01 L Finger1Nub</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01 L Finger2Nub - _Bip01 L Finger2Nub</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01 L Finger3Nub - _Bip01 L Finger3Nub</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01 L Finger4Nub - _Bip01 L Finger4Nub</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01 L Heel - _Bip01 L Heel</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01 R Heel - _Bip01 R Heel</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01LToeHelper - _Bip01LToeHelper</span><br style="font-family: Courier;">
<span style="font-family: Courier;">Bip01RToeHelper - _Bip01RToeHelper</span><br style="font-family: Arial;">
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-family: Arial;">Locomotion Manager</span></h3>
<span style="font-family: Arial; font-weight: bold;">Extract Data to LocoMan Node</span><br style="font-family: Arial;">
<span style="font-family: Arial;">When pressed, this steps through all
the frames of the current biped animation and adds a spedcial 'locoMan'
node that the engine uses to get data about the characters movement and
look direction. The node itself looks like a circle around the hips of
the character (or on the ground) with an arrow breaking through it. The
following check boxes effect how the node is created:</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">Lock to X/Y </span>- This will lock the node to the X or Y axis.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">Ignore Root Rotation</span> - This will disable Use Head for Direction and Use Root for Direction, and the locoman node will not rotate at all.</span><br style="font-family: Arial;">
<br style="font-family: Arial; font-weight: bold;">
<span style="font-family: Arial;"><span style="font-weight: bold;">Restrict to Ground Plane</span> - This will restrict the locoMan node to a Z height of 0, or stick it to the flat ground plane during the animation.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">Use Head for Direction</span>
- This will use the head of the character to point the locoMan node
(you assume that the character is looking the direction you want him to
be facing (useful for most instances the root would mess up (like
prone))</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">Use Root for Direction </span>- This will use the pelvis orientation to generate a locoMan node direction.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">Freeze and Lock </span>- When checked this will freeze and lock the locator, if you want to refine it's motion by hand, do not leave this checked.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Remove Unwanted Bones</span><br style="font-family: Arial;">
<span style="font-family: Arial;">When you press this button it will
either remove bones from the Skin modifier of the currently selected
node, or delete them, depending on which checkbox is selected. The
bones removed or deleted are any bones commented out of export ('_'
prefix) and *nub bones.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Rigging Tools</span></h2>
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-family: Arial;">General Tools</span></h3>
<span style="font-family: Arial; font-weight: bold;">matchPivot</span><br style="font-family: Arial;">
<span style="font-family: Arial;">Select two objects. When you press this button it will snap the pivot of the second object to that of the first.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">zeroOut Rots</span><br style="font-family: Arial;">
<span style="font-family: Arial;">This is a bread and butter tool for
TDs. When you press this, it inserts a point helper in the hierarchy
between the currently selected node and it's parent effectively zeroing
out the selected node's rotations. The new node created has the current
node's name + 'ZERO', example: Bip01 R Hand Phys would have a helper
inserted called Bip01 R Hand PhysZERO. This works for any number of
selected objects.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Clamp Timeline at Current/Last</span><br style="font-family: Arial;">
<span style="font-family: Arial;">This clamps the timeline at the
current key, if you click 'At Last Key' it will clamp the timeline at
the last keyframe of the currently selected object.</span><br style="font-family: Arial;">
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-family: Arial;">Biped Tools</span></h3>
<span style="font-family: Arial; font-weight: bold;">Figure Mode / Hide Biped [Toggles]</span><span style="font-family: Arial;"><br>
These two checkbuttons are toggles, meaning that when you press 'Figure
Mode' it stays hilighted for the duration that the characte is in
figure mode. 'Hide Biped is one of the most used buttons in the entire
Aniamtion toolset; it just hides the entire skeleton.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Bip Motion Menu</span><span style="font-family: Arial;"><br>
This takes you to the motion menu tab for the current biped loaded in the tools.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Select Biped Bones</span><br style="font-family: Arial;">
<span style="font-family: Arial;">Selects the original biped skeleton,
and ignores any extra helper bones that have been added. Useful when
you want to load up a pose or do some motion panel operation to all the
original biped bones. (motion panel biped options will not load if a
single non-original biped bone is in the current selection)</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Toggle In Place Mode [Toggle]</span><br style="font-family: Arial;">
<span style="font-family: Arial;">Clikcing the 'In place Mode' toggle
will turn on In Place Mode, which constrains the motion on X and Y,
however, pressing 'X or Y will constrain the motion to only the
selected axis.<br>
</span><br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Convert Biped to Bones</span><br style="font-family: Arial;">
<span style="font-family: Arial;">This will essentially snapshot out the biped to normal nodes that are no longer Biped related, yet keeping the hierarchy.</span><br>
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-family: Arial;">Rotate Bind Pose</span></h3>
<span style="font-family: Arial;">This will rotate <span style="font-weight: bold;">Skinned</span>
characters an arbitrary rotation, updating the initial skeletal
positions. It does this by saving the weights, removing skin, rotating
the character and the skel, reset xforming the char, then reapplying
skin and the weights.</span><br style="font-family: Arial;">
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-family: Arial;">Bone Tools</span></h3>
<span style="font-family: Arial; font-weight: bold;">Adjust Bones</span><span style="font-family: Arial;"><br>
</span><span style="font-family: Arial;">This allows you to change the Taper, Width, and Height of any selected bones; great for bone chains, ropes, and tentacles!</span><br style="font-family: Arial;">
<br>
<span style="font-family: Arial; font-weight: bold;">Convert hierarchy to Bones</span><span style="font-family: Arial;"><br>
</span><span style="font-family: Arial;">This will convert a node hierarchy to max bones matching their orientations, positions and hierarchy. '<span style="font-weight: bold;">fromSelected</span>' will generate a hierarchy from the selected node down through all it's children. '<span style="font-weight: bold;">fromRoot</span>' will find the root of the selected node and then convert all it's children to max bones.</span><br style="font-family: Arial;">
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-family: Arial;">Vertex Tools</span></h3>
<span style="font-family: Arial;">This is very much a work in progress.
The exporter cannot currently export arbitrary channels of vertex
colors, but when we can, you can use this to create multiple vertex
color channels per object. ChannelInfo brings up the channel info
spreadsheet so that you can see all the vertex channels. vertexColors
is a toggle that enables/disables vertex color shaded mode. Add
cryChannel to Selected will add a channel named 'cry' to the selected
object, you can store various data here for export.</span><br style="font-family: Arial;">
<br>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Physics Setup</span></h2>
<span style="font-family: Arial; font-weight: bold;">Create Phys Skeleton</span><br style="font-family: Arial;">
<span style="font-family: Arial;">This will create a Phys skeleton from a currently selected skeleton. Just select one node in the skeleton, and press the button.<br>
<br>
</span><span style="font-family: Arial; font-weight: bold;">Create Parent Frame</span><br style="font-family: Arial;">
<span style="font-family: Arial;">This will generate a ParentFrame for
the currently selected node, set it above the node in the hierarchy,
name it appropriately, and hide it.<br>
<br style="font-family: Arial;">
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Diagnostic Tools</span></h2>
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-family: Arial;">General Diagnostics</span></h3>
<span style="font-family: Arial; font-weight: bold;">selectRoot/selectChildren</span><br style="font-family: Arial;">
<span style="font-family: Arial;">With an object selected selectRoot
will traverse the hierarchy and select the root of the object's
hierarchy, whereas selectChildren will select all children of the
current object.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">numChildren [print]</span><br style="font-family: Arial;">
<span style="font-family: Arial;">When pressed, this will echo out the
number of children of a currently selected node. When 'print' is
checked, it will export the names of all children nodes in an
excel-friendly format. This is very useful for comparing and
troubleshooting two character hierarchies.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Compare Two Hierarchies</span><br style="font-family: Arial;">
<span style="font-family: Arial;">Select a root object, then press
'Hierarchy1, then select another root who's hierarchy you would like to
compare and press 'Hierarchy2', any differences in the hierarchies will
be printed to the Listener. The hierarchies are stored as global vars,
so you can click one hierarchy and even load another max file or
character to compare. 'Check Consistency' will check the hierarchy
structure and report any inconsistencies.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-family: Arial;">Physique Diagnostics <small>(removed, exist but commented)</small></span></h3>
<span style="font-family: Arial;"><span style="font-weight: bold; color: rgb(255, 0, 0);">TechNote:</span> This requires the Iphysique (IPhysique.gup) maxscript exposure from the Autodesk Sparks website</span><span style="font-family: Arial; font-weight: bold;"><br>
<br>
Select Verts that use X bones</span><br style="font-family: Arial;">
<span style="font-family: Arial;">This will select vertices in the selected node that use the input number of bones.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Get Bone Count</span><br style="font-family: Arial;">
<span style="font-family: Arial;">This returns the number of bones that
are effecting the selected object's mesh. Not to be confused with the
number of bones a character has. With Character Studio, you need to
have a lot of terminator bones that are often not exported, and have no
weights. This returns all bones weighted to the mesh.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Initial Pose</span><br style="font-family: Arial;">
<span style="font-family: Arial;">This shows the initial pose stored by
Physique at the time the physique modifier is applied. Very useful when
troubleshooting exporter issues.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">Select Verts with 0.0 weight</span><br style="font-family: Arial;">
<span style="font-family: Arial;">Selects vertices where the sum of their weights is 0.0</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-family: Arial;">Animation Diganostics <small>(removed, exist but commented)</small></span></h3>
<span style="font-family: Arial;">Sometimes you will need to output
character position data or translation data. For instance, AI may want
to know how far a character moves out from behind cover in an
animation, or how high the root is when he is in prone or behind cover.
When you press ?Get Weapon\Root Info? the POS and TRANS boxes will
refresh with data. The POS values are the world Z position (how high)
in cm of the main weapon bone weapon_bone and the root. The TRANS data
is the world translation of the weapon_bone and root during the
animation. You can log this data to a file or to the listener, the
logged info is a bit more detailed. (alt weapon bones or arbitrary
objects) Here is an example of the logged data:</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;">combat_peekIdle_rifle_rightReverse_01</span><br style="font-family: Arial;">
<span style="font-family: Arial;">POSITION</span><br style="font-family: Arial;">
<span style="font-family: Arial;">Frame: 0f (hiding)</span><br style="font-family: Arial;">
<span style="font-family: Arial;">root 88.846977</span><br style="font-family: Arial;">
<span style="font-family: Arial;">weapon_bone 101.276</span><br style="font-family: Arial;">
<span style="font-family: Arial;">alt_weapon_bone01 101.601</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;">Frame: 13f (firing)</span><br style="font-family: Arial;">
<span style="font-family: Arial;">root 88.846977</span><br style="font-family: Arial;">
<span style="font-family: Arial;">weapon_bone 105.406</span><br style="font-family: Arial;">
<span style="font-family: Arial;">alt_weapon_bone01 110.632</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<h3 style="background-color: rgb(225, 225, 225);"><span style="font-family: Arial;">Attachment\Game Diagnostics <small>(deprecated, you should now use Character Editor for creating attachments)</small></span></h3>
<span style="font-family: Arial;">allows us to align Bone Attachments
in Max and export them to Character Editor (which can be extremely
useful for eyes, and constantly changing aliens). Select an object to
be added to the CDF, enter a name for it (this will be the name of the
bone attachment in Character Editor). Press <span style="font-weight: bold;">'Generate CDF Attachment Data'</span> and it will open a dialogue asking <span style="font-weight: bold;">"Is this the bone the CDF is attached to?"</span>. If it is the bone the you want associated in the CDF, click<span style="font-weight: bold;"> 'Yes'</span>, if not, click <span style="font-weight: bold;">'No, Pick Bone'</span>, then click the correct bone in the Max viewport. Example:</span><br style="font-family: Arial;">
<p style="font-family: Arial;">
<img style="width: 306px; height: 75px;" alt="riggind dialog 1" src="images/rigging_dia01.png">
</p>
<p style="font-family: Arial;">
This will bring you to this next dialogue:
</p>
<p style="font-family: Arial;">
<img style="width: 606px; height: 90px;" alt="rigging dialog 2" src="images/rigging_dia02.png">
</p>
<span style="font-family: Arial;">f this is the name of the exported
CDF file, then click 'Yes', if it is not, click ?No, let me choose.?
And a file dialogue will open. Find the CDF and click ok. The script
will now pop open a window with a generated line of XML that you can
paste into your CDF file. Here is an example:<br>
<br>
<span style="font-family: Courier New,Courier,monospace;">
&lt;Attachment AName="Gun"
Binding="J:\Game02\Game\Objects\Characters\Alien\Hunter\face_gun_geo.cdf"
BoneName="face_connector" Position="-0.000635176,-2386.97,643.324"
Rotation="-1,0,0,1.87841" Type="CA_BONE" /&gt;</span><br>
<br>
<span style="font-weight: bold; color: rgb(255, 0, 0);">
TechNote:</span> The bone associated with the CDF is taken from the parent
bone (as it should be). The name and directory are taken from the
geometry name and the max save path used by the exporter. Also, the
quaternion values CharEdit needs are WXYZ. Also keep in mind that the
CDF XML format may change, check to see what this exports vs the
current CDF standards before checking assets with XML generated from
this tool into a build.<br>
<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Smart Object Tools</span></h2>
<span style="font-family: Arial;"><span style="font-weight: bold;">Template Generator\Exporter</span><br>
Select the geometry that you will export as the Smart Object CGF, then click <span style="font-weight: bold;">Get Smart Obj Geometry</span>. The button text will now change to reflect the object's name, and <span style="font-weight: bold;">Add Start\Stop Locations</span> will not be enabled. When you click <span style="font-weight: bold;">Add Start\Stop Locations</span>,
two circles will appear, one red and one green, these denote the start
and stop locations. They are named sequentially following the format '<span style="font-weight: bold;">so_start#</span>' and '<span style="font-weight: bold;">so_end#</span>'. If '<span style="font-weight: bold;">Project on Ground</span>' is checked, in the Editor the two start/stop locations will be projected onto the ground.</span><br>
<br>
<span style="font-family: Arial;">
<span style="font-weight: bold;">Exporting Smart Object Data</span><br>
When you click <span style="font-weight: bold;">'Export Smart Object Data'</span>
is pressed, a window will pop up asking you where you would like to
save the XML file. The file will be named with the name of the Smart
Object (printed in the save dialog). If Flip Around Z Axis is checked,
the XML data exported will be rotated 180 degrees on export. This is
done because all out animations are in -Y yet the engine requires
things in +Y<br>
<br>
</span><span style="font-family: Arial;"></span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Reactor Tools</span></h2>
<span style="font-family: Arial;"><span style="font-weight: bold;">Add Objs to Rigid Body </span>- Adds all selected objects to a picked rigid body node<br>
<span style="font-weight: bold;">Add Objs to Fracture </span>- Adds all selected objects to a picked fracture node<br>
<br>
</span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Bake to Bones</span></h2>
<span style="font-family: Arial;"><span style="font-weight: bold;">Bake Deformation to Bones</span><br>
If you select verts in a deforming mesh, this will step through the
timeline and add small bones to every vert and animate them throughout
the timeline.<br>
<br>
</span><span style="font-family: Arial;"><span style="font-weight: bold;">Blend All Bones</span><br>
This will step through all bones in the <span style="font-weight: bold;">Skin</span> modifier and do the '<span style="font-weight: bold;">blend</span>' function. This is used for smothing out baked deformation, such as a flag or cloth.</span><br>
<span style="font-family: Arial;">
<br>
<br>
<br style="font-family: Arial;">
</span><span style="font-family: Arial;"></span>
</body>
</html>
+242
View File
@@ -0,0 +1,242 @@
<!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: MorphTools: Generating Head LODs with Morph Targets</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: MorphTools: Generating Head LODs with Morph Targets</h1>
<p style="font-family: Arial;" class="MsoNormal">In this tutorial I will show you how to transfer your morphs
from LOD0 to LOD1, LOD2 etc.</p>
<p style="font-family: Arial;" class="MsoNormal">Here is my max scene the red head is LOD1 and the black one
LOD0. The orange heads are the morphtargets for LOD0.</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600"
o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f"
stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:596.25pt;
height:369.75pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg"
o:title="2"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 795px; height: 493px;" alt="1" src="images/lod_morph/image001.jpg" v:shapes="_x0000_i1025"><!--[endif]--></p>
<p style="font-family: Arial;" class="MsoNormal">First step, create your LODs</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1026" type="#_x0000_t75"
style='width:466.5pt;height:324pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image002.jpg"
o:title="3"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 622px; height: 432px;" alt="2" src="images/lod_morph/image002.jpg" v:shapes="_x0000_i1026"><!--[endif]--></p>
<p style="font-family: Arial;" class="MsoNormal">For LOD creation you must do all your changes with an
editable poly modifier.</p>
<p style="font-family: Arial;" class="MsoNormal">It is also good, if you are put a morpher under your
editable poly modifier to test your LOD directly with your morphtargets. </p>
<p style="font-family: Arial;" class="MsoNormal">You are also able to fix UVs by adding a unwrap modifier to
your LOD.</p>
<p style="font-family: Arial;" class="MsoNormal">Your setup for LOD 1 should look like this:</p>
<table class="MsoNormalTable" style="border: medium none ; margin-left: 12.8pt; border-collapse: collapse; font-family: Arial;" border="1" cellpadding="0" cellspacing="0">
<tbody>
<tr style="height: 12pt;">
<td style="border: 1pt solid windowtext; padding: 0in 5.4pt; width: 139.8pt; height: 12pt;" valign="top" width="186">
<p class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_s1026" type="#_x0000_t75"
style='position:absolute;margin-left:-4.2pt;margin-top:-.8pt;width:129pt;
height:53.25pt;z-index:1;mso-position-vertical-relative:line'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image003.jpg"
o:title="2"/>
</v:shape><![endif]--><!--[if !vml]--><span style="position: relative; z-index: 1;"><span style="position: absolute; left: -6px; top: -1px; width: 172px; height: 71px;"><img style="width: 172px; height: 71px;" alt="3" src="images/lod_morph/image003.jpg" v:shapes="_x0000_s1026"></span></span><!--[endif]--><span style=""><o:p></o:p></span></p>
</td>
<td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 564pt; height: 12pt;" valign="top" width="752">
<p class="MsoNormal"><span style="">Unwrap UVw: for fixing UVs
on LOD1<o:p></o:p></span></p>
</td>
</tr>
<tr style="height: 12pt;">
<td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 139.8pt; height: 12pt;" valign="top" width="186">
<p class="MsoNormal"><span style=""><o:p>&nbsp;</o:p></span></p>
</td>
<td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 564pt; height: 12pt;" valign="top" width="752">
<p class="MsoNormal"><span style="">Edit Poly: LOD1<o:p></o:p></span></p>
</td>
</tr>
<tr style="height: 12pt;">
<td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 139.8pt; height: 12pt;" valign="top" width="186">
<p class="MsoNormal"><span style=""><o:p>&nbsp;</o:p></span></p>
</td>
<td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 564pt; height: 12pt;" valign="top" width="752">
<p class="MsoNormal"><span style="">Morpher: Morph modifier to
test how your morphs are working with your LOD1- contains all the LOD0 morphs<o:p></o:p></span></p>
</td>
</tr>
<tr style="height: 12pt;">
<td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 139.8pt; height: 12pt;" valign="top" width="186">
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</td>
<td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 564pt; height: 12pt;" valign="top" width="752">
<p class="MsoNormal">Editable Poly: LOD0</p>
</td>
</tr>
</tbody>
</table>
<p style="font-family: Arial;" class="MsoNormal">Note: When you are working on the edit poly modifier check
your mesh for unwanted gaps.</p>
<p style="font-family: Arial;" class="MsoNormal">If your LOD1 is done open the cryMorphTools and go to the
&ldquo;Facial Tools&rdquo;.</p>
<p style="font-family: Arial;" class="MsoNormal">Select your LOD1 and click &ldquo;Load Morphs From Selected&rdquo;. </p>
<p style="font-family: Arial;" class="MsoNormal">The tool will load all morphs which are added to the morph
modifier and display you how many morphs are stored.</p>
<p style="font-family: Arial;" class="MsoNormal">When you type in a layer name, all generated morphs will be
moved into this layer. In my example I use Morphs_LOD1. </p>
<p style="font-family: Arial;" class="MsoNormal">Normally your generated meshes are moved next to your source
object. To keep your maxscene tidy you can add dummies to your scene. Name the
dummies, Dummy_+the name of the morph. At example: &ldquo;Dummy_Lip_funneler&rdquo;.</p>
<p style="font-family: Arial;" class="MsoNormal">Now activate &ldquo;Organize&rdquo; and generated Morphs will be
automatically aligned to the dummies.</p>
<p style="font-family: Arial;" class="MsoNormal">After this press Bake Morphs.</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75"
style='width:153pt;height:236.25pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image004.jpg"
o:title="6"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 204px; height: 315px;" alt="4" src="images/lod_morph/image004.jpg" v:shapes="_x0000_i1027"><!--[endif]--></p>
<p style="font-family: Arial;" class="MsoNormal">Here you can see the result. On the left the original LOD0
morph and on the right the baked LOD1.</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1028" type="#_x0000_t75"
style='width:508.5pt;height:393pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image005.jpg"
o:title="5"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 875px; height: 675px;" alt="5" src="images/lod_morph/image005.jpg" v:shapes="_x0000_i1028"><!--[endif]--></p>
<span style="font-family: Arial;"></span>
</body>
</html>
+214
View File
@@ -0,0 +1,214 @@
<!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: MorphTools: Mirror Morphs</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: MorphTools: Mirroring Morph Targets</h1>
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;">Mirroring Morphs: Background and Explanation </h2>
<p style="font-family: Arial;" class="MsoNormal"><b style=""><o:p></o:p></b>To save time you should mirror your morphs. But this is not
that easy like it sounds, because you are not able to use the tools which 3D
Studio Max provides. The problem of the 3Ds Max tools, like the Symmetry
modifier is that they don&rsquo;t keep your vertex index, which is necessary for
morphtargets. Here is an example:</p>
<p style="font-family: Arial;" class="MsoNormal">I selected a vertex which has the vertex ID 442</p>
<p style="font-family: Arial;" class="MsoNormal">Now I add a symmetry modifier to mirror my model and an
editable poly modifier to select the vertex again.</p>
<p style="font-family: Arial;" class="MsoNormal">As you can see, the vertex ID changed to 1432.</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600"
o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f"
stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:418.5pt;
height:423.75pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg"
o:title="vertexB"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 558px; height: 565px;" alt="1" src="images/morph_tut/image001.jpg" v:shapes="_x0000_i1025"><!--[endif]--><o:p><br>
<br>
</o:p></p>
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;">cryTools: Mirror Deformation: Setup</h2>
<p style="font-family: Arial;" class="MsoNormal">To mirror morph targets we created our own tool, which keep
the vertex index. Open <span style="font-weight: bold;">CryTools &gt; Cry MorphManager</span> and open <span style="font-weight: bold;">Mirror
Deformation</span>.</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1026" type="#_x0000_t75"
style='width:153pt;height:279.75pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image002.jpg"
o:title="tool"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 204px; height: 373px;" alt="2" src="images/morph_tut/image002.jpg" v:shapes="_x0000_i1026"><!--[endif]--><br>
<br>
Here is a little example scene. </p>
<p style="font-family: Arial;" class="MsoNormal">On the left side you see a completely symmetrical mesh. On
the right is an asymmetrical mesh. Now we want to mirror the right side of the
morph(the blue mesh) to the left.</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75"
style='width:565.5pt;height:341.25pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image003.jpg"
o:title="6"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 754px; height: 455px;" alt="3" src="images/morph_tut/image003.jpg" v:shapes="_x0000_i1027"><!--[endif]--></p>
<p style="font-family: Arial;" class="MsoNormal">First you have to set your source object. Simply select your
main mesh with the neutral facial expression and press the &ldquo;Select Source
Object&rdquo; button. After you did that, the name of the chosen object will be
displayed on the button.</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1028" type="#_x0000_t75"
style='width:575.25pt;height:326.25pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image004.jpg"
o:title="5"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 767px; height: 435px;" alt="4" src="images/morph_tut/image004.jpg" v:shapes="_x0000_i1028"><!--[endif]--></p>
<p style="font-family: Arial;" class="MsoNormal">Now you have to save the vertices which shall be influenced
by the mirror function. For this select the vertices from one side of the
model, without the vertices in the center of your head and press &ldquo;Save&rdquo; to save
your selection.</p>
<p style="font-family: Arial;" class="MsoNormal">After you saved the selection as a file you have to load the
file into max. Press the load button and chose the file which you recently
saved.</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1029" type="#_x0000_t75"
style='width:561.75pt;height:315pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image005.jpg"
o:title="8"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 749px; height: 420px;" alt="5" src="images/morph_tut/image005.jpg" v:shapes="_x0000_i1029"><!--[endif]--></p>
<p style="font-family: Arial;" class="MsoNormal">Next time when you open your maxfile you only have to set
your source object and load the saved selection.</p>
<h2 style="background-color: rgb(192, 192, 192); font-family: Arial;">cryTools: Mirror Deformation: Usage</h2>
<p style="font-family: Arial;" class="MsoNormal">You will notice, that you are now able to use the
<span style="font-weight: bold;">right-----&gt;left</span> /<span style="font-weight: bold;"> left-----&gt;right </span>buttons.</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1030" type="#_x0000_t75"
style='width:149.25pt;height:178.5pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image006.jpg"
o:title="t4"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 199px; height: 238px;" alt="6" src="images/morph_tut/image006.jpg" v:shapes="_x0000_i1030"><!--[endif]--><o:p><br>
</o:p>If want to mirror you object, select &ldquo;<span style="font-weight: bold;">Same Obj</span>&rdquo;. To mirror
the right side to the left side press <!--[if gte vml 1]><v:shape id="_x0000_i1031"
type="#_x0000_t75" style='width:79.5pt;height:15.75pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image007.jpg"
o:title="9"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 106px; height: 21px;" alt="7" src="images/morph_tut/image007.jpg" v:shapes="_x0000_i1031"><!--[endif]--></p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1032" type="#_x0000_t75"
style='width:958.5pt;height:618pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image008.jpg"
o:title="t5"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 1278px; height: 824px;" alt="8" src="images/morph_tut/image008.jpg" v:shapes="_x0000_i1032"><!--[endif]--></p>
<p style="font-family: Arial;" class="MsoNormal">To flip you object you have the select &ldquo;New Obj&rdquo; instead of
&ldquo;Same Obj&rdquo;</p>
<p style="font-family: Arial;"></p>
<p style="font-family: Arial;"></p>
<span style="font-family: Arial;">
</span>
</body>
</html>
+84
View File
@@ -0,0 +1,84 @@
<!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: AnimTools: Model Set-Up</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: AnimTools: Model Set-Up</h1>
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);"> How to set up models in the main dialogs Misc rollout </h2>
<p style="font-family: Arial;">
<strong>This tutorial describes how to set up models and how to maintain them.</strong>
</p>
<p style="font-family: Arial;">
In this example I choosed a simple charachter.
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top"> 1. Open the dialog and hit <strong>Load Model</strong>: <br>
<br>
<img alt="1" src="images/atools/dialogMiscModel1.jpg" style="border: 0px solid ; margin-right: 2em; width: 176px; height: 127px;"><br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;2. Select <strong>Edit Entries</strong>: <br>
<br>
<img alt="2" src="images/atools/dialogMiscModel2.jpg" style="border: 0px solid ; margin-right: 2em; width: 177px; height: 104px;"><br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;3. A dialog should pop up. In the list, double click in an empty line to add a model:<br>
<br>
<img alt="3" src="images/atools/dialogMiscModel3.jpg" style="border: 0px solid ; margin-right: 2em; width: 442px; height: 219px;"><br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;4. In the next window you must select the model you want to add:<br>
<br>
<img alt="4" src="images/atools/dialogMiscModel4.jpg" style="border: 0px solid ; margin-right: 2em; width: 420px; height: 265px;"><br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;5. Now the model should be in the list. To maintain them, double click
on the line with the model or click once to rename the entry name:<br>
<br>
<img alt="5" src="images/atools/dialogMiscModel5.jpg" style="border: 0px solid ; margin-right: 2em; width: 443px; height: 219px;"><br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;6. When the list is saved, the new entry is available when clicking again on <strong>Load Model</strong>:<br>
<br>
<img alt="6" src="images/atools/dialogMiscModel6.jpg" style="border: 0px solid ; margin-right: 2em; width: 176px; height: 104px;"></p>
<p style="font-family: Arial;"></p>
<p style="font-family: Arial;"></p>
<span style="font-family: Arial;">
</span>
</body>
</html>
+680
View File
@@ -0,0 +1,680 @@
<!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: TD Tools</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: TD Tools </h1>
<span style="font-family: Arial;"></span>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">External Apps</span></h2>
<span style="font-family: Arial;">There are some exe's in the root directory (/maxscript)</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">scmd.exe </span>-
this is an app that will silently execute a dos command, this is no
longer used, as the the latest exporter plugin now has this
functionality. In the example below I sync a directory via perforce: </span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">scmd ("p4 sync \"" + BuildPathFull_crytools + "Tools\\...\"") true</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">md5.exe</span> - this is a freeware md5 hash generator, it is called from the crytools md5 function. </span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Global Struct</span></h2>
<span style="font-family: Arial;">These globally available variables
can be accessed through the crytools struct. Because they are members
of the struct, you must access them through it, for instance: <span style="font-weight: bold;">crytools.BuildPathFull</span></span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">_fnStore, _fnStoreIndex, _varStore, _varStoreIndex, </span>-
These are global storage arrays that allow variables and functions to
be stored and passed via the storeFn, retrieveFn, storeVar, retrieveVar
functions. These are never directly accessed.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">localBuildNumber </span>- returns the number of the local build. (The build that the current crytools /maxscript dir is loaded from)</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">print crytools.localBuildNumber</span><br style="font-family: Courier;">
<span style="font-family: Courier; color: rgb(51, 51, 255);">"5571"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">BuildPathFull </span>- returns string of the artists build path to the bin32 directory</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">print crytools.BuildPathFull</span><br style="font-family: Courier;">
<span style="font-family: Courier; color: rgb(51, 51, 255);">"J:\Game02\bin32\"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">maxDirTxt </span>- returns string of the max root dir.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">print crytools.MaxDirTxt</span><br style="font-family: Courier;">
<span style="font-family: Courier; color: rgb(51, 51, 255);">"C:\3dsmax7\"</span><br style="font-family: Courier;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">editorPath </span>- path string to the Editor</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">crytools.editorPath</span><br style="font-family: Courier;">
<span style="font-family: Courier; color: rgb(51, 51, 255);">"J:\Game02\bin32\Editor.exe"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">cryINI </span>- path string to the CryTools INI file</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">crytools.cryINI</span><br style="font-family: Courier;">
<span style="color: rgb(51, 51, 255); font-family: Courier;">"C:\Program Files\Autodesk\3ds Max 2008\plugins\CryExport.ini"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">maxVersionNum </span>- returns the version number of 3D Studio Max that the script is being run on</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">print crytools.maxVersionNum</span><br style="font-family: Courier;">
<span style="color: rgb(51, 51, 255); font-family: Courier;">"8"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">project_name </span>- returns the name of the project the artist resides on, taken from the build path.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">print crytools.project_name</span><br style="font-family: Courier;">
<span style="font-family: Courier; color: rgb(51, 51, 255);">"Game02"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">latest_build </span>-
returns the name of the latest build on S:\, this global variable is
set from within UpdateTools.ms, which refreshes the 'latest_builds.txt'
stored in cry_temp. This is set to "NET_ERROR" if the location cannot
be found on the network.</span><br style="font-family: Arial;">
<br style="font-family: Courier;">
<span style="font-family: Courier;">print crytools.latest_build</span><br style="font-family: Courier;">
<span style="font-family: Courier; color: rgb(51, 51, 255);">"Game02(2670)_03_27_FastBuild"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">latestBuildNumber </span>-
returns the number of the latest build available on S:\, this global
variable is set from within 'UpdateTools.ms', which refreshes the
'latest_builds.txt' stored in cry_temp.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">print crytools.latestBuildNumber</span><br style="font-family: Courier;">
<span style="font-family: Courier; color: rgb(51, 51, 255);">"2670"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">cryExportPresent </span>- set to true or false based on whether or not the exporter plugin is loaded.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">print crytools.cryExportPresent</span><br style="font-family: Courier;">
<span style="font-family: Courier; color: rgb(51, 51, 255);">true</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">cbaPath </span>- returns string of the CBA path.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">print crytools.cbaPath</span><br style="font-family: Courier;">
<span style="font-family: Courier; color: rgb(51, 51, 255);">"J:\Game02\Game\Animations\Animations.cba"</span><br style="font-family: Arial;">
<br style="font-family: Arial; font-weight: bold;">
<span style="font-family: Arial;"><span style="font-weight: bold;">rollback_status </span>-
returns whether or not the exporter is currently rolled back to a
previous version. This is currently stored in rollback_status.ini in
the cryTemp folder.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">print crytools.rollback_status</span><br style="font-family: Courier;">
<span style="font-family: Courier; color: rgb(51, 51, 255);">"false"</span><br style="font-family: Arial;">
<br style="font-family: Arial; font-weight: bold;">
<span style="font-family: Arial;"><span style="font-weight: bold;">DOMAIN</span>
- returns the network domain of the network the computer is plugged
into. This is set via GetDNS() once and written to the first line of
cryTools.ini and then read in from there every time at load after. This
var is set by AddCryTools.ms</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">print crytools.DOMAIN</span><br style="font-family: Courier;">
<span style="font-family: Courier; color: rgb(51, 51, 255);">"INTERN.CRYTEK.DE"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Functions</span></h2>
<span style="font-family: Arial;">These functions are added on load within AddCryTools.ms, and made available through the crytools struct.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">scmd &lt;command&gt; wait </span>- Silently
runs a dos command using the cryengine export plugin
(csexport.export.execute_command_line).</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">crytools.scmd ("mkdir \"" + crytools.maxDirTxt + "cry_temp\\bad\\\"") true</span><br style="font-family: Courier;">
<span style="font-family: Courier; color: rgb(51, 51, 255);">OK</span><br style="font-family: Arial;">
<br style="font-family: Arial; font-weight: bold;">
<span style="font-family: Arial;"><span style="font-weight: bold;">md5 &lt;filename_string&gt; </span>- Returns
string MD5 hash for file queried, you must feed it a valid file. This
function uses an open source, public domain MD5 executable stored in
the /maxscript folder.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier;">crytools.md5 "C:\\WINDOWS\\explorer.exe"</span><br style="font-family: Courier;">
<span style="font-family: Courier; color: rgb(51, 51, 255);">"A0732187050030AE399B241436565E64"</span><br style="font-family: Arial;">
<br style="font-family: Arial; font-weight: bold;">
<span style="font-family: Arial;"><span style="font-weight: bold;">storeFn &lt;function&gt;
&lt;overwrite&gt; </span>- This stores a function in the global crytools
struct where it can be used by any other script. Overwrite will
overwrite any existing fn with the same name. You use retrieveFn to
retrieve the var you have stored. Here is an example below from the
MorphTools script: </span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">cryTools.storeFn collapseVerts true <span style="color: rgb(0, 153, 0);">--collapseVerts fn now stored in crytools._fnStore</span></span><br style="font-family: Courier New,Courier,monospace;">
<br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">crytools._fnstore</span><br style="font-family: Courier New,Courier,monospace;">
<span style="color: rgb(51, 51, 255); font-family: Courier New,Courier,monospace;">#(collapseVerts())</span><br style="font-family: Courier New,Courier,monospace;">
<br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">crytools.retrieveFn "collapseVerts()")()<span style="color: rgb(51, 204, 0);"> <span style="color: rgb(0, 153, 0);">--now we grab the fn and use it</span></span></span><br style="font-family: Courier New,Courier,monospace;">
<span style="color: rgb(51, 51, 255); font-family: Courier New,Courier,monospace;">OK</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">storeVar &lt;var&gt; &lt;alias&gt;
&lt;overwrite&gt; </span>- This stores a variable in the global crytools
struct where it can be used by any other script. The 'var' is the item
you are storing, and the 'alias' is the associated name. Overwrite will
overwrite a stored var with the same alias. You use retrieveVar to
retrieve the var you have stored. Here is an example below from the
MorphTools script:</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">cryTools.storeVar $ "obj1" true <span style="color: rgb(0, 153, 0);">--selected object now stored in crytools._varStore</span></span><br style="font-family: Courier New,Courier,monospace;">
<br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">crytools._varstore</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">#($Box:Box01 @ [-101.424500,-0.000001,25.641026])</span><br style="font-family: Courier New,Courier,monospace;">
<br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">crytools.retrieveVar "obj1" <span style="color: rgb(0, 153, 0);">--now we grab the var</span></span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">$Box:Box01 @ [-101.424500,-0.000001,25.641026]</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">alienBrain
&lt;command_argument_string&gt; - </span>This executes AlienBrain command
arugments from within Studio Max. It is set to execute the command via
a JDK bridge/DOS command. This does not load ALienBrain.exe (or the
long load screen associated with it) and executes the commands
instantly and transparently in the background.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.alienBrain "getlatest"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;">or something more complex like:</span><br style="font-family: Arial;">
<br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">crytools.alienBrain ("ab getlatest
Bin32\Tools\maxscript -s Server3 -d " + project_name + " -u login -p
passwd -forcefileupdate -overwritewritable skip")</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">existFile &lt;filename_string&gt; </span>- Returns true/false whether file exists or not</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;">crytools.existFile "C:\\WINDOWS\\explorer.exe"</span><br style="font-family: Arial;">
<span style="font-family: Arial;">true</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">existDir &lt;filename_string&gt;</span> - Returns true/false whether directory exists or not</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.existDir "C:\\WINDOWS"</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">true</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;">or something more complex like:</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">if (crytools.existDir (maxDirTxt + "cry_temp")) == true then (print "cry_temp exists")</span><br style="font-family: Courier New,Courier,monospace;">
<span style="color: rgb(51, 51, 255); font-family: Courier New,Courier,monospace;">"cry_temp exists"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">getDNS()</span> - Returns the Domain Name
Server of the local network. This uses a dos command to dump and read
ipconfig info from a temp file that is then deleted; so it pops up a
black cmd window for a milisecond when called. CryTools calls this
once, and saves that info in cryTools.ini located in the cryTemp
directory in the max root dir.</span><br style="font-family: Arial;">
<br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">crytools.getDNS()</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"INTERN.CRYTEK.DE"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">MirrorObjs &lt;Obj1&gt; &lt;Obj2&gt;
&lt;MObj&gt; &lt;MAxis&gt; &lt;OAxis&gt;</span> - Function for mirroring joint
orientations over an arbitrary axis. The below example is from
CryAnimationTools.ms, you can look there to see it in use.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.MirrorObjs right_arm[i] left_arm[i] $root #x #x</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">matchPivot &lt;Obj1&gt; &lt;Obj2&gt; </span>- Aligns the pivot of an object to that of another</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;">crytools.matchPivot $obj1 $obj2</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">findRoot &lt;Obj&gt; </span>- Returns the root of the hierarchy the object is a member of</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.findroot $'Bip01 L Forearm'</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">$Editable_Mesh:Bip01 @ [0.000000,0.000038,90.368042]</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">getChildren &lt;Obj&gt;</span> - Returns the root of the hierarchy the object is a member of</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;">print (crytools.getchildren $'Bip01 L Thigh')</span><br style="font-family: Arial;">
<span style="font-family: Arial; color: rgb(51, 51, 255);">$PolyMesh:Bip01 L Calf @ [12.594235,-1.113732,49.932632]</span><br style="font-family: Arial; color: rgb(51, 51, 255);">
<span style="font-family: Arial; color: rgb(51, 51, 255);">$PolyMesh:Bip01 L Foot @ [16.074495,4.691678,9.804122]</span><br style="font-family: Arial; color: rgb(51, 51, 255);">
<span style="font-family: Arial; color: rgb(51, 51, 255);">$Editable_Mesh:Bip01 L Toe0 @ [17.749069,-7.237181,0.444188]</span><br style="font-family: Arial; color: rgb(51, 51, 255);">
<span style="font-family: Arial; color: rgb(51, 51, 255);">$Dummy:_Bip01LToeHelper @ [19.030598,-16.366177,0.444188]</span><br style="font-family: Arial; color: rgb(51, 51, 255);">
<span style="font-family: Arial; color: rgb(51, 51, 255);">$Bone:Bip01 L Toe0Nub @ [19.145245,-17.182899,0.149435]</span><br style="font-family: Arial; color: rgb(51, 51, 255);">
<span style="font-family: Arial; color: rgb(51, 51, 255);">$Bone:Bip01 L Heel @ [16.074499,4.691682,-0.687943]</span><br style="font-family: Arial; color: rgb(51, 51, 255);">
<span style="font-family: Arial; color: rgb(51, 51, 255);">$Editable_Mesh:Bip01 L knee @ [12.464909,-0.477371,47.556950]</span><br style="font-family: Arial; color: rgb(51, 51, 255);">
<span style="font-family: Arial; color: rgb(51, 51, 255);">$Dummy:Bip01 L knee_end @ [13.773256,-8.799936,43.612862]</span><br style="font-family: Arial; color: rgb(51, 51, 255);">
<span style="font-family: Arial; color: rgb(51, 51, 255);">$Editable_Mesh:weaponPos_pistol_L_leg @ [23.779840,-4.798794,68.739929]</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">getBips </span>- Returns the Bipeds in the current scene</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">for obj in crytools.getBips() do print obj.name</span><br style="font-family: Courier New,Courier,monospace;">
<span style="color: rgb(51, 51, 255); font-family: Courier New,Courier,monospace;">"Bip01"</span><br style="color: rgb(51, 51, 255); font-family: Courier New,Courier,monospace;">
<span style="color: rgb(51, 51, 255); font-family: Courier New,Courier,monospace;">"Bip02"</span><br style="color: rgb(51, 51, 255); font-family: Courier New,Courier,monospace;">
<span style="color: rgb(51, 51, 255); font-family: Courier New,Courier,monospace;">"Bip03"</span><br style="color: rgb(51, 51, 255); font-family: Courier New,Courier,monospace;">
<span style="color: rgb(51, 51, 255); font-family: Courier New,Courier,monospace;">"Bip04"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">getBindPoseVertexTarget &lt;targetNode&gt; &lt;sourceNode&gt; &lt;vertexID&gt;</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial; font-weight: bold;">CreateBindPoseMorph
&lt;targetNode&gt; &lt;sourceNode&gt; &lt;deleteYN&gt;
&lt;addMorphYN&gt; &lt;channelNum&gt; &lt;extractedNode&gt;</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">inFromUDP &lt;targetNode&gt; </span>- This function reads the User Defined Properties for an object into an array</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.inFromUDP $</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">#("mass = 110", "capsule")</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">outToUDP &lt;targetNode&gt;
&lt;string_array&gt; &lt;echo&gt;</span> - This function reads/writes to the
User Defined Properties buffer for an object</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.outToUDP #("I have needed this","for quite some time") $ true</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"I have needed this</span><br style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">for quite some time</span><br style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"</span><br style="font-family: Courier New,Courier,monospace;">
<br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">getUserPropBuffer $</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"I have needed this</span><br style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">for quite some time</span><br style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"</span><br style="font-family: Courier New,Courier,monospace;">
<br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">crytools.inFromUDP $</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">#("I have needed this", "for quite some time")</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">local2unc &lt;string&gt; </span>- This will convert a local drive letter to a UNC path</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.local2unc "p"</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"\\192.168.0.9\public"</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">crytools.local2unc "k"</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"\\server2\Artists"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">forceLowerCase &lt;string&gt; </span>- This will convert a string to lowercase</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.forceLowerCase "MaSs = 19.9"</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"mass = 19.9"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">inFromINI &lt;path&gt; echo </span>- This
will read in a text file line by line and return an array where array
element number corresponds to the line number.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.infromINI (crytools.maxDirTxt + "\\plugins\\CryExport.ini") true</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"[Sandbox]"</span><br style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"path = J:\Game02\Bin32\Editor.exe"</span><br style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"animlistpath = J:\Game02\Game\Animations\Animations.cba"</span><br style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">#("[Sandbox]", "path = J:\Game02\Bin32\Editor.exe", "animlistpath = J:\Game02\Game\Animations\Animations.cba")</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">outToINI &lt;data&gt; &lt;path&gt;
echo </span>- This will export an array to a text file line by line where
array element number corresponds to the line number.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.outtoini test (crytools.maxDirTxt + "\\plugins\\CryExport.ini") true</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"[Sandbox]"</span><br style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"path = J:\Game02\Bin32\Editor.exe"</span><br style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"animlistpath = J:\Game02\Game\Animations\Animations.cba"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">plusR &lt;path&gt; </span>- this will check if the file exists and make it read-only</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.plusR (crytools.maxDirTxt + "\\plugins\\CryExport.ini")</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">minusR &lt;path&gt; </span>- this will check if the file exists and make it writable</span><br style="font-family: Arial;">
<br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">crytools.minusR (crytools.maxDirTxt + "\\plugins\\CryExport.ini")</span><br style="font-family: Arial;">
<br style="font-family: Arial; font-weight: bold;">
<span style="font-family: Arial;"><span style="font-weight: bold;">objTrajectoryToSpline &lt;obj&gt;</span> - this will create a spline showing the trajectory of all selected objects</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">cutString &lt;string input&gt; &lt;string to cut&gt; </span>- this removes the 'string to cut' from the 'string input'.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.cutString "Crysis is a beautiful, meticulously designed game" ", meticulously designed"</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">"Crysis is a beautiful game"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">vertDistance &lt;pos&gt; &lt;pos&gt; </span>- this will output the distance between two positions in space</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.vertDistance $Box01.pos $Box02.pos</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace; color: rgb(51, 51, 255);">169.997</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">copyPasteController &lt;parentObj&gt;
&lt;selOrChild&gt; &lt;copyWhat&gt;</span> - this will copy and paste a
controller, here is an example from CryRiggingTools:</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">crytools.copyPasteController mObj "children" "rp"</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">sliderMan</span> -<span style="font-weight: bold;"> </span>this is a fn that works
on a selection callback, when you select a slider manipulator, it
always goes into manipulate mode so that it can be used.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Items Stored In cry_temp\</span></h2>
<span style="font-family: Arial;">A folder named '<span style="font-weight: bold;">cry_temp</span>' is created by <span style="font-weight: bold;">AddCryTools.ms</span>, CryTools store many things in this folder, like the following examples:</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">crytools.ini </span>- This stores
suer-specific options, such as window layout and control panel
settings. I will work to fold some of the other droppings below into
this single INI file. Here are some of the things stored within:</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">DOMAIN:INTERN.CRYTEK.DE</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">WARNMATS:true</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">REPARENT:true</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">SUPPRESS:false</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">NO_UNPARENT_WEAPON:false</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">RIGGING_POS:1396:78</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">ANIMATION_POS:1192:78</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">MORPH_POS:2072:70</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">ARTIST_POS:698:457</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">SPLASH:true</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">UPDATE_COLLECTIONS:false</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">SYNC_COLLECTIONS:false</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">LOADOLDANIMTOOLS:false</span><br style="font-family: Courier New,Courier,monospace;">
<span style="font-family: Courier New,Courier,monospace;">GENERATEMENU:true</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">latest_builds.txt </span>- When UpdateTools.ms is run, it dumps the latest builds from S:\_Builds\ into this txt file.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">paths.txt </span>- When CryTools were
installed, the InstallCryTools.vbs created this txt file, it stores the
install path of StudioMax and Photoshop. The first line is always
StudioMax and the second Photoshop.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Courier New,Courier,monospace;">C:\3dsmax7C:\graphics\Adobe Photoshop CS2\Plug-Ins\</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">rollback_status.ini </span>- A value of
true/false is stored in this file. When an artist has rolled back their
exporter, the file is set to 'true', when 'Get Latest Tools From
AlienBrain/Latest Build' is pressed in UpdateTools, rollback status is
set to 'false' because the latest exporter is installed.</span><br style="font-family: Arial;">
<br style="font-family: Arial;">
<span style="font-family: Arial;"><span style="font-weight: bold;">CryExport7.dlu, Morpher.dlm,
MorpherMXS.dlx</span> - When new copies of these are installed, the prior
versions are saved here, where they can be rolled back to on demand.
Currently, the rollback function only exists for CryExport7.dlu.&nbsp;</span><br style="font-family: Arial;">
<span style="font-family: Arial;"><br>
</span>
</body>
</html>
+290
View File
@@ -0,0 +1,290 @@
<!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: MorphTools: Transfer Morphs Between Characters</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: MorphTools: Transferring Morphs Between Characters</h1>
<p style="font-family: Arial;" class="MsoNormal">To save time we created a way to bake morphtargets from one
character to another character. This tutorial will show you how you we do this.</p>
<p style="font-family: Arial;" class="MsoNormal"><o:p>&nbsp;</o:p>We use for all our head the same topology with the same
vertex index. This allows us to transfer morph targets from one head to another
head.</p>
<p style="font-family: Arial;" class="MsoNormal"><o:p></o:p>Here you can see an example for this.</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600"
o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f"
stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:404.25pt;
height:282pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg"
o:title="1"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 539px; height: 376px;" alt="1" src="images/transfer_tut/image002.jpg" v:shapes="_x0000_i1025"><!--[endif]--></p>
<p style="font-family: Arial;" class="MsoNormal">Let&rsquo;s bake the existing morphs from the left guy to the
Asian.<br>
<o:p><br>
</o:p>To do this we open the scene of the head with the existing
morphtargets.</p>
<p style="font-family: Arial;" class="MsoNormal">The black head on the upper left corner is our basehead
without morphs. The blue morphs are symmetrical morphs. The red ones are
asymmetrical morphs.</p>
<p style="font-family: Arial;" class="MsoNormal">The green squares are helpers which I will describe later.</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1026" type="#_x0000_t75"
style='width:626.25pt;height:404.25pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image003.jpg"
o:title="2"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 835px; height: 539px;" alt="2" src="images/transfer_tut/image004.jpg" v:shapes="_x0000_i1026"><!--[endif]--><o:p><br>
<br>
</o:p>Now we apply a morph modifier to the head with the neutral
expression and add all morphs which shall be baked to the Asian head.</p>
<p style="font-family: Arial;" class="MsoNormal">In this case I add all symmetrical and asymmetrical morphs
to it.</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75"
style='width:456pt;height:420.75pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image005.jpg"
o:title="3"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 868px; height: 801px;" alt="3" src="images/transfer_tut/image005.jpg" v:shapes="_x0000_i1027"><!--[endif]--><br>
<o:p><br>
</o:p>Delete all Morphtargets of the afro American and merge the
Asian head into your scene.<o:p>&nbsp;</o:p></p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1028" type="#_x0000_t75"
style='width:736.5pt;height:468.75pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image007.jpg"
o:title="4"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 982px; height: 625px;" alt="4" src="images/transfer_tut/image008.jpg" v:shapes="_x0000_i1028"><!--[endif]--></p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1029" type="#_x0000_t75"
style='width:396pt;height:299.25pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image009.jpg"
o:title="d1"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 528px; height: 399px;" alt="5" src="images/transfer_tut/image009.jpg" v:shapes="_x0000_i1029"><!--[endif]--><span style="">&nbsp;</span><br>
<o:p><br>
</o:p>Normally the UVs of the characters are not matching,
therefore we need to use an inbetween step.</p>
<ol style="margin-top: 0in; font-family: Arial;" start="1" type="1">
<li class="MsoNormal" style="">create
a copy of the Asian Head (red wireframe).</li>
<li class="MsoNormal" style="">create
a morpher for the asian head, choose the African head as a morphtarget and
set the vaule to 100%</li>
<li class="MsoNormal" style="">collapse
the morpher modifier (result see below &ndash; green wireframe)</li>
</ol>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1030" type="#_x0000_t75"
style='width:558.75pt;height:283.5pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image010.jpg"
o:title="d2"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 745px; height: 378px;" alt="6" src="images/transfer_tut/image010.jpg" v:shapes="_x0000_i1030"><!--[endif]--></p>
<ol style="margin-top: 0in; font-family: Arial;" start="4" type="1">
<li class="MsoNormal" style="">Copy
the morpher from the African head to the Asian head(green wireframe).
Delete the afrcian head, it is not longer needed.</li>
<li class="MsoNormal" style=""><span style="">&nbsp;</span>Add the copy of the Asian head (red wireframe)
as a morph to the existing morpher modifier on the green head and turn the
amount to 100%.</li>
</ol>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1031" type="#_x0000_t75"
style='width:557.25pt;height:529.5pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image011.jpg"
o:title="d3"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 743px; height: 706px;" alt="7" src="images/transfer_tut/image011.jpg" v:shapes="_x0000_i1031"><!--[endif]--><o:p>&nbsp;</o:p></p>
<p style="font-family: Arial;" class="MsoNormal">Open the CryMorphManager and open the &ldquo;Facial Tools&rdquo;</p>
<p style="font-family: Arial;" class="MsoNormal">Select the green head and add click on the &ldquo;Load Morphs From
Selection&rdquo; button. The tool will load all morphs which are added to the morph
modifier and display you how many morphs are stored.</p>
<p style="font-family: Arial;" class="MsoNormal">When you activate &ldquo;Organize&rdquo; your generated Morphs will be
automatically aligned to the helper. Call the helper for this Dummy_+the name
of the morph. At example: &ldquo;Dummy_Lip_funneler&rdquo;.</p>
<p style="font-family: Arial;" class="MsoNormal">All generated morphs will be moved into a new layer. For
this set the name of the new layer into the textbox beside to New Layer.</p>
<p style="font-family: Arial;" class="MsoNormal">Before you press the &ldquo;Bake Morphs&rdquo; button, be sure that you
have the head with the morphmodifier selected. </p>
<p style="font-family: Arial;" class="MsoNormal">Now you are ready to generate the morphs.</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1032" type="#_x0000_t75"
style='width:172.5pt;height:243.75pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image012.jpg"
o:title="d4"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 230px; height: 325px;" alt="8" src="images/transfer_tut/image012.jpg" v:shapes="_x0000_i1032"><!--[endif]--></p>
<p style="font-family: Arial;" class="MsoNormal">Note: the bake function will also generate a copy of your
copy(red head) which you loaded into the morph modifier. Just delete it if you
don&rsquo;t need it.<o:p></o:p></p>
<p style="font-family: Arial;" class="MsoNormal">Result:</p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1033" type="#_x0000_t75"
style='width:874.5pt;height:562.5pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image013.jpg"
o:title="d5"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 1166px; height: 750px;" alt="13" src="images/transfer_tut/image013.jpg" v:shapes="_x0000_i1033"><!--[endif]--></p>
<p style="font-family: Arial;" class="MsoNormal"><!--[if gte vml 1]><v:shape id="_x0000_i1034" type="#_x0000_t75"
style='width:752.25pt;height:562.5pt'>
<v:imagedata src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image014.jpg"
o:title="d6"/>
</v:shape><![endif]--><!--[if !vml]--><img style="width: 1003px; height: 750px;" alt="14" src="images/transfer_tut/image014.jpg" v:shapes="_x0000_i1034"><!--[endif]--></p>
<p style="font-family: Arial;"></p>
<span style="font-family: Arial;">
</span>
</body>
</html>
+107
View File
@@ -0,0 +1,107 @@
<!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: AnimTools: Model Set-Up</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: AnimTools: Weapon Set-Up</h1>
<h2 style="font-family: Arial; background-color: rgb(192, 192, 192);"> How to set up weapons in the main dialogs Misc rollout </h2>
<p style="font-family: Arial;">
This tutorial describes how to set up weaons and offsets and how to maintain them.
</p>
<p style="font-family: Arial;">
In this example I choosed a rifle and opened a character max file with the weapon in it.
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top"> 1. Open the dialog and hit Edit Entries: <br>
<br>
<img alt="1" src="images/atools/dialogMiscWeapon1.jpg" style="border: 0px solid ; margin-right: 2em; width: 176px; height: 125px;"><br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;2. A dialog should pop up. In the list, double click in an empty line to add a weapon:<br>
<br>
<img alt="2" src="images/atools/dialogMiscWeapon2.jpg" style="border: 0px solid ; margin-right: 2em; width: 443px; height: 220px;"><br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;3. In the next window you must select the model of the weapon you want to add:<br>
<br>
<img alt="3" src="images/atools/dialogMiscWeapon3.jpg" style="border: 0px solid ; margin-right: 2em; width: 452px; height: 403px;"><br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;4. After this another window pops up where to choose the model to get the offset from (for weapons, normally the hand):<br>
<br>
<img alt="4" src="images/atools/dialogMiscWeapon4.jpg" style="border: 0px solid ; margin-right: 2em; width: 452px; height: 404px;"><br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;5. Now the weapon should be in the list. To maintain them, double click on the line with the weapon:<br>
<br>
<img alt="5" src="images/atools/dialogMiscWeapon5.jpg" style="border: 0px solid ; margin-right: 2em; width: 443px; height: 220px;"><br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;6. A new dialog pops up where the entries can be edited. In this
example, I changed the name (displayed in the drop down list) and the
external file reference (used to automatically set up the specific
weapon depending on the file name i.e. combat_run_rifle_forward =&gt;
rifle)<br>
<br>
<img alt="6" src="images/atools/dialogMiscWeapon6.jpg" style="border: 0px solid ; margin-right: 2em; width: 385px; height: 189px;"><br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;7. After saving, the changed should be visible in the list:<br>
<br>
<img alt="7" src="images/atools/dialogMiscWeapon7.jpg" style="border: 0px solid ; margin-right: 2em; width: 443px; height: 220px;"><br>
</p>
<p style="font-family: Arial;">
<img style="border: 0px solid ; width: 16px; height: 16px;" alt="led-yellow" src="images/atools/led-yellow.gif" align="top">&nbsp;8. When the list is saved, the new entry is available in the drop down list:<br>
<br>
<img alt="8" src="images/atools/dialogMiscWeapon8.jpg" style="border: 0px solid ; margin-right: 2em; width: 176px; height: 131px;"></p>
<p style="font-family: Arial;"></p>
<p style="font-family: Arial;"></p>
<span style="font-family: Arial;">
</span>
</body>
</html>
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e92bbf1901351890bead8df6a0aec3b74921e97e0559c369d9fa3213c2b587e6
size 64693
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6e33683f4dda1f64e19759b08806e1b96d7abbed5408fbd48bc7291af44eb8e2
size 8519
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:42d17aac12c7633fcc81f19db50fc6c2f61f76b956928a66447e2f1dd75bc07d
size 59344
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8e3b6c735e289f1c17b4207ae884b0202f5fd1dfe5753996fba87e1ad8896077
size 18335
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fea60fb6729f3945ce4b7f2222d34aee51d760a7d8fc68ca631139c5c4170737
size 28314
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a2f281e2f9f1d9036486b3498975f1dd766ff9a4d02ff7b7cc0af1c64136ae18
size 18806
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:962a4a05cd80e020e415627e1375fd1b62dc94ec9f0e6f7a6e11775aa3b7dcd3
size 14538
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:742ecc2db10b5e52b504d0f45e9523847c580ec2244c30c79bb513a47c82af81
size 13649
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5d2f71a8097ea9a14888007bcb41a85653995de1982f96d659c657ec3138b03f
size 22163
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fc6ba42b6416812bb119cef9ee80180ae5a20d4655da9f6660d65e67df793363
size 27221
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3e487eb14e534fb58c5c43ea3d2e74340d5bc996ca7e82ef34fbe70f9ad67029
size 27550
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4545ab2cb7fe68ed593c05e7a54fde0531891fa331ff2c0681cc0e89d0a60c06
size 13879
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:70d298ac06240c53cc363cf7b68de9a830e107f9e1bacb017188932ef6ba034a
size 18019
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5f70bcc08c7d12f1113f8ae6d17eab7fc5e0912e203d581722f1e0ad08220b95
size 26878
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1e4e4b70739b87e6e3bd7262aaa320ff42fe26de61d5b7035cf34bc3fd5405bc
size 70477
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:067b154666e80254d588389e0ead30a05a270d673787e990de945873c355c6e4
size 69964
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5c8b31ae2e844e77b32bcabe146996544caba9a849f2f08c7645878a8d41e1d8
size 32734
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7c05e0e5955e97d3509c1616e3eb6f362b120a75909ae76103e840576ec56294
size 28820
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0333816d0bff20b1884e3d6ecfad100b926a23053b454ea452b15ac014bc51d4
size 32095
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de91adb1008d3b298a63524e7591d8c627893d56566d8426d2bd2e46a31f6143
size 18007
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e1b14cba868c9033378069a482a04afb10ab09a3049538b20dadad464769e13e
size 20445
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c616954e31d861ba1420552f06c896f52d649bc352646a3b7832578c987dd6bf
size 23376
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bce24a5da1f5df8508545ae75679332847c80b34cef2b8aceedbce9a11b769c0
size 17168
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4ff1a723f3b0ffaaad490290d77c7560c6f1510be38ec8d21422935664401201
size 15638
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8bba45c4b1c6395e3b69b1516e325228569afc2c983129bdeb994386f2bc5ae
size 15749
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a3aa055ede1dfdd62c90d37c882fd2a9a9fdbde0d70a92b9423a3cdbde92d821
size 23384
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d7e98e0450bc62594cfc12ce3508b829dcc6a2751f5c63c0547a1b9b328fed62
size 234
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f6d682be931822900dbe0d5a5b3c558c33608637d418c12c7bfedcb93801884
size 951
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1d7cf16caee9de10a67c4fc065b235ee33bd950bf3cad2ddaa0b80bfab48ff96
size 944
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2b41fb8feba4f64d816195cef9469308c5e12873957d167b8f870b69880fe7dd
size 50578
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:92ce9fd0bd6a4a6ad5a4333de4daa3c9cfb215f3ee640b12b7ade3144205ad4a
size 14419
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:758bacc01923d7418b36727783b8bdc9936a86738dac8b614afba02bfaf55832
size 10602
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3956250cd1c7a69c0e8d35eae5c68f6e8c4e7dc8be77ef0346a514212de26f71
size 146923
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:041c7fe2bec3927d9405fc7751160974d2d986ade5702b8f18db6277833301aa
size 164580
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6a0279f5c70a799f1b6ec6480c2ad265729b75d035b1e1e3da1983411fff7c6f
size 7195
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:72944c8011593f1fe22c675a13effd13eccb3cac7b105e8c6d34cd2815536578
size 30176
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e94ab0949c8aa7646e8b552f2326071da4d4d5f8763e5cad9a4f11e48647dbbd
size 384371
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:630f6d191331379ebf685593a74ef673007246c2087307a68ee3288c20a86ff0
size 69612
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:56bcfe6088dc4253618d93b58d3b3e89f1992f2398815d8d2ab99d2c29d396b1
size 9458
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:37aa35a06441c7430ef1fa2c8fdf4b07c9c7ae25d694874393d729afd44712cc
size 24626
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c4d4ff3bdda6fbcebaa036f86f24bb5b71a28c738cd2d74177b8025e6eb696b7
size 199104
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:be9c2f4dc81c467a5f73595ab559cceb41c80e497983585c163f03a124f783ab
size 31029
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:25282eb37abfb1a0f69aaf62eac49776b286efe35052c662e848e21f842dfd7a
size 108819
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c9ca99099ce269ecfbbfa4324106b6f76691c19971ad5ebe4fe21fccb65eb730
size 210703
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7b64c5c8207227504454315857d1d7ffb9d6b799c66934e3728521eaa8e6cb81
size 231251
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3b2dd6119c02068424beff8aecf7067d3cb6f9a0c67c9853352e5a606cc62510
size 16069
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:65f9d155fbcf4591d95a555a986268c5d0b7d1a15df8fe27491e4d82be165b3a
size 1743
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9c350812b1fedcd568b3e324963eb0f4214cbbfd7656a032e2d76eb0525df38d
size 303427
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:776614bdb2f2942bf07ecdd3fa6be3e22fefe2ef773d60b26a2ebfe0acb55fbc
size 65640
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e80b5117a6d517c3605efa25c078917ae9c97db639ec30a7581a6e967d4fe4b3
size 16621
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d501e3c0528039ac12396b978fd65e6a1d3a463e931271eaae6068bda49e0c67
size 12510
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c1430ffae1a486cf08083ca5a8fe5b1aca8719f81aab3ff291c156f66593b9f8
size 3644
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5187d9daf0011c7fb84c5ed68b59870c3cf9c7ba58dcc3a9565513555ecf4f6f
size 4915
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ab1f1d04a3203a223bbf6c978f67336a4be12bce7ca1a27a5aa93db3a04a2e78
size 110867
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d18db2e89dea39bfded031f3881976207d2430a659ed27c21359cc101e493681
size 138782
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:12ca9da0a4d8b1af54849a407ca0197dd7607c12acc1de8a52e89b23ef1d1a7b
size 329551
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4ade4ff2ab2069b332acb83654938b3517c258f9873b9aadc25053f211ca1ce2
size 27267
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e8a8fb5795239282ae3b5868773c8417fdd78d4ce606c60c6f712bd90ced9351
size 183009
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e404e5be5c3bbe47bf533f8a5a8227b7390a8ecbfa5d72f70d05a2a0d9f0a452
size 43603
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1fb334ec6937b75687a5b5fe2be4665ba628c6e6f3a689eed226265bf810a0a3
size 280440
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:59ef8524a03917f049f578a87b7653b250c13d2df8beaaac3af09649c0aaa84d
size 67482
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4e39260bb4f1031dcc966d601a11160f22bc26855121e04f49c1adacaff0651d
size 84979
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7f31c8d320cac71ec3427c0170de827cd726325b26c985950b0abfedbf2e6680
size 40731
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ec0f5b9e5281f4e6e8f83a2f67ce525294cbaf24ab2e62c038bc79d96a6fcc62
size 111650
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0e4cafb7c38cc45e0d47e348364aa949e175d34010fa900d707b9059e7bcddb9
size 164283
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cf11496887c967fa88e45a1cd32e6fd801c237318ee03f271a63b1390b48dd1d
size 188702
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:59ff837cbfc85dbe85244437770c2de791f4f2cf99db214b4ef3b6e8eaedf5eb
size 28776
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d98a2a1af92a7f90b2d32eb3c1b0f5ae59f94c2c256560249dc9cc4c961c27ec
size 208518
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2d350b4c837bbbc3c1ef42f3bae61a495ff91cdf0c82e59289a80d4085eb7fd5
size 205810
+75
View File
@@ -0,0 +1,75 @@
<!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: Documentation</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: Documentation </h1>
<h2 style="background-color: rgb(192, 192, 192);"><span style="font-family: Arial;">Document Index</span></h2>
<h3><a href="AboutCryTools.html"><span style="font-family: Arial;">About Crytools</span></a></h3>
<h3 style="font-family: Arial;"><a href="AnimTools.html">AnimTools</a> (<a href="CryAnimTools.html">old</a>)</h3>
<h3 style="font-family: Arial;"><a href="CryMorphTools.html">MorphManager</a></h3>
<h3 style="font-family: Arial;"><a href="CryRiggingTools.html">RiggingTools</a></h3>
<h3 style="font-family: Arial;"><a href="CryArtistTools.html">ArtistTools</a></h3>
<h3><span style="font-family: Arial;">CryInfo</span></h3>
<h3 style="font-family: Arial;"><a href="ControlPanel.html">Control Panel</a></h3>
<h3><a href="TDTools.html"><span style="font-family: Arial;">TD Tools</span></a></h3>
<span style="font-family: Arial;"><br>
<br>
<br>
<br style="font-family: Arial;">
</span><span style="font-family: Arial;"></span>
</body>
</html>