2-2 腰のリグの作成

(当記事では、MechaStudioの拡張機能である拘束(コンストレイント)の作成機能を使用しています。)

腰のリグの概要

モデルの既存のボーン構造において、「Hips」(ヒップ)ジョイントは階層のルートにあり、「Waist」(腰)ジョイントの親となっています。
よって、「Hips」(ヒップ)ジョイントを回転させると、その子である「Waist」(腰)以下の全てのボーンが一緒に回転します。

「ヒップ」と「腰」の動作を逆転させる

今回は、リグによってこの動作を逆転させます。つまり、「Waist」(腰)を回転させると「Hips」(ヒップ)も回転するが、「Hips」(ヒップ)を回転させても「Waist」(腰)は回転しないような動作が可能なリグをセットします。

「腰」のコントローラーを作成

まず、「腰」のコントローラーを作成します。「Waist」(腰)ジョイントを選択している状態で、ツール バーの「立方体の作成」をクリックし、

「立方体の作成」ダイアログで、サイズを「25、10、25」、分割数を「1、1、1」として、「OK」ボタンをクリックします。

すると、「Waist」(腰)ジョイントの原点位置に立方体オブジェクトが作成されました。

「ベース」コントローラーと同様に、オブジェクト ウィンドウ(Ctrl+Q)の「メッシュ」タブにある「ポリライン表示」チェックをONにして、ポリライン表示にします。

オブジェクト パネルで右クリックしてポップアップ メニューの「選択オブジェクトの表示」をクリックすると、作成した「Mesh1」オブジェクトが「Waist」ジョイントの子となっているのが分かります。

ここで、「Mesh1」を「WaistBox」(腰)とリネームし、「Base」オブジェクトにドラッグして子オブジェクトとします。

「ヒップ」のコントローラーを作成

次に、「ヒップ」のコントローラーを作成します。コントローラーを回転させる際の中心位置を、腰のコントローラと同じ「Waist」(腰)ジョイントにしたいので、「Waist」(腰)ジョイントを選択している状態で、立方体オブジェクトを作成します。
X、Z方向ののサイズを「10」だけ大きくしたいので、「35、10、35」のサイズにしました。

オブジェクトの名前を「HipBox」(ヒップ)にリネームし、オブジェクト パネルでドラッグして「WaistBox」(腰)コントローラーの子にします。

頂点の位置を移動

このままでは「WaistBox」(腰)コントローラーと位置が重複していて操作しにくいので、作成した「HipBox」(ヒップ)コントローラーの頂点を移動します。
ツール バーの「移動ツール」(T)をクリックし、

「ポリゴン選択モード」(Shift+P)にすることで、オブジェクト単位ではなくポリゴンの頂点を移動できるようになります。

オブジェクト パネルで「HipBox」(ヒップ)コントローラーをクリックすることで、コントローラーの全ての頂点を選択します。

この状態でマニピュレータをドラッグすることでポリゴンの頂点を移動させることができますが、今回は正確に移動させたいので、数値入力を利用します。
ツール ウィンドウ(Ctrl+T)でYを「-10」にセットし、「入力」ボタンをクリックすると、

「HipBox」の頂点が下方に「10」だけ移動します。

移動が終わったら、「ポリゴン選択モード」(Shift+P)から「オブジェクト選択モード」(Shift+O)に戻しておきます。
sakura_rigged2_2.toy

コントローラーに拘束をセット

「WaistBox」(腰)コントローラーは「HipBox」(ヒップ)コントローラーの親オブジェクトなので、試しに「WaistBox」(腰)コントローラーを回転させてみると、以下ように子の「HipBox」(ヒップ)コントローラーも回転します。
拘束を使うことで、この動作をボーンに適用します。

ツール バーで「ペアレント拘束 ツール」をクリックして、

ツール ウィンドウ(Ctrl+T)の「回転の差分をオフセットにする」、「位置の差分をオフセットにする」をONにします。
これによって、拘束されるオブジェクトと回転や位置の違いがある場合でも、その違いをオフセット値とすることにで、拘束されるオブジェクトの現在の回転や位置を維持することができます。

①「Waist」(腰)ジョイント、②「WaistBox」(腰)コントローラーをクリックして、「Waist」(腰)ジョイントを「WaistBox」(腰)コントローラーに拘束するペアレント拘束を作成します。
さらに、③「Hips」(ヒップ)ジョイント、④「HipBox」(ヒップ)コントローラーをクリックして、「Hips」(ヒップ)ジョイントを「HipBox」(ヒップ)コントローラーに拘束するペアレント拘束を作成します。

コントローラーの動作

これで腰のリグが完成しました。各コントローラーの動作を確認してみます。

「WaistBox」(腰)コントローラーを移動・回転させることで、キャラクター全体の位置や回転を操作することができます。
全てのボーンの親である「Hips」(ヒップ)ジョイントは「WaistBox」(腰)コントローラーの子である「HipBox」(ヒップ)コントローラーにペアレント拘束されているためです。

「HipBox」(ヒップ)コントローラーを回転させることで、キャラクターの下半身のみの回転を操作することができます。
「Waist」(腰)ジョイント以上の上半身は「WaistBox」(腰)コントローラーにペアレント拘束されているのに対し、「Hips」(ヒップ)ジョイント以下の下半身は「WaistBox」(腰)コントローラーの子である「HipBox」(ヒップ)コントローラーにペアレント拘束されているためです。

このリグの仕組みによって、キャラクター全体と下半身を独立して回転させることができます。
sakura_rigged2_3.toy

コメントを残す

メールアドレスが公開されることはありません。