折り畳みの棚受けの仕組みを作るには
https://www.youtube.com/watch?v=xvkg56bIs9U
今回は折畳式の棚受けの仕組みを作ってみます。
サンプルシーンでは、柱の一つを回転させると、連結部分が折り畳まれ、天板部分の棚が収納される仕組みになっています。これを2DのIK(インバースキネマティクス)を利用して、一つの回転チャンネルだけで連動して動かす仕組みを作ります。
何も設定されていない状態のシーンを見てみましょう。天板と4本の柱で構成されています。まずこの斜めの2本の柱について、白い柱は赤い柱の、また緑の柱は黄色の柱に対してそれぞれ親子関係を設定します。ビューポート上でアイテムを選択したまま、親に設定したいアイテムの上で長くなぞっているとメニューが出てきますので、その中から同位置でペアレントを行います。
次にロケータを一つ作成し、わかりやすいシェイプに変えておきます。作成したロケータの親として緑の柱を設定し、さらに緑の柱の先に移動させておきます。これで黄色から緑、そしてロケータにつながる親子関係が設定されます。
同様に、赤と白のは白の階層構造に対しても、階層の一番下の子供としてロケータを設定します。その際、2つの柱の階層の一番下に位置するロケータ同士が同じ位置、つまり連結部分にくるように配置します。
ここまで設定したら、黄色い柱の階層、つまり実際に可動する部分の柱の階層全体を選択します。セットアップレイアウト > インバースキネマティクスからデュアル2DのカテゴリにあるIKの適用ボタンをクリックします。これは今回のようなアイテム同士の動きをIKで制御する場合に使用します。
この設定を行うと、自動的にIKゴールのロケータが作成されます。このロケータに対しても見やすい表示に変えておきましょう。このゴールアイテムを動かしてみると、自動的に柱も動くようになっています。
このゴールアイテムはもう一方の階層の白い柱が折り畳まれるのと連動して動いてほしいので、白い柱の階層の一番下、連結部分にあるロケータの子供として設定します。そうすると、白い柱を折りたたむ、つまり回転させると同時に、連結しているもう一方の柱の組み合わせも折り畳まれるようになります。
天板部分は、黄色い柱と同時に動くようになりますので、黄色い柱の子アイテムとして設定しておきます。はじめから子アイテムとして階層を設定しておきたいかと思うのですが、デュアルIKを組む場合、必ずIKの影響を及ぼす階層のみが必要となり、それ以外のアイテムが階層内に存在しているとエラーが起きてしまいます。このためIKの設定を行ってから、天板の親子関係をつけるようにしてください。
この仕組みは棚受けもそうですし、折畳式の椅子や机にも応用できます。