IK システムの移動範囲を制限する
 
 
 

ArmControl を移動すると、メカニカル アームが完全にまっすぐになるまで伸びたり、必ずしも適切でない方向を向いたりする可能性があります。

アームの移動範囲を制限して、IK システムが予想外のポーズをとらないようにすることができます。次のセクションでは、以下のように IK システムの移動範囲を制限します。

ArmControl の移動 X(Translate X)チャンネルをロックするには

  1. ハイパーグラフ(Hypergraph)で、ArmControl ノードを選択します。
  2. チャンネル ボックス(Channel Box)を開いて、ArmControl のトランスフォーム チャンネルを表示します。
  3. すべての移動チャンネルまたは回転チャンネルを 0 に設定します(0 になっていなかった場合)。
  4. チャンネル ボックスで、移動 X(Translate X)チャンネル名をクリックして選択します。
  5. 移動 X の文字を右クリックします。

    プルダウン メニューが表示されます。

  6. プルダウン メニューから選択項目のロック(Lock Selected)を選択します。

    移動 X の数値フィールドがグレー表示になり、そのチャンネルがロックされたことを示します。ArmControl を X 方向に移動しようとしても、移動 X チャンネルをロック解除しないかぎり移動することはできません。

SwivelBase の回転 X(Rotate X)チャンネルと回転 Z(Rotate Z)チャンネルをロックするには

  1. ハイパーグラフで、SwivelBase ノードだけを選択します。
  2. チャンネル ボックスを開いて、SwivelBase の回転チャンネルを表示します。
  3. すべての移動チャンネルまたは回転チャンネルを 0 に設定します(0 になっていなかった場合)。
  4. チャンネル ボックスで、Ctrl キーを押しながら回転 X チャンネル名と回転 Z チャンネル名をクリックして選択します。
  5. 選択した名前のいずれかを右クリックして選択項目のロック(Lock Selected)を表示されるプルダウン メニューから選択します。

回転 X チャンネルと回転 Z チャンネルがロックされていることを確認するには

  1. ハイパーグラフで、SwivelBase ノードだけが選択されていることを確認します。
  2. ビューで、パネル > 正投影 > top(Panels > Orthographic > top)を選択します。
  3. ビューで、シェーディング > すべてをスムース シェード(Shading > Smooth Shade All)を選択します。
  4. 下の図のように、メカニカル アームの全体が表示されるように上面ビューをドリーします。
  5. チャンネル ボックス(Channel Box)を使用して、回転 Y(Rotate Y)チャンネルに 45 を入力して Enter を押し、SwivelBase を回転させます。

    ビューで SwivelBase が回転しますが、メカニカル アームは回転しません。SwivelBase およびアームのスケルトンとサーフェスのすべてが同じ階層にペアレント化されていたことに、何か問題があると思われます。

    注:

    IK システムのセットアップ中に、期待したとおりに動作していないことに気づく場合があります。このような場合には作業を中止して、そのように動作している理由(または、期待どおりに動作していない理由)を検証することは有益です。このように作業を見直すことで、問題の所在を突き止めることができます。

ArmControl と IK ハンドルは、SwivelBase 階層内にペアレント化されていません。ArmControl と IK ハンドルがメカニカル アームの動作を制御するため、これらを SwivelBase 階層内にペアレント化して、SwivelBase を回転すればアームも回転するようにする必要があります。

IK ハンドルをスケルトン階層内にペアレント化するには

  1. ハイパーグラフ(Hypergraph)で、SwivelBase ノードを選択します。
  2. チャンネル ボックス(Channel Box)で、SwivelBase の回転 Y(Rotate Y)チャンネルを 0 にリセットします。

    これまでのトランスフォームをすべて 0 に設定してから、階層内の SwivelBase の下に IK ハンドルをペアレント化する必要があります。

  3. 以下の手順を実行する前に、SwivelBase ノードの選択を解除します。
  4. ハイパーグラフ メニューで、ビュー > すべてをフレームに収める(View > Frame All)を選択します。

    ハイパーグラフにシーンのすべてのノードが表示されます。

  5. ハイパーグラフ(Hypergraph)で、Shift キーを押しながら ikHandle1、ArmControl、SwivelBase という名前のノードを選択します。

    選択順序は重要です。最初に Shift キーを押しながら子ノードになる項目を選択してから、最後に Shift キーを押しながら親ノードになる項目を選択する必要があります。

  6. メイン メニューで、編集 > ペアレント化(Edit > Parent)(ホットキー p)を選択します。

    ハイパーグラフのスケルトン階層で、IKHandle と ArmControl が SwivelBase ノードの子ノードになりました。

  7. ハイパーグラフで、SwivelBase だけを選択します。
  8. チャンネル ボックス(Channel Box)を使用して、SwivelBase の回転 Y(Rotate Y)を 45 に設定します。

    SwivelBase を回転すると、階層内のリレーションシップに基づいてメカニカル アームが回転します。

  9. SwivelBase の回転 Y の値を 0 にリセットします。

