Choose your operating system:
Windows
macOS
Linux
コントロールリグがスクリプト可能なリギング システムであるのに対し、 コントロールリグ ブループリント は、スクリプトによる機能を提供したり、リギング パラメータを設定したりできるアセットです。 コントロールリグ プラグインを有効にすると、 コンテンツ ブラウザ の [Add New (新規追加)] ボタン (または右クリック コンテキスト メニュー) で [Create Advanced Asset (詳細なアセットを作成)]>[Animation (アニメーション)]>[Control Rig (コントロールリグ)] からコントロールリグ ブループリントを作成できます。
このアセットを追加すると、親リグの選択を求められます。
通常は、基本クラスである
[ControlRig]
を選択して、
[Create (作成する)]
をクリックします。 作成するコントロールリグ ブループリントはすべて、親リグとして割り当てることができます。 これにより、親に定義されている機能を新しいコントロールリグ ブループリントに継承できます。新しいコントロールリグ ブループリントに名前を付け、ダブルクリックして開くと、メイン コントロールリグ エディタが表示されます。
コントロールリグ エディタの UI
-
メニュー / メイン ツールバー - これらはブループリント エディタと同一です。アセットの保存、アセットを開く、さまざまなリギング エディタ ウィンドウの表示 / 非表示、コントロールリグ ブループリントのコンパイル、さまざまなクラス設定やクラスのデフォルト プロパティの割り当てといった、編集する際に必要な一般的なコマンドに簡単にアクセスできます。
-
ビューポート - ビューポートは、アニメーション エディタ ビューポートに類似しており、さまざまなビューポート オプション、ビュー モード、表示オプション、キャラクター オプション、および LOD オプションを変更する機能があります。
-
Rig (リグ)/Hierarchy (階層) - [Rig] タブでは、新しいリグ ユニットを追加できます。[Hierarchy] タブでは、階層として使用するスケルタル メッシュをインポートできます。 [Hierarchy] タブでは、右クリック コンテキスト メニューから、新しいジョイントの追加、ジョイント名の変更、ジョイントの削除もできます。
-
Event Graph (イベント グラフ) /Rig Graph (リグ グラフ) - このイベント グラフは、ブループリント エディタが備えているイベント グラフに類似しており、実行時にはスクリプトを実行してパラメータを操作できます。 このリグ グラフは、さまざまな種類のアニメーション関連ノード ネットワークを設定できる点で、アニメーション ブループリントの AnimGraph に類似しています。 しかし、リグ グラフでは、ノードは「 リグ ユニット 」と呼ばれます。
-
Details (詳細) / Preview Scene Settings (プレビューシーン設定) - この [Details] パネルでは (ブループリント エディタの [Details] パネルと同様に)、リグ ユニットと変数のプロパティ値の編集と変更ができます。 この [Preview Scene Settings] パネルでは、ビューポートでのシーンの見た目をすばやく変更できるツールと、アニメーション エディタの [Preview Scene Settings] タブと同様の機能にアクセスできます。
スケルタル メッシュ階層をインポートする
コントロールリグ システムで操作する対象がスケルタル メッシュの場合、最も短期間で使い始めることができる方法は、スケルタル メッシュ
階層
をコントロールリグ ブループリントにインポートすることです。
これを行うには、[Hierarchy] パネルを右クリックして、
[Import (インポート)]
を選択します。 [Import] 展開メニューで、
[None (なし)]
ドロップダウン ボックスをクリックし、インポートするスケルタル メッシュ階層を選択します。
選択したスケルタル メッシュに関連付けられているスケルトンを基に、システムによって階層が自動的に作成されます。
メッシュ エディタのコントロールリグ ウィンドウ ([Window (ウィンドウ)]>[Control Rig])
では選択したコントロールリグのマッピング設定を設定して、命名規則を設定できます。
スケルタル メッシュをインポートすると、そのメッシュのジョイント階層が表示されます。
ジョイントを右クリックして、追加のコンテキスト オプションを指定します。
ジョイントのコンテキスト メニューでは、選択したジョイントの子として新しいジョイントの追加、ジョイントの削除、ジョイントの複製、ジョイント名の変更、および追加のメッシュをインポートして階層に追加ができます。
スケルタル メッシュをインポートして階層を生成した後、ビューポート内でスケルタル メッシュを表示するには、スケルタル メッシュを
[Preview Mesh (プレビュー メッシュ)]
として割り当てる必要があります。 これは
[Preview Scene Settings]
タブから行うことができます。
スケルタル メッシュ階層をインポートして、対応するプレビュー メッシュを割り当てた後は、[Compile (コンパイル)] ボタンをクリックしてブループリントをコンパイルする必要があります。 これにより、リグ グラフ内に作成した階層の参照を適切に取得して、リグ ユニットを使ってジョイントの操作を開始できます。
コントロールリグ グラフ
コントロールリグの階層を生成したら、 [Rig Graph] 内でジョイントを操作できます。ジョイントを操作するには、階層の参照を取得し、さまざまな リグ ユニット を使用してジョイントを目的どおりに動かします。右クリック コンテキスト メニューで [Rig Hierarchy Ref (リグ階層の参照)] を探します (コンテキスト メニューの [New Variable (新規変数)]>[Structure (構造体)] で見つけることもできます)。
[Details]
パネルで変数の名前を変更できます。以下では
「Base_Hierarchy」
という名前にしています。
階層への参照を設定したら、さまざまな
リグ ユニット
を使用してジョイントを操作できます。
リグ ユニットの種類
リグ ユニットにはさまざまな種類がありますが、主に次の 2 カテゴリに分類されます。
-
オペレータ - データ型、数式、モーション システム (コンストレイント、FKIK、IK Spline など) から構成されます。
-
マニピュレータ - 開発者が外部ソースからトランスフォームを制御 (ジョイントのアニメートや操作) できるようにする特殊なリグ ユニットです。
グラフ内で右クリックしてコンテキスト メニューにアクセスすると、リグ ユニットの次のセクションが表示されます。
例 - TwoBoneIK/FK
キャラクターの両腕を設定して、それらの腕を動かしたいとします。 これは、階層の参照、
TwoBoneIK/FK
(ジョイントを定義)、および
コントロールリグ
ユニット (ジョイントを操作) を使用して達成できます。
TwoBoneIK/FK リグ ユニットは [Transforms (トランスフォーム)] セクションにあります。
TwoBoneIK/FK
リグ ユニットでは、
Start Joint (開始ジョイント)
と
End Joint (終了ジョイント)
の定義と、
Hierarchy Ref (階層の参照)
の割り当てができます。以下では、(Base Hierarchy という名前を付けた) Rig Hierarchy Reference 変数を接続しています。
この設定では、階層内の以下のジョイントを操作します。
ターゲットとして使用するトランスフォームは、
「End Effector (エンド エフェクタ)」
と呼ばれ、
TwoBoneIK/FK
リグ ユニットに利用可能なピンがあります。 このトランスフォームは、専用の
Control (コントロール)
リグ ユニットによって操作されます。
以下では、
コントロール
リグ ユニットを使用し、
[Result (結果)]
ピンを
TwoBoneIK/FK
の
[End Effector]
に接続しています。 また、このコントロールは右腕を動かすために使用するので、分かりやすいように、名前を「RightArm_Effector」に変更しています。
これで、コントロールを選択して、ビューポートでウィジェットを動かすことでコントロールを操作できるようになりました。 腕の回転を制御するための
[Pole Target (極ターゲット)]
として、 (以下のビデオで行ったように) もう 1 つコントロールを追加することもできます。 [Pole Target] は位置のみを取得します。
[Result]
の隣の展開アイコンをクリックすると、リグ ユニットの追加のパラメータを展開できます (これにより
[Translation (変換)]
ピンを使用して [Pole Target] に接続できます)。
ブループリントをコンパイルすると、(この例では) 腕が原点に戻ることが分かります。 コントロール リグ ユニットの初期トランスフォームは、 [Init Transform (初期トランスフォーム)] 情報を設定することで指定できます。
[Rig Hierarchy Ref]
から
[Get Joint Transform (ジョイント トランスフォームの取得)]
を使用して、トランスフォーム情報取得元のジョイントを指定できます (例えば、この例では End Joint である hand_r)。 以下では、コントロール リグ ユニット
Init Transform
として、hand_r
初期
トランスフォーム データを使用しています。
この設定を行うとキャラクターの右腕を制御できるようになります。左腕を制御する場合は、このリグ ユニット ネットワークを複製して、Start/End Joint を左腕に変更してください。
例 - Apply FK (FK の適用)
個別のジョイントを制御する場合は、
Apply FK
ノード、階層の参照、および
コントロール
リグ ユニットを使用します (TwoBoneIK/FK の例と同様です)。
Apply FK
リグ ユニットで、
[Global Space (グローバル空間)]
にトランスフォームを適用しています。 ここで影響があるジョイントは neck_01 (キャラクターの首のジョイント) です。
コントロール
リグ ユニットをトランスフォームとして追加することで、ビューポート内でウィジェットを使用してジョイントを操作できます。