On this page |
|
Animateステートには、アニメーションシーンでキャラクタにポーズを付けたり、コントロールのモーションパスを操作するための便利なオプションがいくつか用意されています。また、拘束、Dynamic Motion、ラグドールシミュレーションを追加するためのツールもあります。
ポージング ¶
コントロールをコピー/ぺーストする ¶
コントロールのコピーとぺースト機能は、コンテキストメニューからアクセスできます:
Copy Selection
選択したコントロールをクリップボードにコピーします。
Paste World Transforms
選択したコントロールを、 Copy Selection オプションでコピーしたコントロールのワールド位置に移動します。ペースト処理は、コピー/ペーストされたコントロール名の一致を試みます。

Copy Selection で複数のコントロールが選択され、ペースト処理がコピー処理とペースト処理間でコントロール名を一致させることができない場合、ペースト処理で選択されたコントロールは、 Copy Selection のプライマリコントロールの位置に移動されます。プライマリコントロールは、コピー処理の間トランスフォームハンドルが配置されるコントロールです。
Paste Local Transforms
選択したコントロールに対して、 Copy Selection のコントロールで実行されているのと同じローカルトランスフォームを実行します。ペースト処理は、コピー/ペーストされたコントロール名の一致を試みます。

Copy Selection で複数のコントロールが選択され、ペースト処理がコピー処理とペースト処理間でコントロール名を一致させることができない場合、ペースト処理で選択されたコントロールは、 Copy Selection のプライマリコントロールのローカル位置に移動されます。プライマリコントロールは、コピー処理の間トランスフォームハンドルが配置されるコントロールです。
ポーズをミラー化する ¶
Animateステートで、コントロールの位置、回転、スケールをミラー化することができます。単一または複数のキャラクタでコントロールをミラー化するには:
-
ミラー化したいコントロールを選択します。⇧ Shiftを押したまま、または矩形ドラッグで選択すると、複数のコントロールを選択できます。
-
ビューポートで
クリックし、 Mirror with Default または Mirror with Plane を選択します:
-
Mirror with Default は、リグがミラー化されるのと同じ平面で、選択したコントロールをミラー化します。追加のユーザ入力は必要ありません。リグコントロールがミラー化される平面は、リグセットアップで決定されます。
-
Mirror with Plane では、ミラー平面の調整が可能なミラーポーズステートに入ります。⌃ Ctrl + Gを押すと、ミラー設定を含むHUDが開き、ミラー化を適用する前に特定の設定を行なうことができます。ビューポート上にカーソルを置いた状態でEnterを押すと、ミラー化できます。
-
以下の例では、Electraの脚のコントロール(左の画像)がリグの反対側にミラー化されています(右の画像)。

リグの反対側に同等のコントロールがない 単一のコントロール の場合は(例えば、背骨や胸部のコントロール)、ミラー平面でコントロールを反転することで、ミラー化が実行されます:

