On this page |
|
概要 ¶
Animateステート は、アニメーションシーン内に複数のキャラクタを表示できるビューアステートです。 FKやIKなどでキャラクタにポーズを付けたり、キャラクタのコントロールを操作したり、キャラクタ間に拘束を追加することができます。 Animateステート内では、物理ベースのモーションやラグドールといった機能もアニメーションに適用することができます。
Animateステートに入るには、ネットワークエディタでAPEX Scene Animate SOPを選択し、Displayフラグをオンにして、左側のツールバーにある Animateをクリックします。
Note
Animateステートでは、パックされたキャラクタ要素のみが表示されます。 Animateステート用にキャラクタデータを準備する方法については、パックキャラクタフォーマットを参照してください。
ホットキー ¶
ホットキーまたは操作 |
アクション |
---|---|
⌃ Ctrl + ⇧ Shift |
⌃ Ctrl + ⇧ Shiftを押したまま複数のコントロールを選択すると、ハンドルがグローバルトランスフォームモードになります。 |
B |
Radialメニューを、利用可能なツールオプションと共に表示します。 |
F |
選択したコントロールをフレームします。 |
⇧ Shift + V |
Selection Sets HUDの表示を切り替えます。 |
V |
HUDウィンドウが開き、選択されたコントロールが含まれる選択セットのフィルタリングされたリストが表示されます。 |
何もない空間でドラッグ |
選択したコントロールを移動します。 |
P |
ハンドルパラメータウィンドウを開きます。 |
Y |
アクティブハンドルの様々なハンドルモードを循環させます。 |
T |
アクティブハンドルを移動モードに変更します。 |
R |
アクティブハンドルを回転モードに変更します。 |
E |
アクティブハンドルをスケールモードに変更します。 |
⌃ Ctrl |
⌃ Ctrlを押したまま各種トランスフォームハンドルを動かすと、ハンドルパラメータウィンドウで設定したステップサイズ単位で、ハンドルコンポーネント(移動、回転、スケール)が変更されます。 |
Animateモード ¶
ホットキーまたは操作 |
アクション |
---|---|
G |
コントロールを選択してGを押すと、HUDウィンドウが開き、選択したコントロールのトランスフォームコンポーネント(移動、回転、スケール)を変更することができます。また、バリューラダーを使用してコンポーネントの値を変更することもできます。 |
⌃ Ctrl + G |
HUDウィンドウを開き、ハンドルやフレームのオプションなど様々な設定を変更できます。 |
Locatorツール ¶
ホットキーまたは操作 |
アクション |
---|---|
H |
マウスの位置に新しいロケータを作成します。コントロールが選択されている場合、コントロールハンドルの位置に新しいロケータを作成します。 |
⌃ Ctrl + H |
選択したロケータを削除します。 |
|
選択したロケータの形状を変更します。 |
⇧ Shift + |
選択したロケータのサイズを変更します。 |
G |
HUDを開き、ロケータの色を変更できます。 |
Constraintsツール ¶
ホットキーまたは操作 |
アクション |
---|---|
H |
拘束を追加します。 |
⌃ Ctrl + H |
拘束を削除します。 |
G |
HUDを開き、ベイクのオプションや拘束のオン/オフを設定できます。 |
Dynamic Motionツール ¶
ホットキーまたは操作 |
アクション |
---|---|
H |
初めてHを押すと、重心コントロールが設定されます。その後Hを押した場合は、Projectile Motion(斜方投射)のセクションの開始/終了が設定されます。 |
⌃ Ctrl + H |
Projectile Motion(斜方投射)の現在のセクションを削除します。 |
G |
HUDを開き、Projectile Motion(斜方投射)のオプションを調整できます。 |
⌃ Ctrl + G |
HUDを開き、キーをベイクするオプションを設定できます。 |
⇧ Shift + |
選択したProjectile Motion(斜方投射)パスのティックのサイズを変更します。 |
⌃ Ctrl + |
選択したProjectile Motion(斜方投射)パスの高さ平面(height plane)のサイズを変更します。 |
Ragdollツール ¶
ホットキーまたは操作 |
アクション |
---|---|
H |
キャラクタのラグドールの作成を開始します。 |
⌃ Ctrl + H |
キャラクタのラグドールを削除します。 |
G |
HUDを開き、様々なラグドール設定のパラメータを調整できます。 |
⌃ Ctrl + G |
HUDを開き、アニメーションのリロード、ラグドールシミュレーションの視覚化、キーのベイクのためのオプションを設定できます。 |
M |
キャラクタのコントロールをラグドールのジョイントにマッピングする、インタラクティブモードに入ります。 |
トランスフォームハンドル ¶
Animateステートのハンドルは、キャラクタやコントロールの選択、操作、トランスフォームに使用されます。
トランスフォームハンドルモード ¶
ハンドルのコンテキストメニュー ¶
以下のオプションは、ハンドルのメニューで利用可能です:
オプション |
機能 |
---|---|
Cycle Mode |
様々なトランスフォームハンドルモードを循環させます。 |
Xform Mode |
トランスフォームハンドルモードを選択します:
|
Alignment |
トランスフォームハンドルをどのように揃えるのかを決定します。
|
Move Pivot |
コントロールの位置を移動します:
|
Snap To |
Pivot Mode がオンの時、ピボットをコントロールから遠ざけることができます。
|
Key Components |
アクティブハンドルの移動、回転、スケールコンポーネントにキーフレームを設定します。 |
Gimbal Mode |
Gimbal Mode がオフの時、Houdiniのバックグラウンド処理により、常に3つの回転リングハンドルが見える状態になります。リングをドラッグすると、回転順に関係なく、他のリングもそれに合わせて回転します。 このモードの利点は、回転ハンドルをドラッグしても、コントロール軸のジンバルロックが起こらないことです。欠点は、回転ハンドルを1つだけドラッグしても、Houdiniが3つの回転成分を変更することです。この方法で回転させると、きれいなアニメーションカーブになりません。 Gimbal Mode がオンの時、Houdiniは回転ハンドルの本当の位置を表示します。そして回転ハンドルをドラッグすると、直接その回転成分が変更され、Houdiniはジンバルロックを修正しようとしません。 このモードの利点は、3つの回転成分に対して直接的に独立した制御ができることです。つまり、Houdiniが他の成分を変更することを心配することなく、ハンドルを使ってアニメーションをセットアップできます。欠点は、ジンバルロックの可能性があることです。 詳細は、ジンバルモードとジンバルロックの修正を参照してください。 |
Pivot Mode |
オンの時、ハンドルをコントロールから離れるように動かして、ハンドルをコントロールからオフセットできます。オフの時、ハンドルはコントロールのピボットポイントとして使用されます。 |
Revert to Default Values |
ハンドルの値をリセットします。 |
ハンドルパラメータウィンドウ ¶
ビューポートにマウスカーソルがあるときにPを押すと、ハンドルパラメータウィンドウが開きます。
オプション |
機能 |
---|---|
Handle Translate Step |
⌃ Ctrlを押したまま移動ハンドルを動かすときに、コントロールを移動するステップサイズ。 |
Handle Rotate Step |
⌃ Ctrlを押したまま回転ハンドルを動かすときに、コントロール軸を回転するステップサイズ。 |
Handle Scale Step |
⌃ Ctrlを押したままスケールハンドルを調整するときに、オブジェクトをスケールするステップサイズ。 |
Handle Line Width |
ハンドルラインの太さを調整します。 |
Handle Scale Factor |
ハンドルサイズを調整します。 |
Handle Brightness |
ハンドルの明度を調整します。 |
Draw Handles in All Viewports |
ビューポートを分割して複数のビューを表示している時、これをオンにすると、すべてのビューでハンドルが表示されます。オフのときは、マウスカーソルを置いているビューにのみハンドルが表示されます。 |
Show Handle Plane Controls |
オンの時、平面でコントロールを移動できるハンドルのみが表示されます。 |
Alternate Rotate Mode as Default |
オンにすると、回転リングから離れるようにドラッグする間も、コントロール軸の回転が続きます。 |
Pose Tools |
使用するアニメーションツールを選択します。 |
Use Click and Drag |
オンの時、コントロールを一度にクリックアンドドラッグすることができます。オフのときは、コントロールを最初に選択し、次のマウスアクションでドラッグする必要があります。 |
Use Control XRay |
オンの時、コントロールがオブジェクトの背後に表示されます。 |
XRay Strength |
オブジェクトの背後のコントロールの不透明度を制御します。 |
Hide Controls During Playback |
オンの時、アニメーションの再生時はコントロールを非表示にします。 |
選択セットとポージング ¶
選択セットを使用して、Animateステートでのコントロールをグループまたはセットに整理します。 その後これらのセットを使用して、コントロールのグループを選択、非表示、ピン留め、分離することができます。 詳細は、選択セットを参照してください。
Animateステートでは、キャラクタにポーズを付けたり、キーフレームを設定してアニメーションを実行することができます。 デフォルトでは、複数のコントロールを選択してアクティブハンドルを移動/回転すると、選択したコントロールはそのローカル軸に沿って移動/回転します。
⌃ Ctrl + ⇧ Shiftを押したままにすると、ハンドルが グローバルトランスフォームモード になります。 アクティブハンドルを移動すると、選択したコントロールがワールド空間で移動します。 アクティブハンドルを回転すると、選択したコントロールがアクティブハンドルを中心に回転します。
以下の動画は、コントロールのグループを移動/回転したときのデフォルトの挙動と⌃ Ctrl + ⇧ Shiftの挙動を示しています。
グローバルトランスフォームモードでは、最後に選択したピボットを中心にコントロールのグループを移動および回転して、様々な設定で簡単にキャラクタにポーズを付けることができます。 拘束を使用する必要はありません。
To... | Do this |
---|---|
最後に選択したコントロールを中心に回転する |
|
コントロールのトランスフォームコンポーネントの値(移動、回転、スケール)を調整する |
|
ハンドルの配置を変更する |
|
異なるコントロールの選択時も同じトランスフォームハンドルモードを維持する |
|
選択をフレームする際のズーム量を変更する |
|
ジンバルモードをオンにする |
また、ビューポートでクリックして Gimbal Mode をオンにしても、ジンバルモードをオンにすることができます。 |
Animateステートツール ¶
以下のツールを使用して、Animateステート内のアニメーションに様々な機能を追加します:
Locator
コントロールのピボットポイントとして使用するロケータを追加します。
Constraints
コントロール間に拘束を追加します。
Dynamic Motion
アニメーションカーブをProjectile Motion(斜方投射)に置き換えます。
Ragdoll
ラグドールシミュレーションをアニメーションに追加します。
ツールは、Animateステートの上部のツールバーおよびAnimateステートのRadialメニューから選択できます。 ビューポートにマウスカーソルがあるときにBを押すとRadialメニューが開きます。
Locatorツール ¶
ロケータは、Animateステートに追加される要素で、回転するコントロールグループのピボットポイントとして使用されます。 これを使用することで、キャラクタに対してFKタイプのポーズを付けることができます。 ロケータはリグの一部ではありません。
Locatorツールにするには、上部のツールバーの Locatorをクリックするか、Radialメニューから Locator を選択します。
To... | Do this |
---|---|
ピボットとしてロケータを作成する |
目的のロケータの位置にマウスを置き、Hを押します。 |
ロケータを中心に回転し、FKタイプのポージングを実行する |
Note ⌃ Ctrl + ⇧ Shiftを押さずにコントロールのグループを回転すると、すべてのコントロールがそれぞれのローカル軸を中心に回転します。グローバルトランスフォームモードを参照してください。 |
ロケータのサイズと形状を変更する |
で選択したロケータの形状を変更します。 ⇧ Shift + で選択したロケータのサイズを変更します。 |
ロケータのカラーを変更する |
Gを押してHUDを開き、ロケータの色を設定します。 |
Constraintsツール ¶
拘束は、コントロール間に親子関係(子コントロールが親コントロールに追従)を作成します。
Constraintsツールにするには、上部のツールバーの Constraintsをクリックするか、Radialメニューから Constraints を選択します。
To... | Do this |
---|---|
拘束を追加する |
以下の例では、最初は右手がポールから離れます。拘束を追加すると、右手はポールから離れません。 |
拘束を削除する |
子コントロールを選択して⌃ Ctrl + Hを押します。子コントロールが元のカラーに戻ります。 |
拘束をオンまたはオフにする |
|
フレーム範囲にわたって拘束をベイクする |
選択したフレーム範囲の各フレームに、キーフレームが追加されます。 Enable Constraints をオフにしても、フレーム範囲内では子コントロールは親に拘束されているように見えます。 |
フレーム範囲にわたって既存のキーフレームを更新し、拘束した位置に合わせる |
Bake Range と似ていますが、既存のキーフレームのみを更新します。
Enable Constraints をオフにしても、既存のキーフレームで子コントロールは拘束された位置と一致します。 |
Dynamic Motionツール ¶
Dynamic Motionツールを使用すると、物理的に正確なProjectile Motion(斜方投射)の軌道をアニメーションに追加することができます。 詳細は、物理ベースのモーションを参照してください。
Dynamic Motionツールにするには、上部のツールバーの Dynamic Motionをクリックするか、Radialメニューから Dynamic Motion を選択します。
Projectile Motion(斜方投射)を作成する ¶
アニメーション内の現在のモーションパスをProjectile Motion(斜方投射)に置き換えるには:
-
Projectile Motion(斜方投射)パスの計算に使用する重心コントロールを選択し、Hを押します。おおまかなポーズが付いた現在のキーフレームアニメーションのパスが表示されます。
-
Projectile Motion(斜方投射)のセクションの開始および終了を設定します。
-
プレイバーで、アニメーションを最初のジャンプの開始まで動かし、Hを押します。緑の矢印が、Projectile Motion(斜方投射)のセクションの開始を示します。
-
最初のジャンプの終了まで動かして、Hを押します。赤の矢印が、Projectile Motion(斜方投射)のセクションの終了を示します。最初のジャンプのパスが、Projectile Motion(斜方投射)に置き換わります。
-
-
残りのジャンプのProjectile Motion(斜方投射)を追加します。
Projectile Motion(斜方投射)をアニメーションに戻す ¶
現時点では、Projectile Motion(斜方投射)はDynamic Motionツール内でのみ表示でき、デフォルトのAnimateモードでは表示できません。 Projectile Motion(斜方投射)を元のアニメーションに戻すには:
-
Ctrl+Gを押して、HUDを開きます。
-
Update Keys をクリックします。
既存のキーフレームがProjectile Motion(斜方投射)パスに移動します。
To... | Do this |
---|---|
Projectile Motion(斜方投射)の高さを調整する |
Projectile Motion(斜方投射)の弧の上部に表示される高さ平面(height plane)を選択し、ハンドルを使用して高さを調整します。 Note 高さ平面を選択してRを押すと、トランスフォームハンドルを回転モードに切り替えられます。これにより、Projectile Motion(斜方投射)パスが特定の高さに到達するのではなく、平面を回転させて高さ平面をかすめるようにすることができます。 または
|
Projectile Motion(斜方投射)のセクションの開始位置と終了位置を変更する |
Projectile Motion(斜方投射)パスの開始/終了の緑/赤の矢印を選択し、ハンドルを使用して位置を調整します。 |
Projectile Motion(斜方投射)をアニメーションに戻す |
既存のキーフレームをProjectile Motion(斜方投射)パスに移動します。
|
キーフレームをProjectile Motion(斜方投射)領域に追加する |
|
Projectile Motion(斜方投射)パスのティックのサイズを変更する |
⇧ Shift + |
Projectile Motion(斜方投射)の高さ平面(height plane)のサイズを変更する |
⌃ Ctrl + |
Ragdollツール ¶
Ragdollツールを使用すると、アニメーションにラグドールシミュレーションを追加することができます。
Ragdollモードにするには、上部のツールバーの Ragdollをクリックするか、Radialメニューから Ragdoll を選択します。
この例では、上のキャラクタにラグドールを追加します。
Note
AnimateステートでRagdollツールを使用する前に、キャラクタにラグドールコリジョンシェイプをセットアップして(Ragdoll Collision Shapes SOP)、ジョイント制限を設定す必要があります(Configure Joint Limits SOP)。
セットアップ ¶
-
Hを押し、ラグドールシミュレーションの作成を開始します。
-
Character Source Dataウィンドウで、ラグドールにしたいキャラクタのスケルトン(.skel)を選択します。 Accept をクリックします。
-
そのキャラクタにセットアップ済みのラグドールコリジョンシェイプを選択します。 Accept をクリックします。
コリジョンシェイプは、Ragdoll Collision Shapes SOPの2番目の出力で生成されます。コリジョンシェイプがキャラクタにパックされ、名前が例えば
RagdollCollision.shp
の場合は、キャラクタ(.char)の下に表示されるRagdollCollision.shp
を選択します。既にシーン内にあるキャラクタのコピーを取り込む場合、その新しいキャラクタのコリジョンシェイプがないときは、元のキャラクタのコリジョンシェイプを使用することができます。
-
使用したいアニメーションチャンネルデータを選択します。これが新しいラグドールシミュレーションの場合、何も選択する必要はありません。 Accept をクリックするだけです。
以前設定したラグドールデータがあり、格納したアニメーションチャンネルデータを使用したい場合は、
ragdolldata
>*_channelprims
を選択し、 Accept をクリックします。Note
チャンネルプリミティブは、ジオメトリと一緒に保存され、Animateステート用に最適化されたアニメーションカーブです。キャラクタのコントロールが選択されている場合、そのコントロールのチャンネルプリミティブがチャンネルリストに追加され、通常のチャンネルのように操作することができます。
-
使用したいMotionClipを選択します。これが新しいラグドールシミュレーションの場合、何も選択する必要はありません。 Accept をクリックするだけです。
以前設定したラグドールデータがあり、格納したMotionClipを使用したい場合は、
ragdolldata
>*_motionclip
を選択します。 -
ラグドールの名前を入力し、 OK をクリックします。
-
ラグドールが継承する元のアニメーションを検索する場所を指定します。
これで、ラグドールシミュレーションに渡す前に、ラグドールがキャラクタの元のアニメーションを継承するようになります。キャラクタリグで、スケルトンの動きはアニメーションによって駆動されます。リグのスケルトン入力は、静止ポーズです。リグのスケルトン出力での位置の更新は、アニメーションによって駆動されています。このスケルトン出力を使用して、フレーム範囲にわたってスケルトンポーズのセットを格納するMotionClipが作成されます。
ダイアログで、ソースキャラクタリグのスケルトン出力(.skel)を指定します。キャラクタフォーマット階層は以下の通りです: キャラクタ > リグ > リグ出力ノード > スケルトン出力。 例えば:
character -- Base.rig -- output -- Base.skel
-
Accept をクリックします。
キャラクタのコリジョンシェイプが表示されます。アニメーションを再生すると、ラグドールが地面に落下します。これは、ラグドールキャラクタの基本的なデフォルトの挙動です。
ラグドールモーションを作成する ¶
-
ラグドールを見やすくするには、⌃ Ctrl + Gを押してHUDを開き、 Toggle Visualiser Offset をクリックします。こうすると、ラグドールがソースキャラクタの横に配置されます。
Note
ラグドールコントロールが表示されない場合は、All Controls選択セットで
ragdoll
の可視性がオンになっていることを確認してください。 -
背骨のジョイントはアニメーションに追従し、キャラクタの残りはラグドールとしてとどまるように設定します。
-
背骨に沿ってコリジョンシェイプを選択し、Gを押してHUDを開いてコリジョンシェイプパラメータを設定します。
-
Animated タブで、 Match World Transforms をオンにします。選択したコリジョンシェイプのジョイントが、元のスケルトンジョイントに追従します。
Match World Transforms がオンの時、キーフレームは選択したジョイントのそれぞれの現行フレームに設定されます。選択したコリジョンシェイプジョイントのチャンネルは、チャンネルリストに
_matchworldtransforms
付きで表示されます。
Tip
コリジョンシェイプでジッター(微震)が発生する場合、互いに衝突している可能性があります。 Match World Transforms をオンにする代わりに、 Active をオフにしてみてください。
-
-
投げの終了時にラグドールシミュレーションが引き継ぐように指定します。ラグドールシミュレーションに引き継がせたいフレームに移動して、 Match World Transforms をオフにします。選択した
*_matchworldtransforms
チャンネルにキーフレームが設定されます。
ラグドールシミュレーションをアニメーションに戻す ¶
-
ソーススケルトンのコントロールをラグドールのジョイントにマッピングします。
Mを押してインタラクティブマッピングモードにします。これは、Map Points SOPと同じように機能します。
-
アニメーションに戻したいラグドールモーションを持つコントロールを選択します。コントロールグループの選択セットを作成して、Selection Sets HUDまたはペインからそのセットを選択することもできます。
-
⌃ Ctrl + Gを押して、HUDを開きます。HUDには、ラグドールモーションをアニメーションに書き出すための以下のベイクオプションがあります:
Bake Keys
特定のフレームにキーフレームを追加します。
Start Recording Poses
選択したフレームまたはフレーム範囲にわたってキーフレームを設定します。
-
Start Recording Poses をクリックします。
タイムラインで特定のフレームを選択すると、それらのフレームにキーフレームが追加されます。
タイムラインをスクラブすると、スクラブの間、フレーム範囲の各フレームにキーフレームが追加されます。
プレイバーで Playボタンを押すと、 Stopボタンを押すまで、各フレームにキーフレームが追加されます。
-
目的のキーフレームをすべて追加したら、 Stop Recording Poses をクリックします。
これで、アニメーションにラグドールモーションが含まれるようになりました。
To... | Do this |
---|---|
ラグドールの作成を開始する |
Hを押してプロンプトの指示に従います。 |
ラグドールコリジョンシェイプをアニメーションの横に表示する |
|
特定のフレームでキャラクタがラグドールかどうかの状態を設定する |
|
特定のコリジョンシェイプを、元のアニメーションに追従するよう設定する |
他のオブジェクトは、まだコリジョンシェイプに衝突することができます。 |
特定のコリジョンシェイプを、他のシェイプと衝突しないよう設定する |
|
特定のジョイントを、元のスケルトンのジョイント位置と一致するよう設定する |
選択したジョイントは元のスケルトンジョイントに追従しますが、キャラクタの残りはラグドールになります。 |
ラグドールに衝突可能な他のオブジェクトを取り込む |
|
シーンでMotionClipをリロードする |
|
未接続のコリジョンシェイプをスケルトンにピン留めします。 |
これは、すべてのキャラクタに適用されるグローバルオプションです。詳細は、Ragdoll Solver SOPの Pin Root を参照してください。 |
コリジョンシェイプの密度、跳ね返り係数、摩擦を変更する |
|
地面をオンまたはオフにします。 |
|
地面を表示または非表示にする |
|
設定パラメータHUD (Gホットキー)のパラメータの説明は、Ragdoll Solver SOPノードの説明を参照してください。