IK リグ エディタ では、IK リグおよびキャラクターのリターゲティングをセットアップします。このエディタを使用すると、さまざまなソルバの作成、ボーン設定の調整、結果のプレビューを行うことができます。
このページでは、このエディタの概要および IK リグ アセットを作成する方法の概要について説明します。
前提条件
- IK リグを作成するには、プロジェクトに スケルタル メッシュ が存在している必要があります。
IK リグを作成する
IK リグの作成を開始するには IK リグ アセット を作成する必要があります。それを作成するには、コンテンツ ブラウザ にある + をクリックして、[Animation (アニメーション)] > [IK Rig (IK リグ)] を選択します。開いたダイアログ ウィンドウで、IK リグの作成対象とするスケルタル メッシュを選択します。
スケルタル メッシュを選択すると、IK リグ アセットが作成されます。コンテンツ ブラウザ でそれをダブルクリックして開きます。
エディタと機能の概要
IK リグエディタには以下のツールとオプションがあります。
- [Reset (リセット)] ボタンをクリックすると、IK 目標 がデフォルト位置にリセットされます。
- [Hierarchy (階層)] には、ボーン、IK 目標、および設定が表示されます。
- [Solver Stack (ソルバ スタック)] には、このスケルタル メッシュで使用されている IK ソルバ が表示されます。
- ビューポート では、ボーンを選択し IK 目標を操作して、IK の動作をプレビューできます。
- [Details (詳細)] パネルには、選択されている項目のプロパティが表示されます。[Preview Scene Settings (プレビュー シーン設定)] では、アンビエント ビューポート環境 (ライティング、背景など) を変更できます。
- [Asset Browser (アセット ブラウザ)] には、効果をテストするために IK 動作とともにプレビューできる、アニメーション シーケンス のリストが表示されます。[IK Retargeting (IK リターゲティング)] では、IK リグを使用してキャラクターを リターゲティング している場合に、IK リターゲティング アセットで使用するボーン チェーンを指定します。
IK 目標
IK 目標は、IK チェーンの操作ポイントおよびエフェクター ポイントであり、IK リグ エディタで作成します。IK 目標を ソルバ と併用して、目標位置に到達するように入力ポーズを変更します。
IK 目標を作成するには、まず、作成する IK チェーンでエンド ボーンを選択します。腕や脚に沿って IK を作成している場合は通常、手や足のボーンを選択します。
[Hierarchy] パネルにあるボーンを右クリックして [New IK Goal (IK 目標の新規作成)] を選択します。使用している IK リグにソルバが存在しない場合は、新しい目標に関連付けるソルバを選択できるダイアログ ウィンドウが開きます。一般的な IK 設定では、IKRig_LimbSolver を選択して [OK] をクリックします。
目標およびソルバ特有の設定が作成されて、ビューポートと [Hierarchy] パネルに表示されます。
IK 目標のプロパティ
IK 目標を選択すると、以下のプロパティが [Details] パネルに表示されます。
名前 | 説明 |
---|---|
Goal Name | IK 目標オブジェクトの名前。 |
Bone Name | IK 目標がエフェクターとして機能する対象となるエンド ボーンの名前。 |
Position Alpha | この IK 目標が IK チェーンに及ぼす平行移動の影響。 |
Rotation Alpha | この IK 目標が IK チェーンに及ぼす回転の影響。 |
Preview Mode | [Additive (加算)] または [Absolute (絶対)] のいずれかのモードで目標をプレビューします。[Additive] は、入力アニメーション基準とした IK 動作を行う場合に使用し、[Absolute] では、チェーンに沿ってすべての入力アニメーションがオーバーライドされます。 |
Transforms | 選択されている IK 目標の現在のトランスフォーム情報が入っています。 |
Size Multiplier | ビューポート設定 での基本サイズ基準とした IK 目標のサイズに乗算します。人間以外の大型のキャラクターを使用している場合は、この値を大きくします。 |
Thickness Multiplier | ビューポート設定 での基本太さを基準とした IK 目標のラインの太さに乗算します。[Size Multiplier] を大きくしている場合は、この値を大きくすることをお勧めします。 |
Expose Position | アニメーション ブループリント での IK 目標の位置に影響を及ぼすように、IK Rig Animation Blueprint ノード の Position ピンを公開します。 |
Expose Rotation | アニメーション ブループリントでの IK 目標の回転に影響を及ぼすように、IK Rig Animation Blueprint ノード の Rotation ピンを公開します。 |
ソルバ
ソルバ と呼ばれるさまざまな IK 動作を IK リグに追加できます。ソルバを使用すると、3 つのボーンのシンプルなチェーンからフルボディでマルチリムの IK システムまで、多彩な IK エフェクトを作成できます。
追加できるさまざまなソルバの詳細およびそれらを IK リグで使用する方法については、「ソルバ」ページを参照してください。
ビューポート設定
IK リグ エディタで何も選択されていない場合、[Details] パネルには以下のビューポート設定が表示されます。
名前 | 説明 |
---|---|
Draw Bones | ビューポートでボーンを表示または非表示にします。 |
Bone Size | ボーンのサイズをスケールします。 |
Draw Goals | ビューポートで IK 目標を表示または非表示にします。 |
Goal Size | IK 目標の基本サイズ。 |
Goal Thickness | IK 目標の基本太さ。 |
IK リグの例のセットアップ
Unreal Engine でよくある IK のユースケースは、起伏のあるテレインに合わせて足のアライメントを制御することです。そうするには、キャラクターの足と臀部を操作する必要があります。以下の例では、この IK リグ システムをヒューマノイド キャラクター用にセットアップする手順を説明します。
ソルバを作成する
まず、新しいソルバを作成します。そうするには、[Solver Stack] パネルにある [Add New Solver (新規ソルバを追加)] をクリックして、以下のソルバを追加します。
- Set Transform
- Limb IK
- Limb IK をもう一つ
ソルバはその横に表示されている番号に従って順番に実行されるので、ソルバを追加する順序は重要です。この IK システムでは、Limb IK が最後に評価されます。
[Solver Stack] パネル内でソルバをドラッグすると、必要に応じて順序を変更できます。
目標を作成する
この IK システムでは複数のソルバ タイプが使用されているため、各ソルバに対して IK 目標 を作成する必要があります。そうするには、骨盤と足のボーンを選択し、それらを右クリックして [New IK Goal (IK 目標の新規作成)] を選択します。目標はそれぞれのボーンの位置に作成されます。
オプションとして、目標がビューポートでより目立つように目標を調整することもできます。そうするには、目標を選択し、その Size Multiplier と Thickness Multiplier プロパティを編集します。
目標をソルバにつなぐ
IK 目標がソルバのエフェクターとして機能するためには、それぞれの IK 目標がソルバにつながれている必要があります。
そうするには、ソルバ と IK 目標 の両方を選択した状態で、目標を右クリックして [Connect Goal to Selected Solver (選択されているソルバに目標をつなぐ)] を選択します。
それぞれの目標とソルバに対してこの操作を繰り返して、すべての目標をそれぞれのソルバにつなぎます。
ソルバのルートを設定する
一部のソルバ (Limb IK など) では、目標 と ルート の両方を指定する必要があります。ルートは通常、IK チェーンの開始ボーンです。この例では、thigh (大腿部) がルートになります。
ソルバのルートを設定するには、ソルバ と ボーン の両方を選択した状態で、ボーンを右クリックして [Set Root Bone on Selected Solver (選択されているソルバにルート ボーンを設定)] を選択します。
両方の Limb IK ソルバに対してこの操作を繰り返して、両方のソルバでそれぞれの大腿部ボーンをルートに設定します。
最終結果
これで、IK 目標を選択して操作することによって、IK システムをビューポートでプレビューできるようになりました。[Reset] をクリックすると、目標が初期状態に戻ります。