Doc:JA/2.6/Manual/Rigging/Posing/Inverse Kinematics/Spline IK
Page status (reviewing guidelines)
Partial page
Text
Need example & img
|
スプラインIK
スプラインIKはカーブに沿ってボーンを整列するコンストレイントです。カーブによって美しい形状が簡単かつ柔軟に作成でき、またボーンによって扱いやすく一貫した操作性が得られるため、スプラインIKはリギング作業にとって計り知れない価値を持っているツールです。このツールは柔軟に曲がるもの、たとえばしっぽ、触手、脊髄、ロープのようなものに特に有用です。
設定についての全般的な解説はスプラインIKコンストレイントのページ(eng)にあります。
基本的なセットアップ
スプラインIKは厳密には'Inverse(逆方向) Kinematics'(IKコンストレイントなど)ではなく、'Forward(順方向) Kinematics'(通常のポーズ作成時など)です。しかし、いくつかの特徴はIKコンストレイントに通じるところがあります。通常のオブジェクトの場合とは異なる、複数のボーンの処理ができるところ、また他のコンストレイントの効果のあとで評価されるところなどです。通常のIKチェーンとスプラインIKチェーンが同じボーンに同時に影響している場合、通常のIKチェーンが優先されます。しかしながら、そういう状況はコントロールしづらいので、避けたほうが良でしょう。
スプラインIKを使用するには、一続きになったボーンのチェーンと、それを沿わせるカーブが必要です。
- チェーンの中で最後のボーンを選択し、プロパティウィンドウのBone Constraintsタブで、スプラインIK(eng)コンストレイントを追加します。
- 影響を受けるべきボーンの数(選択しているボーン自身を含む)をChain Lengthに指定します。
- 最後に、Target欄でチェーンをコントロールするカーブを指定します。
これでチェーンはカーブを使ってコントロールできるようになりました。
設定とコントロール
Roll Control
スプラインIKチェーンの「ねじれ」または「ロール」をコントロールするには、通常の場合にボーンを回転させるための方法が使えます。たとえば、単純にボーンをそのY軸を中心に回転させて、そのボーン以降のチェーンのロールを調整したり、copy rotationコンストレイントを適用したりできます。
Offset Controls
Chain Offsetオプションを有効にすると、ボーンチェーンは自由な点に位置した状態で、形状のみカーブに従うようにできます。デフォルトでは無効になっていて、チェーンはカーブの無変形時の位置に従います。
Thickness Controls
ボーンの太さはXZ Scale Modeで指定された方法でコントロールされます。この項目はチェーンに属するボーンのXおよびZ方向のスケーリングの仕方を決定します。
使用できるモードは、
- None - XおよびZ方向のスケールは1.0に保たれます。
- Volume Preserve - XおよびZ方向のスケールはY方向のスケール(長さ)の逆数となり、ボーンの体積が保たれます。
- Bone Original - 通常通りに評価されたXおよびZ方向のスケールを使います。
これらに加えて、Use Curve Radiusオプションがあります。これを有効にすると、それぞれのボーンの端の位置でのカーブの曲率半径の平均がXおよびZ方向のスケールに使われます。これにより、上に挙げたモードに対してアーティスティックな制御の必要性に応じて微調整ができます。
セッティングのヒント
- 適切な変形をするためには、それぞれのボーンはだいたい同じ長さで、また長すぎないようにして、よりきれいにカーブにフィットさせたほうが良いでしょう。また、ボーンは最初からなるべくカーブに沿った形で作っておいたほうが良いです。カーブが鋭く曲がる領域での問題を最小限にするためです。そういった問題はとくに伸縮オプションが無効になっているときに起こります。
- カーブをコントロールするには、フック(具体的にはBlender2.5で登場したボーンフック)をカーブの制御点それぞれに適用してコントロールすると良いでしょう。基本的に、カーブにはそれほど多くの制御点は必要ないはずです(たとえば3から5個のボーンに対してカーブの制御点が一つ、など)。
- Follow Pathコンストレイントと同様に、パスが抽出できるかぎりカーブの種類は関係ありません。カーブの種類が関係するのは、フックを使う際のコントロールの度合いです。
- リギングする際、現在のところはカーブをコントロールするためのボーンが別個のアーマチュアとして必要です。これは偽の「依存関係の循環」が発生するのを避けるためです。BlenderのDependency Graphでは、コントロールボーン、カーブ、およびスプラインIKされたボーンの依存関係をオブジェクト単位で決定することしかできません。