リンク ストラテジ

単純でない階層をリンクする場合は、前もってリンク ストラテジを計画してください。階層のルートの選択およびリーフ オブジェクトまでのブランチの伸び方はモデルの有用性に大きな影響を与えます。

オブジェクトをリンクして階層を作成する際のストラテジの主な原則は次の 2 つに絞られます。

この 2 つの原則に従えば、オブジェクトのリンク方法にはほぼ制限がなくなります。階層をどのように使用するかを考慮し、それを意識しながらリンクすれば、ほとんど問題は生じません。

親から子への連鎖

親から子への連鎖は、リンクがオブジェクトからオブジェクへ何の決まりもなくジャンプすることはないということを意味します。2 つのオブジェクトが接している場合、それらは親子としてリンクされているはずです。次の順にボディをリンクすることは可能です。腿 - > 足 - > むこうずね - > ウェスト。しかし、このようなリンク ストラテジは、後で後悔することになります。このように奇妙にリンクされたオブジェクトを変換する方法を考えるのは、非常に難しいからです。より論理的な連鎖は、足 -> むこうずね -> 腿 -> ウェストです。

複数の階層を使用

尻からつま先まで 1 つのボーン チェーンを作るのではなく、まず尻から足首までのチェーンを作り、次にかかとからつま先までのチェーンを別に作ります。次に、チェーンをリンクし、完全な脚アセンブリを作成します。

チェーンをリンクするので、脚チェーンと足チェーンは 1 つのチェーンとみなすことができます。しかし、これをアニメートする方法では、それぞれのチェーンを別々に扱ってパーツを細かく制御できるようにします。

脚チェーンと足チェーンをこのように配置することにより、足を地面に付けたまま、脚を曲げることができます。また、かかとやつま先を軸にして足の回転を個別に制御し、膝が曲がるようにすることもできます。

親の動きは子孫より小さい

変換は親から子へ継承されるため、親オブジェクトを少し調整したことによってすべての子孫オブジェクトを調整しなければならなくなることがあります。一般的なリンク方法では、ルート オブジェクトとして最も動きの小さいオブジェクトを選択します。ルートに近いオブジェクトほど動きを小さく、リーフ オブジェクトは動きを大きくする必要があります。

ボディや機械のような結合された構造をリンクしたり、インバース キネマティックに階層を使用する場合は、特にこれが該当します。

ただし、ルート オブジェクトをハンドルとして使用する場合は例外です。ルート オブジェクトのすべての子孫はそれに乗るだけです。ベルト コンベア上を移動する、オブジェクトで一杯になったトレイについて考えます。他のオブジェクトはすべてトレイの子ですが、トレイは他のすべてのオブジェクトよりもずっと大きく動きます。

階層のルートを選択

次の質問について考えると、階層のルートに最もふさわしい候補を見つけることができます。

そのオブジェクトを移動した場合、他のすべてのオブジェクトも一緒に移動する必要があるか。

ルート オブジェクトの候補が 2、3 個出たら、より詳細にそれらを調べます。階層にふさわしいルート オブジェクトを決定するには、次の条件を使用します。

これらの条件に最もよく適合するオブジェクトがルート オブジェクトです。それから他のすべてのオブジェクトをルート オブジェクトの子孫として階層を作成します。

インバース キネマティックのためにオブジェクトをリンク

インバース キネマティック(IK)では、アニメーションの動力として子オブジェクトが使用されます。IK の方が柔軟度は低く、計算はリンク ストラテジに強く依存します。

階層をリンクしてインバース キネマティックとともに使用する場合は、更に 2 つの原則を考慮する必要があります。

上の図はスケルトンの構造をリンクするための 2 つの方法を示しています。構造は両方ともフォワード キネマティックを使用するのに適しています。ただし、インバース キネマティックを使用するのには、右側の構造の方が適しています。

左側の構造では、腕と胴が首にリンクされています。右側の構造はより現実的で、腕と首を胴にリンクしています。

警告: IK を使ってアニメートされる階層内のオブジェクトに対して、不均等なスケーリングを使用することは避けてください。不均等なスケーリングを使用する場合、ストレッチおよびスキューが表示されます。この問題を避けるには、不均等なスケーリングをすべてサブオブジェクト レベルで実行してください。この動作を示すオブジェクトが存在する場合、[Xフォームをリセット](Reset XForm)を使用します。

アニメート後にオブジェクトをリンク

オブジェクトを別のオブジェクトにリンクする場合、親子のリンク関係は、リンク作成時の親オブジェクトと子オブジェクトの位置、回転、スケールによって決まります。

固定された球体をアニメートされた箱にリンクすると仮定します。

球体を箱にリンクすると、球体は箱と一緒に移動します。球体と箱の間の距離はリンクが作成された時点のフレームに依存します。異なるフレームで球体をリンクすると、次のようになります。

アニメート後にオブジェクトのリンクを解除

子のリンクを解除すると、リンクが削除された時点の親の変換が子のフレーム 0 (ゼロ)の変換となります。

時計の文字盤の周囲を移動する箱に球体がリンクされていると仮定します。箱は 12 時を起点に 100 フレームにわたって文字盤の周囲を 1 周します。図は、球体が上にリンクされた箱が円を描いて移動する様子を表しています。

オリジナルのアニメーションでは、ボールは箱と共に移動するようリンクされています。

球体のリンクを解除すると、球体は箱を追わなくなります。球体の位置は、リンクを解除したフレームにおける、球体の位置、回転、スケールによって決まります。異なるフレームで球体のリンクを削除すると、次のようになります。