Note
デフォルトで、ミラー化処理は、リグのミラー化されるコントロールの名前は<control>_l
および<control>_r
であると想定しています。コントロールの名前がこのように付けられていない場合は、APEX Configure Character SOPを使用して、リグのコントロールの命名規則を指定し、その情報をミラー化処理に使用することができます。この方法に関する詳細は、How-toを参照してください。
ミラー設定 ¶
ミラー設定では、ミラー化処理の設定を行なうことができます。ミラー設定を開くには:
-
ミラー化したいコントロールを選択します。⇧ Shiftを押したまま、または矩形ドラッグで選択すると、複数のコントロールを選択できます。
-
ビューポートで
クリックし、 Mirror with Plane を選択します。
-
⌃ Ctrl + Gを押して、設定用のHUDを開きます。
-
Mirror Settings タブを選択します。
設定 |
説明 |
---|---|
Flip Axes |
このオプションを使用して、ミラー化時のおかしな回転を修正することができます。 |
Mirror to Opposite Control |
オンの時、反対側のコントロールに対してミラー化を実行します。オフの時は、現在選択されているコントロールに対してミラー化を実行します。 |
Move Planes Together |
このオプションは、複数のキャラクタでコントロールが選択されている場合にのみ使用できます。オンの時、複数の選択されたキャラクタのミラー平面を一緒に移動します。 |
Rig Mirror Plane |
キャラクタが静止位置の時、このリグ内の平面でコントロールがミラー化されます。 |
Components |
ミラー化するトランスフォームコンポーネント - 移動( T )、回転( R )、スケール( S )。 |
Selection Mode |
ミラー化後に選択されるコントロール。 Original ミラー化後、元々選択されていたコントロールが選択されたままになります。 Mirrored ミラー化後、ミラー化されたコントロールが選択されます。 All ミラー化後、元々選択されていたコントロールとミラー化されたコントロールの両方が選択されます。 |
Live Preview |
オンの時、実行されるミラー化のライブプレビューを表示します。 |
Outline Overlay |
オンの時、ミラー化のライブプレビューをオーバーレイレイヤーとして表示します。 Note 1つしかないコントールをミラー化する時は、 Outline Overlay オプションをオンにします。 Outline Overlay なしで Live Preview を使用すると、単一のコントロールではうまく機能しません。単一のコントロール自体がミラー化されるため、コントロールを移動するたびに、元のコントロール位置とミラー化された結果の間でリグの表示が切り替わるからです。 |
How-to ¶
To... | Do this |
---|---|
リグのコントールの命名規則を指定する |
リグのコントロールの名前が、ミラー化処理が想定するデフォルトの APEX Configure Character SOPはパックされたキャラクタを受け取ります: ![]() 例えば、リグに
ミラー化のパターンは、キャラクタリグのDetailアトリビュート ![]()
Note リグのDetailアトリビュートに |
キャラクタの両側でポーズをスワップする |
以下の例が示すのは、元のポーズ(左の画像)とミラー化後にスワップされたポーズ(右の画像)です。 ![]() |
選択したコントールに対してミラー化を実行する |
|
ワールド空間でキャラクタをミラー化する |
![]() |
元の方向を維持しながらコントロール位置をミラー化する |
以下の例では、Electraの手の位置のみがミラー化されています。Electraの右手の回転は変更されていません。 ![]() |
ジョイントをミラー化する |
|
ライブプレビューオプションを変更する |
設定用のHUDで Mirror Settings ▸ Advanced タブに移動し、 Live Preview および Outline Overlay オプションを設定します。 |
複数のキャラクタのミラー平面を調整する |
|
ミラー化時のおかしな回転を修正する |
ミラー設定の Flip Axes オプションで、別の軸を選択してみます。 |
リグコントロールをミラー化する際の基準となる平面を上書きする |
ミラー化処理では、YZ平面を基準としたリグコントロールのミラー化を想定しています。これはデフォルトのリグミラー平面です。YZ平面以外でリグコントロールをミラー化する場合は、2つの方法のうちのいずれかでそれを指定する必要があります:
Note リグミラー平面 とは、コントロールがミラー化されるときの基準となるリグ内の平面です。 ミラー平面 は、Animateステートでミラー化処理を実行するのに使用される平面です。ミラー化用の平面の位置/方向を設定するために、ミラー設定の Rig Mirror Plane を変更してはいけません。ミラー化処理のためには、ビューポートでミラー平面のハンドルを使用してください。 |
ミラー化後に選択されるコントロールを指定する |
ミラー設定の Advanced タブで、 Selection Mode オプションを設定します。 |
ミラー平面をローカルのリグ平面に戻す |
ビューポートで |
ロケータ ¶
ロケータは、Animateステートに追加される要素で、回転するコントロールグループのピボットポイントとして使用されます。これを使用することで、キャラクタに対してFKタイプのポーズを付けることができます。ロケータはリグの一部ではありません。
ロケータは、Add Locatorツールを使用して作成します。このツールにアクセスするには、上部のツールバーで Add Locatorをクリックするか、Radialメニュー(ビューポートでCを押す)から Add Locator を選択します。
To... | Do this |
---|---|
ピボットとしてロケータを作成する |
目的のロケータの位置にマウスを置き、Hを押します。 |
ロケータを中心に回転し、FKタイプのポージングを実行する |
Note ⌃ Ctrl + ⇧ Shiftを押さずにコントロールのグループを回転すると、すべてのコントロールがそれぞれのローカル軸を中心に回転します。グローバルトランスフォームモードを参照してください。 |
ロケータのサイズと形状を変更する |
⇧ Shift + |
ロケータのカラーを変更する |
|
モーションパス ¶
モーションパスを使用すると、コントロールの動きを3D空間の曲線として視覚化して、ビューポートで曲線を変更できます。モーションパスのオプションは、設定用のHUDの Animate Settings ▸ Motion Path タブで設定することができます。
コントロールのモーションパスを表示するには:
-
Animateステートでコントロールを選択します。
-
設定用のHUDの Animate Settings ▸ Motion Path タブで、 Bind をクリックします。コントロールのモーションパスが表示され、コントロールのキーはモーションパス上にドットとして表示されます。これらのドットがモーションパスコントロールです。
モーションパス全体を表示するには、 Limit Number of Frames をオフにします。選択セットを使用して、モーションパスの可視性を制御することもできます。モーションパスは All Controls ▸ motionpath にあります。
Note
一度に1つのコントロールのみ、モーションパスを表示できます。
-
モーションパスコントロールを選択し、ハンドルを調整することで、モーションパスを移動することができます:
モーションパス
To... | Do this |
---|---|
コントロールのモーションパスを作成する |
|
モーションパスを削除する |
設定用のHUDの Animate Settings ▸ Motion Path タブで、 Unbind をクリックします。 |
モーションパスを移動する |
モーションパスコントロールを選択します。表示されたトランスフォームを操作して、モーションパスの選択したキーを移動できます。 |
モーションパス全体を表示する |
設定用のHUDの Animate Settings ▸ Motion Path タブで、 Limit Number of Frames をオフにします。 |
モーションに表示されるフレームの数を制限する |
設定用のHUDの Animate Settings ▸ Motion Path タブで、 Limit Number of Frames をオンにし、 Frames Before および Frames After の値を調整します。 |
モーションパスの表示のオン/オフを切り替える |
Selection Sets HUD/ペインで:
|
モーションパスのティックのサイズを変更する |
設定用のHUDの Animate Settings ▸ Motion Path タブで、 Path Width を調整します。 |
モーションパスコントロールのサイズを変更する |
設定用のHUDの Animate Settings ▸ Motion Path タブで、 Key Size を調整します。 |
拘束 ¶
拘束は、コントロール間に親子関係(子コントロールが親コントロールに追従)を作成します。Animateステートでは、一時的な拘束と通常の拘束の2種類を使用することができます。
一時的な拘束
一時的な拘束は、アニメーションシーン内で動的に更新できます。
通常の拘束
通常の拘束は、アニメーションシーン全体で拘束を適用したいコントロールに使用されます。
一時的な拘束 ¶
一時的な拘束のオプションは、設定用のHUDの Animate Settings ▸ Transient Constraints タブで設定することができます。
この例では、片方の手からもう片方の手にボールを移すようにします。以下は元のアニメーションです:
-
ボールを手に拘束します:
-
ドリブンオブジェクト(ボール)を選択し、⇧ Shiftを押したまま、ドライバオブジェクト(手)を選択します。
-
タイムラインで、拘束をアクティブにするフレーム範囲を選択します(⇧ Shiftを押しながらタイムライン上でドラッグ)。
-
ビューポートにマウスカーソルを移動し、Aを押します。
ボールと手の間に拘束が作成され、ボールのキーが選択したフレーム範囲の各フレームにベイクされます。
Note
拘束の挙動は、一時的な拘束のフレーム範囲内でのみアクティブになります。
ボールを手に拘束 矢印のビジュアライザが、ボールと手の間の拘束関係を示します:
一時的な拘束のビジュアライザ -
-
ボールの位置を手に合わせます。
一時的な拘束が作成されると、ドリブンオブジェクト(ボール)を移動できるようになります。変更は、一時的な拘束がアクティブなフレーム範囲全体に自動的に適用されます。一時的な拘束がアクティブなフレーム範囲内にいることを確認してください。そうしないと、変更がフレーム範囲全体に適用されません。
Note
変更が一時的な拘束のフレーム範囲全体に適用されない場合は、設定用のHUDの Animate Settings ▸ Transient Constraints タブで、 Auto Update Follow Ranges がオンになっていることを確認してください。
ドリブンオブジェクト(ボール)を移動 -
ボールをもう片方の手に拘束します。
両方の手に異なるフレーム範囲でボールを拘束 -
ボールをその手に合わせます。
ボールをもう片方の手に合わせる -
ボールが片方の手からもう片方の手に移るときのアニメーションのカクつきを修正します。
アニメーションのカクつき -
ボール(ドリブンオブジェクト)を選択します。
-
現在のフレームが最初の一時的な拘束のフレーム範囲内になるように、タイムラインをクリックします。
-
設定用のHUDの Animate Settings ▸ Transient Contraints タブで、
ボタンをクリックします。これにより、現在の拘束範囲の後のフレームと一致するようにボールのオフセットが更新され、現在の範囲から次の範囲へ滑らかに遷移するようになります。
拘束範囲の間でオフセットを一致させる -
-
ボールは動かさずに、最初の拘束範囲で手を修正します。手(ドライバ)を選択し、⇧ Shift + Aを押したまま手を調整します。
手(ドライバ)を調整
To... | Do this |
---|---|
一時的な拘束を追加する |
|
一時的な拘束を削除する |
|
ドライバオブジェクトを調整する |
⇧ Shift + Aを押したまま、ドライバオブジェクトを移動します。 |
ドリブンオブジェクトを、隣接する拘束フレーム範囲のオフセットに合わせて調整する |
|
拘束を追加するときに既存のキーを更新する |
選択したフレーム範囲内のキーフレームが、拘束の挙動で更新されます。 |
拘束を追加するとき、拘束フレーム範囲の各フレームにキーを追加する |
選択したフレーム範囲の各フレームに、キーフレームが追加されます。 |
拘束のビジュアライザの表示をオフにする |
設定用のHUDの Animate Settings ▸ Transient Contraints タブで、 Show Constraint Visualizer をオフにします。 |
通常の拘束 ¶
通常の(一時的でない)拘束は、Add Constraintツールを使用して作成します。このツールにアクセスするには、上部のツールバーで Add Constraintをクリックするか、Radialメニュー(ビューポートでCを押す)から Add Constraint を選択します。
To... | Do this |
---|---|
拘束を追加する |
以下の例では、最初は右手がポールから離れます。拘束を追加すると、右手はポールから離れません。 |
拘束を削除する |
子コントロールを選択して⌃ Ctrl + Hを押します。子コントロールが元のカラーに戻ります。 |
拘束をオンまたはオフにする |
|
フレーム範囲にわたって拘束をベイクする |
選択したフレーム範囲の各フレームに、キーフレームが追加されます。 Enable Constraints をオフにしても、フレーム範囲内では子コントロールは親に拘束されているように見えます。 |
フレーム範囲にわたって既存のキーフレームを更新し、拘束した位置に合わせる |
Bake Range と似ていますが、既存のキーフレームのみを更新します。
Enable Constraints をオフにしても、既存のキーフレームで子コントロールは拘束された位置と一致します。 |
Dynamic Motion ¶
Dynamic Motionツールを使用すると、物理的に正確なDynamic Motionの軌道をアニメーションに追加することができます。詳細は、物理ベースのモーションを参照してください。
Dynamic Motionツールにするには、上部のツールバーの Dynamic Motionをクリックするか、Radialメニュー(ビューポートでCを押す)から Dynamic Motion を選択します。
Dynamic Motionを作成する ¶
アニメーション内の現在のモーションパスをDynamic Motionに置き換えるには:
-
Dynamic Motionパスの計算に使用する重心コントロールを選択し、ビューポートでHを押します。
Dynamic Motionパス全体を確認するには、設定用のHUD(ビューポートで⌃ Ctrl + Gを押す)の Dynamic Motion Settings ▸ Path Settings タブで、 Limit Number of Frames をオフにします。おおまかなポーズが付いた現在のキーフレームアニメーションのパスが表示されます。
おおまかなポーズが付いたアニメーションの軌道 -
Dynamic Motionのセクションの開始および終了を設定します:
-
プレイバーのタイムラインで、アニメーションを最初のジャンプの開始まで動かし、ビューポートでHを押します。
-
最初のジャンプの終了まで動かして、ビューポートでHを押します。最初のジャンプのパスが、Dynamic Motionに置き換わります。
パスをDynamic Motionに置き換える -
-
残りのジャンプのDynamic Motionを追加します:
Dynamic Motion付きのアニメーション
Dynamic Motionをアニメーションに戻す ¶
現時点では、Dynamic MotionはDynamic Motionツール内でのみ表示でき、デフォルトのAnimateモードでは表示できません。Dynamic Motionを元のアニメーションに戻すには:
-
⌃ Ctrl + Gを押して、設定用のHUDを開きます。
-
Dynamic Motion Settings ▸ Bake タブで、 Update Keys をクリックします。
既存のキーフレームがDynamic Motionパスに移動します。
キーフレームを追加する ¶
キーフレームをDynamic Motion領域に追加するには:
-
⌃ Ctrl + Gを押して、設定用のHUDを開きます。
-
Dynamic Motion Settings ▸ Bake タブで、以下のオプションが利用可能です:
Keep Existing Keys
オフの時、既存のキーが新規キーに置き換わります。
Bake Essential Keys
オンの時、弧の最も重要なポイント(着地点、両側の中間点、弧の頂点)にキーフレームを追加します。
Resample Keys
オンの時、Dynamic Motion領域を Nフレーム毎 にリサンプルします。
-
(オプション)キーフレームを新しいアニメーションレイヤーに追加するには、 Bake Keys to New Layer をオンにします。
-
Bake Keys をクリックします。
-
Bake Keys to New Layer がオフの場合、キーフレームは現在のアニメーションレイヤーに追加されます。
-
Bake Keys to New Layer がオンの場合、キーフレームは dynamicmotion という名前の新しいアニメーションレイヤーに追加されます。 dynamicmotion はオーバーライドレイヤーです。詳細は、アニメーションレイヤーを参照してください。
-
Dynamic Motionの開始、終了、高さを調整する ¶
Dynamic Motionの開始位置、終了位置、高さを調整するには、Dynamic MotionツールのAdvancedモードに入ります。
-
ビューポートでGを押して、パラメータHUDを開きます。
-
Dynamic Motion タブで、 Mode を Advanced に設定します。
-
表示されるダイアログで、新しいアニメーションと現在のレイヤーのどちらで作業するかを選択します。Advancedモードで、Dynamic Motionの高さを変更すると、アニメーション全体のリタイムが必要になります。その結果、1つのアニメーションレイヤーにロックされ、レイヤーを切り替えようとするとプロンプトが表示されます。
-
Dynamic Motion Source Animationウィンドウで、リタイムを適用したいキャラクタリグを選択します。例えば、キャラクタが空中にボールを投げる場合、キャラクタとボールの両方のリグを選択します。このようにして、ボールのDynamic Motionの弧の高さを上げると、キャラクタの手の動きも遅くなり、ボールが空中にある時間が長くなった場合でも、ボールをキャッチすることができます。
-
Accept をクリックします。
Advancedモードでは、Dynamic Motionのコントロール(開始位置、終了位置、高さ)が表示されます。選択セットを使用して、これらのコントロールの可視性を設定することもできます。Dynamic Motionのコントロールは All Controls ▸ dynamicmotion にあります。
-
Dynamic Motionの弧の上部に表示される高さ平面(height plane)を選択し、ハンドルを調整することで、Dynamic Motionの高さを調整します:
Dynamic Motionの弧の高さを変更 Note
高さ平面を選択してRを押すと、トランスフォームハンドルを回転モードに切り替えられます。これにより、Dynamic Motionパスが特定の高さに到達するのではなく、平面を回転させて高さ平面をかすめるようにすることができます。
-
Dynamic Motionパスの開始/終了の緑/赤の矢印を選択し、ハンドルを使用して位置を調整することで、Dynamic Motionセクションの開始位置または終了位置を変更します:
Dynamic Motionの終了位置を変更
Advancedモードで別のアニメーションレイヤーに切り替えようとすると、次のオプションを含むプロンプトが表示されます:
Switch to <new layer>
Dynamic Motionの変更を新しいレイヤーに適用し、現在のレイヤーを元のアニメーションにリセットします。
Remain on <current layer>
現在のアニメーションレイヤーに留まります。
Bake to new layer
現在のレイヤーからの変更を含む新規レイヤーを作成します。
Reset Dynamic Motion
すべてのDynamic Motionを削除し、Dynamic Motionツールを元の状態にリセットします。
Note
Advancedモードから基本モードに切り替えると、最後のベイク処理以降にAdvancedモードで行なわれた変更はすべて破棄されます。
To... | Do this |
---|---|
Dynamic Motionパス全体を表示する |
設定用のHUDの Dynamic Motion Settings ▸ Path Settings タブで、 Limit Number of Frames をオフにします。 |
Dynamic Motionパスに表示されるフレームの数を制限する |
設定用のHUDの Dynamic Motion Settings ▸ Path Settings タブで、 Limit Number of Frames をオンにし、 Frame Before および Frame After の値を調整します。 |
Dynamic Motionの高さを調整する |
Dynamic Motionの弧の上部に表示される高さ平面(height plane)を選択し、ハンドルを使用して高さを調整します。 または
|
Dynamic Motionセクションの開始位置と終了位置を変更する |
Dynamic Motionパスの開始/終了の緑/赤の矢印を選択し、ハンドルを使用して位置を調整します。 |
Dynamic Motionをアニメーションに戻す |
|
キーフレームをDynamic Motion領域に追加する |
キーフレームを追加するを参照してください。 |
すべてのDynamic Motionパスのコントロールを表示する |
選択セットを使用して、Dynamic Motionのコントロールの可視性を設定することもできます。これらのコントロールは All Controls ▸ dynamicmotion にあります。 |
Dynamic Motionのセクションを削除する |
|
すべてのDynamic Motionを削除する |
|
Dynamic Motionパスのティックのサイズを変更する |
⇧ Shift + |
Dynamic Motionの高さ平面(height plane)のサイズを変更する |
⌃ Ctrl + |
Ragdoll ¶
Ragdollツールを使用すると、アニメーションにラグドールシミュレーションを追加することができます。Ragdollツールにするには、上部のツールバーの Ragdollをクリックするか、Radialメニュー(ビューポートでCを押す)から Ragdoll を選択します。
この例では、Electraテストジオメトリにラグドールシミュレーションを追加します。
セットアップ ¶
Ragdollツールを使用する前に、以下のセットアップ手順を実行します:
-
ジョイント制限のセットでElectraスケルトンを更新します。
-
Electraのラグドールコリジョンシェイプを作成します。
-
コリジョンシェイプをElectraキャラクタ要素のリストに追加します。
-
ElectraのリグのコントロールをElectraのスケルトンのポイントにマップします。
-
(オプション)Animateステートで使用されるラグドール設定を設定します。
詳細は、ラグドールシミュレーションを参照してください。
Note
Electraテストジオメトリの Configure Ragdoll パラメータは、上記のセットアップ手順をすべて自動的に実行します。