最終的には、アームが完全にまっすぐになるまで伸びないように、ArmControl がモデルのベースから離れられる範囲を制限する必要があります。

移動範囲設定を指定するには、チャンネル ボックス(Channel Box)に移動値を表示しながら、メカニカル アームを動かして検証する必要があります。

ArmControl の移動範囲を指定するには

  1. ハイパーグラフ(Hypergraph)で ArmControl を選択します。
  2. チャンネル ボックス(Channel Box)が開いたら、ArmControl の移動チャンネルが表示されていることを確認します。
  3. ビューで、パネル > 正投影 > side(Panels > Orthographic > side)を選択します。
  4. メカニカル アームの全体が表示されるように側面ビューをドリーします。
  5. 移動ツール(Move Tool)を選択します。
  6. 側面ビューで、中マウス ボタンをクリックしながら、下の図のようにメカニカル アームが完全に伸びるまで斜めにドラッグします。
  7. チャンネル ボックスで、移動 Y(Translate Y)チャンネルと移動 Z(Translate Z)チャンネルに表示されている数字を確認します。

    アームの連接部が斜めに伸びてカーゴ ボックスの上方に来ると、ほぼ完全に伸びた状態になります。このときの移動値はおおよそ以下のようになります。

    • 移動 Y: 7.5
    • 移動 Z: 1
  8. 側面ビューで、中マウス ボタンを押しながら、下の図のようにメカニカル アームがほぼ完全に縮むまで斜めにドラッグします。
  9. チャンネル ボックスで、移動 Y チャンネルと移動 Z チャンネルに表示されている数字を確認します。

    アームの連接部が縮んだポーズになったときの移動値は、以下のようになります。

    • 移動 Y: -13
    • 移動 Z: -13

    この最小値と最大値は、ArmControl の最小移動範囲と最大移動範囲として以下の手順の中で使用されます。

ArmControl の移動範囲を設定するには

  1. ハイパーグラフ(Hypergraph)で、ArmControl ノードを選択します。
  2. アトリビュート エディタを開く(ウィンドウ > アトリビュート エディタ(Window > Attribute Editor)を選択するか、または、ステータス ライン上でアトリビュート エディタの表示/非表示の切り替えアイコンをクリックします)。

    アトリビュート エディタに ArmControl に関連付けられたノードが表示されます。

  3. アトリビュート エディタで、ArmControl タブをクリックします。

    ArmControl タブが見えない場合は、左右のスクロール矢印を使ってビューを横にスクロールしてタブを見えるようにします。

  4. アトリビュート エディタで、制限情報(Limit Information)アトリビュートを展開してから、移動(Translate)アトリビュートを展開します。
  5. 移動アトリビュートで、移動制限 Y/Z(Trans Limit Y/Z)最小(Min)最大(Max)の両方のチェック ボックスをクリックして、次の値を設定します:
    • 移動制限 Y(最小)(Trans Limit Y (Min)): -13
    • 移動制限 Y(最大)(Trans Limit Y (Max)): 7.5
    • 移動制限 Z(最小)(Trans Limit Z (Min)): -13
    • 移動制限 Z(最大)(Trans Limit Z (Max)): 1
  6. アトリビュート エディタを非表示にします。
  7. ArmControl を選択します。
  8. 側面ビューで、ArmControl を移動して IK システムの移動範囲をテストします。

    メカニカル アームがモーションの制限範囲内で移動します。