AnyPortrait > マニュアル > IK設定

IK設定


1.7.0



ボーンをコントロールするときは、基本的にボーンを回転させてコントロールします。
一方、ユーザが1つのボーンを動かすと、他のボーンが自動的に回転することがあります。
この方法は「IK(Inverse Kinematics)」と呼ばれています。
IKは、直感的なコントロールを可能にします。
AnyPortraitは (1) 「エディタでの編集のためのIKを制御する機能」と (2) 「ゲームで呼び出すことができるIK機能」を提供しています。
このページでは、IK有効とエディタで使用する方法について説明します。
IKが有効になってボーンをゲームで使用するスクリプトは、関連ページで見つけることができます。




ボーンの詳細UI


ボーンIKを設定する前に、ボーンの詳細情報UIについて説明します。
ボーン情報UIは、3つのタブに分かれています。




共通オプションおよび「Basic Properties」タブの画面です。
1. Name : 名前を設定します。
2. サブタブ : ボーンのプロパティUIを種類ごとに分類したタブです。
3. Base Pose Transformation : 基本的な位置、回転、スケールの値を設定できます。
4. Shape : エディターに表示される形状と色を設定します。「Helper」オプションにチェックを入れると、ボーンの位置のみが表示されます。
5. Hierarchy : ボーンの親子関係情報を表示し、変更することもできます。「Snap to Child Bone」を押すと、ボーンの端が子ボーンに吸着します。
6. Mirror Bone : このボーンと対称に動作するボーンを設定できます。
7. Other Properties : ソケットなどのその他のプロパティを設定します。(関連ページ)
8. Duplicate : ボーンを複製します。
9. Remove Bone : ボーンを削除します。




「IK and Constraints」タブの画面です。
このページで解説するUIは、このタブで確認できます。
1. IK Chain Type : IKチェーンの種類(Single、Head、Chain、Disabled)を変更します。
2. IK Chain接続情報 : IKチェーンの開始や終了、次に接続されているボーンなどを確認でき、IKチェーンのターゲットを変更できます。
3. Rotation Limit Options : IK計算時に適用される回転制限の範囲を設定します。(関連ページ)
4. IK Initial Pose : IK計算時に参照される初期ポーズを設定します。
5. IK Controller Settings : 常時動作するIKコントローラーを設定します。(関連ページ)
6. Constraints : ボーンのトランスフォームを制限する制約を追加・設定します。(関連ページ)
7. Final Rotation Correction : IKの最終段階で、ボーンを追加的に回転させるオプションです。(関連ページ)




「Physics」タブの画面です。
1. Jiggle Bone : 慣性によって動く「ジグルボーン」を設定します。(関連ページ)




「IKチェーン」を作成


このIKの設定を専門的に扱うときは、多くのオプションが必要となり、難しい場合があります。
AnyPortraitはIKを迅速かつ簡単に行うために、「IKチェーン(IK Chain)」と「IKモード(IK Mode)」の方法を提供しています。




IKチェーンの概念図です。
IKチェーンは「Head、Chain,、Target」で構成されます。
IKは「Head」のボーンを出発点とし、「Target」のボーンの位置まで計算されます。


IKチェーンの場合、ボーンは4つのIKモードのうちの1つを有する。
1. Single : これは「Chain」なく「Target」のみの「Head」の状態です。これは、子のボーンがあるすべてのボーンのデフォルト値です。
2. Head : これはIKチェーンの出発点です。
3. Chain : IKチェーンの中間ボーンの状態です。「Head」と「Target」の間のすべてのボーンは、「Chain」モードに強制されます。
4. Disabled : IKチェーンがありません。子のボーンが存在しないか、ランダム指定された場合に、このモードが設定されます。




IKチェーンを作成するには、
(1) ボーンを選択して、
(2) IKモードを「Head」に変更します。




(3) 「Change IK Target」ボタンを押して、(4) 対象となるボーンを選択します。






IKチェーンが作成されると、中間のボーンは、自動的に「Chain」モードに変更されます。
ターゲットのボーンは、IKチェーンの影響を受けません。
(現在選択されて、ボーンは、子がないので、「Disabled」モードであり、他の新しいIKチェーンを構成することもできます。)




IKチェーンを使用すると、ボーンを移動したとき、チェーンのボーンが自動的に回転することを見ることができます。
(ボーンの編集、モディファイヤとアニメーションで確認することもできます。)




IK Angle Constraint(角度制約)




IK計算では、ジョイントに応じて角度を制限することができます。


回転角度を制限する機能を使用する方法は次のとおりです。
(1) ボーンを選択します。
(2) 「Constraint」ボタンを押して 「Constraint On」状態にします。






回転限度の範囲を設定します。
「Min」と「Max」の値を使用して限界範囲を設定することができます。
「Preferred」の値は、IKの計算式の基礎となる角度です。
角度制限があるボーンを画面上で直感的に見ることができます。




IK角度の制約が動作するのはモディファイヤやアニメーションで見ることができます。
(注:回転変形値を制限する機能であるため、メッシュグループの「Bone」タブの画面では、テストすることができません。)
モディファイヤやアニメで作業するとき、上記の画面のように角度制限IKが実行されることを確認することができます。


この設定は、ゲームにも適用されます。






IKなしのボーン




IKを適用しない場合があります。
以下の場合、親ボーンはIK連鎖関係には関係しません。


- 親のボーンがない場合
- 親ボーンが「Disabled」モードにある場合
- 親ボーンがIK鎖を有するが、別の子ボーンに標的化されている場合


上の写真は、親ボーンがIK鎖を有するが、IK鎖が他の子供ボーンのために形成されるため、IK鎖が形成されないことを示している。




IKが設定されていない場合、親のボーンは回転しません。