-
Electra test geometryで、 Output パラメータを APEX Character に設定します。
-
Electraスケルトンにジョイント制限を設定します:
-
Unpack Folder SOPの
skeleton
は、Electraからスケルトンを抽出します。 Extract Pattern パラメータを/Base.skel
に設定します。 -
Configure Joint Limits SOPは、Electraスケルトンにジョイント制限を設定します。詳細は、ジョイント制限を設定するを参照してください。
-
-
ラグドールコリジョンシェイプを作成します:
-
Unpack Folder SOPの
skin
は、Electraからスキンジオメトリを抽出します。 Extract Pattern パラメータを/Base.shp
に設定します。 -
Ragdoll Collision Shapes SOPは、Electraのコリジョンシェイプを作成します。詳細は、コリジョン形状を作成するを参照してください。
Note
ラグドールシミュレーションのSOPワークフローでは、
Rig Stash Pose SOPは、ラグドールソルバによって後で使用される
rest_transform
アトリビュートを格納することで、キャラクタの静止ポーズを作成します。対照的に、Animateステートのラグドールソルバは、静止スケルトンのBase.skel
から静止トランスフォームを読み込みます。Configure Joint LimitsおよびRagdoll Collision Shapes SOPには、静止トランスフォームが設定されていないことを示す警告が引き続き表示されますが、この警告は無視してかまいません。 -
-
Pack Folder SOPは、更新したスケルトン(ジョイント制限を含む)とラグドールコリジョンシェイプをキャラクタファイルのセットに追加します。
Name および Type パラメータを次のように設定します:
-
更新したスケルトン: Name =
Base
、 Type =skel
。 -
ラグドールシェイプ: Name =
RagdollCollision
。ラグドールシェイプの Name および Type パラメータは、任意の値に設定できます。
パックキャラクタフォーマットでのキャラクタ要素の命名については、キャラクタデータの組み立てと抽出を参照してください。
-
-
APEX Map Character SOPは、Electraのリグコントロールをスケルトンのジョイントにマップします。これにより、ラグドールの動きをリグコントロールにベイクできるようになります。
-
Rig Path を
/Base.rig
に設定します。 -
Skeleton Path を
/Base.skel
に設定します。 -
Map By Name はオンのままにして、APEX Map Character SOPが同じ名前を共有するコントロールとジョイント間のマッピングを実行するようにします。
-
Map Characterビューアステートに入ります。APEX Map Character SOPを選択し、そのDisplayフラグをオンにして、ビューポートでEnterを押します。
-
ビューアステートで、コントロールとスケルトンジョイントの間をクリックします。 Mappings マルチパラメータのエントリが自動的に作成されます。
キャラクタリグコントロールをスケルトンジョイントにマップ
-
-
(オプション)
APEX Configure Character SOPは、キャラクタのラグドールプロパティを設定します。
このノードがラグドールセットアップに含まれている場合、キャラクタのラグドールはRagdollツールに自動的に作成されます。そうでない場合、Animateステートで手動でラグドールを作成する必要があります。
Ragdoll Configurations の横にある
をクリックします。 Character Name は、AnimateステートのSelection Sets HUDに表示されるラグドールの名前です。
-
APEX Scene Add Character SOPは、キャラクタファイルアニメーションシーンに追加します。 Character Name パラメータを
Electra
に設定します。
手動でラグドールを作成する ¶
APEX Configure Character SOPがラグドールセットアップで使用されない場合、手動でラグドールを作成し、表示されるプロンプトでラグドールの設定情報を指定する必要があります。
-
Animateステートに入るには、ネットワークエディタで
APEX Scene Animate SOPを選択し、Displayフラグをオンにして、左側のツールバーにある
AnimateをクリックするかビューポートでEnterを押します。
-
Ragdollツールに入ります。
-
Hを押し、ラグドールシミュレーションの作成を開始します。
-
ラグドールの名前を入力し、 OK をクリックします。
Warning
スペースなしの名前のみがサポートされています。
Note
キャラクタとは異なる名前を入力してください。キャラクタとラグドールの名前が同じ場合、ラグドールコリジョンシェイプは選択セット内の実際のキャラクタの下に追加されます。
-
Character Source Dataウィンドウで、ラグドールにしたいキャラクタのスケルトン(.skel)を選択します。 Accept をクリックします。
-
そのキャラクタにセットアップ済みのラグドールコリジョンシェイプを選択します。
コリジョンシェイプは、Ragdoll Collision Shapes SOPの2番目の出力で生成されます。コリジョンシェイプがキャラクタにパックされ、名前が例えば
RagdollCollision
の場合は、キャラクタ(.char)の下に表示される RagdollCollision を選択します。既にシーン内にあるキャラクタのコピーを取り込む場合で、その新しいキャラクタにまだコリジョンシェイプがない時は、元のキャラクタのコリジョンシェイプを使用することができます。
-
Accept をクリックします。
-
キャラクタのリググラフから出力スケルトンを指定します。これは変形されたスケルトンです。
これで、ラグドールシミュレーションに渡す前に、ラグドールがキャラクタの元のアニメーションを継承するようになります。キャラクタリグで、スケルトンの動きはアニメーションによって駆動されます。リグのスケルトン入力は、静止ポーズです。リグのスケルトン出力でのジョイント位置の更新は、アニメーションによって駆動されています。このスケルトン出力を使用して、フレーム範囲にわたってスケルトンポーズのセットを格納するMotionClipが作成されます。
ダイアログで、キャラクタリグのスケルトン出力(.skel)を指定します。キャラクタフォーマット階層は以下の通りです: キャラクタ > リグ > リグ出力ノード > スケルトン出力。例えば:
character -- Base.rig -- output -- Base.skel
-
Accept をクリックします。キャラクタのコリジョンシェイプがキャラクタの上にオーバーレイされます。
デフォルトのラグドールシミュレーション ¶
Electraラグドールがセットアップされると、ElectraキャラクタとElectraラグドールの両方のエントリがSelection Sets HUDの All Controls の下に表示されます。
Note
Ragdollツールにいる場合にのみ、Electraラグドールが選択セットに表示されます。
グランドプレーンの表示をオフにするには:
-
⌃ Ctrl + Gを押して、設定用のHUDを開きます。
-
Ragdoll Settings ▸ Solver タブで、 Ground Display をオフにします。
ラグドールコリジョンシェイプがよく見えるようにしたい場合は、ハンドルを使用してラグドールを元のアニメーションからオフセットします。
Note
ラグドールのハンドルが表示されない場合は、⌃ Ctrl + Gを押して設定用のHUDを開き、 Ragdoll Settings ▸ Actions タブで Show Visualiser Offset Handle をオンにします。
アニメーションを再生すると、ラグドールがグランドプレーンに落下します。これは、ラグドールのデフォルトの挙動です。
プロップを使用する ¶
プロップをラグドールで動作させるには、プロップを“キャラクタ”に変える必要があります。この例では、Electraが立つための薄いボックスの台を追加します。

