オブジェクトを作成して、スムーズ スキンのシェイプにインフルエンスを与えることができます。このオブジェクトをインフルエンス オブジェクトと言い、スキンが変形するときに、移植手術で埋めこまれたもののような働きをします。たとえば、球を作成して、それをキャラクタの特定のポーズ設定で、筋肉や骨の膨らみをシミュレートするのに使うことができます。また、インフルエンス オブジェクトを使ってデフォメーションをスムーズにし、曲げるときに陥没する部分の空間領域を維持することもできます。
次の手順では、円柱を使用して Sven の前腕の構造を改善します。インフルエンス オブジェクトを使うには、スケルトンがバインド ポーズ(スキンが Sven にバインドされたときの元のポーズ)であることが必要です。
スケルトンをバインド ポーズに戻すには
- 選択ツール(Select Tool)をクリックして Sven の選択を解除します。
- 修正 > ノードの評価 > IK ソルバ(Modify > Evaluate Nodes > IK Solvers)をオフにします。
IK ハンドルを使ってキャラクタのポーズを設定したら、スケルトンをバインド(T スタンス)ポーズに戻す前にこの手順を実行する必要があります。
- スケルトンのルートである back_root を選択します。
- スキン > バインド ポーズに移動(Skin > Go to Bind Pose)を選択します。
-
ハイパーグラフ(Hypergraph)の ikHandleLeftArm を選択します。移動ツール(Move Tool)を使用して、任意の方向に少しハンドル マニピュレータを移動します。マウスのボタンを放しても腕が移動せず、IK ハンドル マニピュレータがジョイント チェーンの末端の適切な位置にスナップされます。これまでにポーズ設定した他の IK ハンドルにもこの手順を繰り返し実行します。
- 修正 > ノードの評価 > IK ソルバ(Modify > Evaluate Nodes > IK Solvers)をオンにします。
この手順を実行して IK ソルバを使用可能にし、シーン内で IK ハンドルをもう一度操作できるようにします。
インフルエンス オブジェクトとして使用する円柱を配置するには
-
Sven のサーフェス(スケルトン上の任意の場所)を
クリックし、マーキング メニューから動作 > テンプレート(Actions > Template)を選択します。
Sven をテンプレート化すると、この後の手順で誤って Sven を選択してしまうことがありません。
- 円柱を作成し(作成 > ポリゴン プリミティブ > 円柱(Create > Polygon Primitives > Cylinder))、これに forearm_influence という名前を付けます。
- 円柱をスケーリングして移動する方法は、この上面ビューと前面ビューでの円柱の配置に似ています。
円柱をインフルエンス オブジェクトにするには
- アウトライナ(Outliner)で Sven を選択し、[Shift]キーを押しながら forearm_influence を選択します。
- スキン > 影響を編集 > インフルエンスの追加(Skin > Edit Influence > Add Influence) >
を選択します。インフルエンスの追加オプション(Add Influence Options)ウィンドウで編集 > 設定のリセット(Edit > Reset Settings)を選択し、追加(Add)ボタンをクリックします。
Maya ではこの操作は数分以内に完了します。インフルエンス オブジェクトを前腕の適切な位置に固定しておくには、left_elbow ジョイントに対してペアレント化します。
- ハイパーグラフ(Hypergraph)で[Shift]キーを押しながら、forearm_influence、forearm_influenceBase、および left_elbow ジョイントの順番で選択します。
選択順序は重要です。ペアレント オブジェクトは最後に選択してください。
- [p]キーを押して、前腕ノードを left_elbow ジョイントの下にペアレントします。
forearm_influence ノードは、left_elbow ジョイントの下のスケルトン階層に表示されます。
forearm_influenceBase はベース オブジェクトとして認識されています。これにはインフルエンス オブジェクトの頂点の位置情報が格納されています。ベース オブジェクトを left_elbow ジョイントに対してペアレント化するのは、前腕が別の位置に移動しても、インフルエンス オブジェクトの頂点が必ず前腕の正しい位置にくるようにするためです。 この手順以外でベース オブジェクトを扱うことはありません。
- Sven を右クリックして、動作 > テンプレート解除(Actions > Untemplate)を選択します。 次に行うスキンのデフォメーションを確認するには、Sven をテンプレートとして表示する場合よりもスムーズ シェーディングで表示するほうが簡単です。
- 上面ビューのパネル メニューから、表示 > ジョイント(Show > Joints)をオフにし、ジョイントがスキンを見る邪魔にならないようにします。
- 各腕の IK ハンドル(ikHandleLeftArm と ikHandleRightArm)を使って、次の位置で腕のポーズを設定します。
左肘(図の右側)は右肘より自然に見えます。肘を曲げているときのデフォメーションを調整するには、forearm_influence の位置、スケール、および回転を変更します。
インフルエンス オブジェクトがスキンを突き抜けていても心配する必要はありません。 アニメーションをレンダーするときには表示されないからです。