1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"[]> 2<html xml:lang="en-US" lang="en-US"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../../../css/document.css" type="text/css" /> 7 <title>Basic Features</title> 8 </head> 9 <body> 10 <h1>Basic Features</h1> 11 12 <h2 id="play">Animation Playback</h2> 13 <div class="section"> 14 <p>The following is a simple procedure for playing back an animation.</p> 15 <p class="info">For details, see AnimationDemo.</p> 16 <ol> 17 <li>Gets the animation group. 18 <ul> 19 <li><a href="../../../nw/gfx/Model/GetVisibilityAnimGroup.html"><CODE>Model::GetVisibilityAnimGroup</CODE></a> (Example)</li> 20 </ul> 21 <p>The functions used differ depending on the animation target and type.</p> 22 <ul> 23 <li><a href="../../../nw/gfx/SkeletalModel/GetSkeletalAnimGroup.html"><CODE>SkeletalModel::GetSkeletalAnimGroup</CODE></a></li> 24 <li><a href="../../../nw/gfx/Model/GetVisibilityAnimGroup.html"><CODE>Model::GetVisibilityAnimGroup</CODE></a></li> 25 <li><a href="../../../nw/gfx/Model/GetMaterialAnimGroup.html"><CODE>Model::GetMaterialAnimGroup</CODE></a></li> 26 <li><a href="../../../nw/gfx/Light/GetAnimGroup.html"><CODE>Light::GetAnimGroup</CODE></a></li> 27 <li><a href="../../../nw/gfx/Camera/GetAnimGroup.html"><CODE>Camera::GetAnimGroup</CODE></a></li> 28 </ul> 29 </li> 30 31 <li>Create an instance for animation evaluation. 32 <ul> 33 <li><a href="../../../nw/gfx/AnimEvaluator/Builder/Overview.html"><CODE>AnimEvaluator::Builder</CODE></a></li> 34 </ul> 35 <p>Use <a href="../../../nw/gfx/TransformAnimEvaluator/Builder/Overview.html"><CODE>TransformAnimEvaluator::Builder</CODE></a> for skeletal animations.</p> 36 </li> 37 38 <li>Bind an animation loop to the created animation evaluation instance. 39 <ul> 40 <li><a href="../../../nw/gfx/AnimObject/Bind.html"><CODE>AnimObject::Bind</CODE></a></li> 41 </ul> 42 </li> 43 44 <li>Register the animation evaluation with the model. 45 <ul> 46 <li><a href="../../../nw/gfx/Model/SetVisibilityAnimObject.html"><CODE>Model::SetVisibilityAnimObject</CODE></a> (Example)</li> 47 </ul> 48 <p>The functions used differ depending on the animation target and type.</p> 49 <ul> 50 <li><a href="../../../nw/gfx/SkeletalModel/SetSkeletalAnimObject.html"><CODE>SkeletalModel::SetSkeletalAnimObject</CODE></a></li> 51 <li><a href="../../../nw/gfx/Model/SetVisibilityAnimObject.html"><CODE>Model::SetVisibilityAnimObject</CODE></a></li> 52 <li><a href="../../../nw/gfx/Model/SetMaterialAnimObject.html"><CODE>Model::SetMaterialAnimObject</CODE></a></li> 53 <li><a href="../../../nw/gfx/Light/SetAnimObject.html"><CODE>Light::SetAnimObject</CODE></a></li> 54 <li><a href="../../../nw/gfx/Camera/SetAnimObject.html"><CODE>Camera::SetAnimObject</CODE></a></li> 55 </ul> 56 <p>Pass the just-created <CODE>AnimEvaluator</CODE> object in the <SPAN class="argument">AnimObject</SPAN> argument.<br /> Pass other derived classes for any subsequent blending or other such processing. 57 </p> 58 </li> 59 60 <li>Update the scene each frame. 61 <ul> 62 <li><a href="../../../nw/gfx/SceneUpdater/UpdateAll.html"><CODE>SceneUpdater::UpdateAll</CODE></a></li> 63 </ul> 64 </li> 65 </ol> 66 </div> 67 68 <h2 id="change_anim">Switching the Playback Animation</h2> 69 <div class="section"> 70 <p>This section describes how to play another animation for a target for which an animation is already playing.</p> 71 <ul> 72 <li><a href="../../../nw/gfx/BaseAnimEvaluator/ChangeAnim.html"><CODE>BaseAnimEvaluator::ChangeAnim</CODE></a></li> 73 </ul> 74 <p>Switching animations is faster than re-creating an instance for evaluation.</p> 75 </div> 76 77 <h2 id="frame_control">Frame Control</h2> 78 <div class="section"> 79 <p>This section describes how to control the playback frame of an animation from your program.</p> 80 <ul> 81 <li>To set a particular frame: 82 <ul> 83 <li><a href="../../../nw/gfx/BaseAnimEvaluator/SetFrame.html"><CODE>BaseAnimEvaluator::SetFrame</CODE></a></li> 84 </ul> 85 </li> 86 87 <li>To change the update interval of an animation: 88 <ul> 89 <li><a href="../../../nw/gfx/BaseAnimEvaluator/SetStepFrame.html"><CODE>BaseAnimEvaluator::SetStepFrame</CODE></a></li> 90 </ul> 91 </li> 92 93 <li>To set or cancel a loop: 94 <ul> 95 <li><a href="../../../nw/gfx/BaseAnimEvaluator/SetPlayPolicy.html"><CODE>BaseAnimEvaluator::SetPlayPolicy</CODE></a></li> 96 </ul> 97 </li> 98 </ul> 99 </div> 100 101 <h2 id="reset">Resetting an Animation</h2> 102 <div class="section"> 103 <p>This section describes how to restore status immediately after loading a model or other object.</p> 104 <ul> 105 <li><a href="../../../nw/gfx/BaseAnimEvaluator/Reset.html"><CODE>BaseAnimEvaluator::Reset</CODE></a></li> 106 </ul> 107 <p>You must have a material buffer ready to perform this operation on a material.<br /> For details, see <a href="CRYPTORSASignInitParam.html"><CODE>BaseAnimEvaluator::Reset</CODE></a>.</p> 108 </div> 109 110 <h2 id="release">Removing an Animation</h2> 111 <div class="section"> 112 <p>Follow these steps to remove an animation from a model.</p> 113 <ul> 114 <li>Call the <a href="../../../nw/gfx/AnimObject/Release.html"><CODE>AnimObject::Release</CODE></a> function to remove an animation group from an animation evaluation.</li> 115 <li>Pass <CODE>NULL</CODE> to the <CODE>SetAnimObject</CODE> or <CODE>Set***AnimObject</CODE> functions as described in <a href="#play">Animation Playback</a> to delete an animation.</li> 116 </ul> 117 <p>Note that all steps are required here.</p> 118 </div> 119 120 <h2 id="blend">Blending Animations</h2> 121 <div class="section"> 122 <p>This section describes how to blend two or more animations with the same target.<br /> The <CODE>AnimationBlendDemo</CODE> blends a walking animation and running animation.</p> 123 <p class="info">For details, see AnimationBlendDemo.</p> 124 <ol> 125 <li>Prepare two or more instances of <a href="../../../nw/gfx/AnimEvaluator/Overview.html"><CODE>AnimEvaluator</CODE></a>. 126 <p>For details on creating an instance of AnimEvaluator, see <a href="#play">Animation Playback</a>.</p> 127 </li> 128 <li>Create an instance of <a href="../../../nw/gfx/AnimInterpolator/Overview.html"><CODE>AnimInterpolator</CODE></a> with the required size and register the <CODE>AnimEvaluator</CODE> objects. 129 <ul> 130 <li><a href="../../../nw/gfx/AnimInterpolator/Builder/Overview.html"><CODE>AnimInterpolator::Builder</CODE></a></li> 131 <li><a href="../../../nw/gfx/AnimBlender/AddAnimObject.html"><CODE>AnimBlender::AddAnimObject</CODE></a></li> 132 </ul> 133 <p>In this example, the <CODE>AnimObject</CODE> to be registered is an <CODE>AnimEvaluator</CODE> object.</p> 134 </li> 135 </ol> 136 <p> 137 You can also blend an <CODE>AnimBlender</CODE> object using another <CODE>AnimBlender</CODE>.<br /> You can also overwrite animations. For details, see <a href="AdvancedFeature.html#partial_anim">Partial Animation</a>. 138 </p> 139 </div> 140 141 <hr><p>CONFIDENTIAL</p></body> 142</html>