-
APEX Scene Add Prop SOPはプロップをキャラクタに替え、それをシーンに追加します。
-
Prop Name パラメータでは、Selection Sets HUDに表示されるプロップキャラクタの名前を指定できます。この例では、 Prop Name を
box_prop
に設定します。 -
リグツリービューでは、APEX Scene Add Prop SOPがスケルトン、リグ、スキンを含むボックスキャラクタ(.char)を作成していることが分かります。
-
-
APEX Map Character SOPは、ボックスの1つのコントロールをそのジョイントにマップします。
-
Rig Path を
/box_prop.char/Base.rig
に設定します。 -
Skeleton Path を
/box_prop.char/Base.skel
に設定します。
-
-
(オプション)
APEX Configure Character SOPは、ボックスのラグドールプロパティを設定します。
このノードがラグドールセットアップに含まれている場合、プロップのラグドールはRagdollツールに自動的に作成されます。そうでない場合、Animateステートで手動でプロップを作成する必要があります。
-
Rig Path を
/box_prop.char/Base.rig
に設定します。 -
Ragdoll Configurations の横にある
をクリックします。 Character Name は、AnimateステートのSelection Sets HUDに表示されるプロップのラグドールの名前です。
Note
デフォルトで、 Skeleton Path と Collision Shapes Path は、パックフォルダ構造(リグツリービューに表示)のキャラクタ(.char)を基準としています。
-
-
ボックスのラグドールコリジョンシェイプを作成します:
-
Unpack Folder SOPの
box_skeleton
は、ボックススケルトンを抽出します。 Extract Pattern パラメータを/box_prop.char/Base.skel
に設定します。 -
Unpack Folder SOPの
box_geometry
は、ボックスジオメトリを抽出します。 Extract Pattern パラメータを/box_prop.char/Base.shp
に設定します。 -
Ragdoll Collision Shapes SOPは、ボックスのコリジョンシェイプを作成します。詳細は、コリジョン形状を作成するを参照してください。
Note
プロップに凹面がある場合は、Ragdoll Collision Shapesビューアステートで、 Shape を Convex Hull に、 Algorithm を Convex Decomposition に設定します。G HUDで、 Max Concavity を調整してプロップの形状に近づけます。
-
-
Pack Folder SOPは、ラグドールコリジョンシェイプをボックスのキャラクタファイルのセットに追加します:
-
Parent Folder パラメータを
box_prop.char
に設定します。 -
ボックスのラグドールシェイプの Name および Type パラメータは、任意の値に設定できます。ここでは Name を
RagdollCollision
に設定します。
Note
Electraのラグドールセットアップとは対照的に、ボックスプロップにジョイント制限は必要ありません。結果として、ボックスのスケルトンはジョイント制限で更新されないため、ボックススケルトンをキャラクタファイルのセットに追加する必要はありません。
-
-
AnimateステートでRagdollツールに入り、シミュレーションを再生します:
ラグドールシミュレーションを開始 -
ハンドルを使用して、ボックスの上でElectraにポーズを付けます。
-
Electraのポーズに合わせてラグドールコリジョンシェイプを更新します:
-
⌃ Ctrl + Gを押して、設定用のHUDを開きます。
-
Ragdoll Settings ▸ Actions タブで、 Reload Target Animation をクリックします。
-
表示されたReload Target Animationウィンドウで、Electraラグドールを選択します。
-
Accept をクリックします。
ボックス上でElectraにポーズを付ける -
-
ボックスをアクティブにシミュレートされるラグドールにならないよう設定します:
-
ボックスのラグドールを選択します。
-
⌃ Ctrl + Eを押して、ボックスのラグドールのアクティブステートを切り替えます。
または
Gを押して、パラメータHUDを開きます。 Ragdoll ▸ Animated タブで、 Active をオフにします。
-
-
Electraのジョイントの剛性を上げます:
-
Selection SetsHUDで、Electraラグドールを選択します。これにより、Electraのすべてのコリジョンシェイプが選択されます。
-
Gを押して、パラメータHUDを開きます。
-
Ragdoll ▸ Animated タブで、 Bend Stiffness を上げます。
-
-
ボックスを滑りやすくします:
-
ボックスのコリジョンシェイプを選択します。
-
Gを押して、パラメータHUDを開きます。
-
Ragdoll ▸ Constant タブで、 Friction を下げます。
プロップ上のElectra -
既存のアニメーションのラグドール ¶
この例では、既存のアニメーションの上のキャラクタにラグドールシミュレーションを追加します。
ラグドールモーションを作成する ¶
-
ラグドールシミュレーション用に上のキャラクタをセットアップします。
-
AnimateステートでRagdollツールに入ります。キャラクタのコリジョンシェイプが表示されます。アニメーションを再生すると、ラグドールがグランドプレーンに落下します。これは、ラグドールのデフォルトの挙動です。
開始時のラグドールの挙動 -
ラグドールがよく見えるように、ハンドルを使用してラグドールを元のアニメーションの横に移動します。
ラグドールを視覚化 -
背骨のジョイントはアニメーションに追従し、キャラクタの残りはラグドールとしてシミュレートされるように設定します。
-
背骨に沿ってコリジョンシェイプを選択し、Gを押してパラメータHUDを開きます。
-
Ragdoll ▸ Animated タブで、 Match World Transforms をオンにします。選択したコリジョンシェイプが、元のスケルトンジョイントに追従します。
-
Match World Transforms をAltクリックし、選択したコリジョンシェイプそれぞれの現行フレームにキーフレームを設定します。選択したコリジョンシェイプのチャンネルは、チャンネルリストに
_matchworldtransforms
付きで表示されます。
部分ラグドール Tip
コリジョンシェイプでジッター(微震)が発生する場合、互いに衝突している可能性があります。 Match World Transforms をオンにする代わりに、 Active をオフに(およびキーを設定)してみてください。
コリジョンシェイプのジッター(微震) -
-
投げの終了時にラグドールシミュレーションが引き継ぐように指定します。
-
プレイバーのタイムラインで、ラグドールシミュレーションに引き継がせたいフレームに移動します。
-
Match World Transforms をオフにします。
-
Match World Transforms をAltクリックし、選択したコリジョンシェイプそれぞれの現行フレームにキーフレームを設定します。
投げの終了時にフルラグドールに切り替える -
ラグドールシミュレーションをアニメーションに戻す ¶
ラグドールモーションを上のElectraに戻すには:
-
上のElectraのすべてのコントロールを選択します(Selection Sets HUDから上のElectraを選択)。
-
⌃ Ctrl + Gを押して、設定用のHUDを開きます。 Ragdoll Settings ▸ Actions タブには、ラグドールモーションをアニメーションに書き出すための以下のベイクオプションがあります:
Bake Keys
現行フレームにキーフレームを追加します。
Start Recording Poses
選択したフレームまたはフレーム範囲にわたってキーフレームを設定します。
Start Recording Poses をクリックした後:
-
プレイバーのタイムラインで特定のフレームを選択すると、それらのフレームにキーフレームが追加されます。
-
タイムラインをスクラブすると、スクラブの間、フレーム範囲の各フレームにキーフレームが追加されます。
-
プレイバーで
Playボタンを押すと、
Stopボタンを押すまで、各フレームにキーフレームが追加されます。
Bake Keys to New Layer
オンの時、オーバーライドレイヤーとして設定された新しいアニメーションレイヤーに、ラグドールモーションの新しいキーフレームが追加されます(新しいレイヤーがベースアニメーションを上書きします)。このオプションはデフォルトでオンになっています。
-
-
タイムラインでフレームに移動し、ラグドールモーションをアニメーションに戻していきます。
-
Start Recording Poses をクリックします。
-
タイムラインをラグドールモーションの終了までスクラブします。
-
Stop Recording Poses をクリックします。ラグドールモーションがオーバーライドレイヤーとして新しいアニメーションレイヤーに追加されます。ここでは投げの終了時にポーズの記録を開始したため、上のElectraの元のアニメーションは新しいレイヤーを通じて表示されません。
アニメーションレイヤーとして書き出されたラグドールモーション -
投げのモーションの終了後にのみラグドールモーションを適用するには、新しいレイヤーにウェイトを設定します。
最終アニメーション
ラグドールモーションを元のアニメーションに戻すためのオプション:
1) Bake Keys to New Layer をオンにして、ラグドールモーションのフレーム範囲内でのみポーズを記録するか、キーをベイクします。作成される新しいアニメーションレイヤーで、新しいレイヤーにウェイトを設定します。これは前の例と同じです。
2) Bake Keys to New Layer をオンにして、アニメーションおよびラグドールモーションのフレーム範囲全体でポーズを記録するか、キーをベイクします。フレーム範囲全体がオーバーライドレイヤーとして新しいレイヤーに書き出されます。
3) Bake Keys to New Layer をオフにして、ラグドールモーションのフレーム範囲内でのみポーズを記録するか、キーをベイクします。このフレーム範囲内で、ラグドールモーションが元のアニメーションに置き換わります。
ラグドールのポージング ¶
ラグドールポーズモードでは、ラグドールシミュレーションをバックグラウンドで実行しながら、コントロールを操作してキャラクタにポーズを付けることができます。
この例では、以下のシーンから開始します:
-
Ragdollツールで、Oを押してラグドールポーズモードに入ります。
-
(オプション)グランドプレーンの表示をオフにするには:
-
⌃ Ctrl + Gを押して、設定用のHUDを開きます。
-
Ragdoll Pose Settings ▸ Solver タブで、 Ground Display をオフにします。
-
-
Selection Sets HUDの All Controls の下に、Electraキャラクタ、Electraラグドール、ボックスプロップ、ボックスのラグドールのセットがあります。ラグドールポーズモードで、Electraおよびボイクスのラグドールコリジョンシェイプと共に、Electraキャラクタのコントロールを操作します。Selection Sets HUDで:
-
Electraのキャラクタのコントロールの表示をオンにします(
)。
-
Electraおよびボックスのラグドールコリジョンシェイプの表示をオンにします(
)。
-
Electraキャラクタおよびボックスジオメトリの表示をオフにします(
)。こうすることで、ラグドールコリジョンシェイプが見やすくなります。
-
-
デフォルトでは、ラグドールポーズモードのすべてのコリジョンシェイプは非アクティブです。つまり、他のオブジェクトに反応しません。コントロールを選択すると、それに関連付けられたコリジョンシェイプがアクティブになります。以下の動画では、手のコントロールが選択されたため、手のコリジョンシェイプがアクティブになります(明るいグレーに変わる)。手のシェイプはボックスに反応しますが、指は非アクティブなままなので、ボックスを貫通します:
選択したコリジョンシェイプがオブジェクトに反応 -
指もボックスに反応するようにするには、指をアクティブにします:
-
指のコリジョンシェイプを選択します。
-
⌃ Ctrl + Eを押して、コリジョンシェイプのアクティブステートを切り替えます。
指がボックスに反応 Note
キャラクタのコントロールはコリジョンシェイプに反応しないため、手を動かすと、それらはボックスを貫通しているように見えます。マウスを離すと、コントロールはコリジョンシェイプのの位置に戻ります。
-
ボックスを押すElectra ¶
Electraがボックスを押すようにするには:
-
ボックスをアクティブに設定します:
-
ボックスのラグドールシェイプを選択します。
-
⌃ Ctrl + Eを押します。
-
-
手のコントロールを選択して移動します:
ボックスを押すElectra -
ラグドールポーズモードでは、アクティブなオブジェクトに重力を適用できます:
-
ボックスのラグドールシェイプのコントロールを選択します。
-
をスクロールダウンし、重力を適用します。⌃ Ctrlを押したままスクロールすると、重力の強度が増します。
ボックスのラグドールシェイプに重力を適用 -
-
Oを押して、ラグドールポーズモードを終了します。ラグドールポーズモードで移動されたコントロールとコリジョンシェイプでは、キーフレームが対応するコントロールに書き出されます。(ラグドールポーズモードでElectraキャラクタおよびボックスジオメトリの表示をオフにした場合は、それをオンにします
。)
ラグドールポーズモードの終了後 -
キャラクタのポーズに合わせてラグドールを更新するには:
-
⌃ Ctrl + Gを押して、設定用のHUDを開きます。
-
Ragdoll Settings ▸ Actions を選択します。
-
Reload Target Animation をクリックします。
-
表示されたダイアログで、Electraとボックスのラグドールを選択します。
-
Accept をクリックします。
キャラクタのポーズに合わせてラグドールを更新 -
To... | Do this |
---|---|
ラグドールの作成を開始する |
Hを押してプロンプトの指示に従います。 |
ラグドールを削除する |
|
キャラクタの横にラグドールを表示する |
|
ラグドールをキャラクタスキンまたはコリジョンシェイプで視覚化する |
|
ラグドールに衝突可能なプロップを取り込む |
プロップを使用するを参照してください。 |
コリジョンシェイプのアクティブステートを切り替える |
これは以下と同じです:
|
特定のコリジョンシェイプを、元のアニメーションに追従するよう設定する |
他のオブジェクトは、まだコリジョンシェイプに衝突することができます。 |
特定のジョイントを、元のスケルトンのジョイント位置と一致するよう設定する |
選択したジョイントは元のスケルトンジョイントに追従しますが、キャラクタの残りはラグドールになります。 |
特定のフレームでラグドールになるようキャラクタを設定する |
|
特定のコリジョンシェイプを、他のシェイプと衝突しないよう設定する |
|
ラグドールモーションを新しいアニメーションレイヤーに追加する |
詳細は、ラグドールシミュレーションをアニメーションに戻すを参照してください。 |
シーンでアニメーションをリロードする |
|
ラグドールのパラメータにキーフレームを設定する |
|
コリジョンシェイプの密度、跳ね返り係数、摩擦を変更する |
|
コリジョンシェイプのパラメータ値をコピーアンドぺーストする |
|
コリジョンシェイプのパラメータ値をリセットする |
|
未接続のコリジョンシェイプをスケルトンにピン留めする |
これは、すべてのキャラクタに適用されるグローバルオプションです。詳細は、未接続のコリジョンシェイプのルートをピン留めするの例を参照してください。 |
交差するコリジョンシェイプを表示する |
|
ラグドールポーズモードでアクティブなオブジェクトに重力を適用する |
|
グランドプレーンをオンまたはオフにする |
|
グランドプレーンを表示または非表示にする |
|
パラメータHUD (Gホットキー、 Ragdoll タブ)のラグドールパラメータの説明は、Ragdoll Solver SOPノードの説明を参照してください。
How-to ¶
To... | Do this |
---|---|
アニメーションシーンのアニメーションを別のアニメーションシーンにコピーする |
同じ選択セットを持つキャラクタ間では、アニメーションをコピーすることができます:
|