コントロールリグ は、Control Rig コンポーネント を使用してブループリントで呼び出すことができます。このコンポーネントを使用すると、ブループリントでゲームプレイ ロジックを使用してコントロールリグを制御したり、異なるプロポーションのキャラクターに合わせてコントロールリグを再初期化したり、コントロールリグ階層に非スケルタル メッシュ オブジェクトをアタッチすることができます。
このドキュメントでは、Control Rig コンポーネントの概要と、ブループリントへの追加方法、使用可能な機能について説明します。
前提条件
- キャラクターのコントロールリグ アセットを作成しており、コントロールの作成方法を理解していること。この実行方法の詳細については、「コントロール リグ クイックスタート」を参照してください。
- スケルタル メッシュ コンポーネントを含む アクタ ブループリント を作成しており、ブループリント ビジュアル スクリプティング について理解していること。
コンポーネントの設定
Control Rig コンポーネント を作成するには、ブループリントの [Components (コンポーネント)] パネルの [追加 (+)] ボタンをクリックし、[Animation (アニメーション)] カテゴリの [Control Rig (コントロールリグ)] を選択します。

次に、Control Rig コンポーネント を選択して、[Details (詳細)] パネルでデフォルトの Control Rig クラス を割り当てます。[Control Rig Class (Control Rig クラス)] の横にあるドロップダウン メニューをクリックして、クラスを割り当てます。

Control Rig クラスを割り当てると、コントロールリグのボーンがビューポートに表示されます。Control Rig コンポーネントの [Details] パネルで [Draw Bones (ボーンを描画)] を無効にすると、ボーンを非表示にできます。

マッピングの設定
最後に、コントロールリグをスケルタル メッシュに マッピング する必要があります。これは、Control Rig コンポーネントの Pre Initialize イベント で行う必要があります。このマッピングは、Skeletal Mesh コンポーネント と Control Rig コンポーネント との間の接続を形成するために行います。
Control Rig コンポーネントを選択した状態で、[Details] パネルの On Pre Initialize の横にある [Add (+)] ボタンをクリックします。この操作により、イベント グラフに対応するイベントが作成されます。

次に、Component ピンをドラッグして、コンテキスト メニューから Add Mapped Skeletal Mesh を選択します。Skeletal Mesh コンポーネントへの参照を追加して、Skeletal Mesh Component ピンに接続します。

概要
コンポーネントの設定 が完了したら、ブループリントで Control Rig コンポーネントを使用し始めることができます。Control Rig コンポーネントを使用すると、リグ要素 の取得や設定、詳細の編集、新しいマッピング接続の作成などの基本的な関数を使用することができます。

詳細パネル
以下は、Control Rig コンポーネントに関連する詳細のリストです。
名前 | 説明 |
---|---|
Control Rig Class (Control Rig クラス) | インスタンス化する Control Rig クラス。ここで Control Rig アセットを指定する必要があります。 |
Mapped Elements (マッピング済み要素) | この配列は、コントロールリグのデフォルト マッピングを手動で定義するために使用されます。 |
Reset Transform Before Tick (ティック前にトランスフォームをリセット) | これを有効にすると、コントロールリグのトランスフォームが各ティックの前に更新されます。 |
Reset Initials Before Setup (セットアップ前に初期値をリセット) | これを有効にすると、ボーン、Null、コントロールの初期トランスフォームが、Setup イベント の前にリセットされます。 |
Update Rig on Tick (ティックでリグを更新) | これを有効にすると、コンポーネントがティックすると、リグが確実に更新されます。 |
Update in Editor (エディタで更新) | 再生やシミュレートを行う必要なく、コントロールリグの動作をビューポートで表示できるようにします。 |
Enable Lazy Evaluation (レイジー評価を有効にする) | これを有効にすると、コントロールリグは、マップされた入力のいずれかが変更されたかどうかのみを評価します。 |
Position Threshold (位置のしきい値) | Lazy Evaluation (レイジー評価) が有効な場合に使用される位置または平行移動のしきい値です。 |
Rotation Threshold (回転しきい値) | Lazy Evaluation (レイジー評価) が有効な場合に使用される回転のしきい値 (度数) です。 |
Scale Threshold (スケールしきい値) | Lazy Evaluation (レイジー評価) が有効な場合に使用されるスケールのしきい値です。 |
Draw Bones (ボーンを描画) | Control Rig クラス からインポートしたボーンを描画することができます。 ![]() |
イベント
コントロールリグは、Control Rig コンポーネントから次のイベントを呼び出すことができます。コントロールリグは、Control Rig コンポーネントから次のイベントを呼び出すことができます。これらのイベントをイベント グラフに追加するには、Control Rig コンポーネントを選択して[Details] パネルの [Events (イベント)] カテゴリに移動するか、イベント グラフで右クリックして、[Add Event for Control Rig (コントロールリグのイベントを追加)] > [Control Rig (コントロールリグ)] を選択します。

名前 | 画像 | 説明 |
---|---|---|
On Pre Initialize | ![]() |
このイベントは、コンポーネントのコントロールリグが初期化される前に呼び出されます。これは、Control Rig コンポーネントが初期化される前に、コントロールリグのトランスフォームや追加の変数を設定するために使用することができます。コントロールリグの一般的な設定では、このイベントは Event Begin Play と同様に 1 度のみ発生します。 |
On Post Initialize | ![]() |
このイベントは、コンポーネントのコントロールリグが初期化された後に呼び出されます。これは、Control Rig コンポーネントが初期化された後に、コントロールリグのトランスフォームや追加の変数を設定するために使用することができます。コントロールリグの一般的な設定では、このイベントは Event Begin Play と同様に 1 度のみ発生します。 |
On Pre Setup | ![]() |
このイベントは、コンポーネントのコントロールリグの Setup Event の前に呼び出されます。これは、コントロールリグの Setup Event の前に、コントロールリグのトランスフォームや追加の変数を設定するために使用することができます。コントロールリグの一般的な設定では、このイベントは Event Begin Play と同様に 1 度のみ発生します。 |
On Post Setup | ![]() |
このイベントは、コンポーネントのコントロールリグの Setup Event の後に呼び出されます。これは、コントロールリグの Setup Event の後に、コントロールリグのトランスフォームや追加の変数を設定するために使用することができます。コントロールリグの一般的な設定では、このイベントは Event Begin Play と同様に 1 度のみ発生します。 |
On Pre Forwards Solve | ![]() |
このイベントは、コンポーネントのコントロールリグの Forward Solve の前に呼び出されます。これは、コントロールリグの Forward Solve の前に、コントロールリグのトランスフォームや追加の変数を設定するために使用することができます。コントロールリグの一般的な設定では、このイベントは Event Tick と同様に継続して発生します。 |
On Post Forwards Solve | ![]() |
このイベントは、コンポーネントのコントロールリグの Forward Solve の後に呼び出されます。これは、コントロールリグの Forward Solve の後に、コントロールリグのトランスフォームや追加の変数を設定するために使用することができます。コントロールリグの一般的な設定では、このイベントは Event Tick と同様に継続して発生します。 |
マッピング
設定段階で、Skeletal Mesh コンポーネント全体をControl Rig コンポーネントにマッピングする必要があります。ただし、コントロールリグ内の特定の要素を他のコンポーネントにマッピングすることもできます。マッピングは双方向です。つまり、コントロールリグ要素は、コンポーネントに反映されたり、コンポーネントを反映したりすることができます。このように、マッピングはアタッチと似ています。
デフォルトでは、マッピングは、通常、Control Rig クラス のボーン名と Skeletal Mesh コンポーネント のボーン名を一致させることによって行われます。このように、両方のコンポーネントが使用されている場合、ブループリント内で 2 種類のスケルトンが動作していると想像することができます。マッピングにより、これら両方のスケルトン、およびその他のコンポーネントが互いに反映し合うことができます。
要素のマッピングは、以下の方法で行うことができます。
手動の詳細マッピング
[Details] パネルの [Animation] セクションに、Control Rig コンポーネントの [Mapped Elements (マッピング済み要素)] の配列があります。[Add (+)] ボタンをクリックすると、手動で情報を追加してコントロールリグに要素をマッピングして接続することができます。

たとえば、ブループリントの Camera コンポーネントをマッピングして、コントロールがその位置に反映されるようにしたい場合、次のプロパティを入力します。
- Component Name を Camera に設定し、Camera コンポーネントに一致させます。
- マッピング先が Control Rig 要素であるため、Element Type を Control に設定します。
- Element Name を Camera_ctrl に設定します。これは、マッピング先のコントロールリグ要素の名前です。
- マッピングの方向を定義するため、Direction を Output に設定します。この場合、Output を指定すると、コントール要素が Camera のトランスフォームを指示します。Input を指定すると、Camera コンポーネントがコントロール要素を指示します。

以下のプロパティを使用して、マッピング設定を作成することができます。
名前 | 説明 |
---|---|
Component Reference | 名前で定義するブループリント コンポーネント。Control Rig コンポーネントがアクタベースのブループリントにある場合、名前が指定されていないときの Referenced Actor のデフォルトは Self に設定されます。 |
Transform Index | 複数のトランスフォームを持つコンポーネントのオプションのインデックス値。 |
Transform Name | スケルタル メッシュのソケットなど、複数の個別のトランスフォーム名を持つコンポーネントのオプションの名前の値。 |
Element Type | コンポーネントが入力または出力であるコントロールリグのリグ要素のタイプ。Bones、Controls、Nulls、Curves、Rigid Bodies、References から選択できます。 |
Element Name | コンポーネントが入力または出力であるコントロールリグのリグ要素の名前。 |
Direction | マッピングされたブループリント コンポーネントとコントロールリグ要素間のコントロールの方向を決定します。
|
Offset | マッピングに適用するトランスフォームのオフセット。 |
Weight | マッピングの係数。 |
Space | マッピングを定義する必要のあるトランスフォーム空間。 |
動的グラフ マッピング
また、イベント グラフのマッピングを動的に追加、変更することもできます。これは、複数の異なる関数と構造体を使用して実行され、異なるレベルのマッピングを行うことができます。
Add Mapped Skeletal Mesh
このノードは Skeletal Mesh コンポーネントを取り、スケルタル メッシュのボーンを Control Rig コンポーネントで使用されているコントロールリグのプレビュー メッシュにマッピングします。これは、コントロールリグからスケルタル メッシュへのマッピング リンクです。通常、このノードはブループリントでコントロールリグを初期化する際に使用されます。

Add Mapped Skeletal Mesh Bone Array
このノードは、Skeletal Mesh コンポーネントと Control Rig コンポーネントの間に ボーン または カーブ の配列をマッピングします。また、コントロールリグ スケルトンとスケルタル メッシュ スケルトンに互いに異なるボーンまたはカーブ名が含まれる場合、Source 名および Target 名を指定することができます。これは、名前の「検索と置換」と同様のワークフローを提供しますが、個々のボーンまたはカーブに対してのみ動作します。

どちらかの配列のボーンまたはカーブのみがマッピングされます。スケルトン全体もマッピングしたい場合は、このノードに続けて Add Mapped Skeletal Mesh を配置します。
Add Mapped Elements
このノードはブループリント コンポーネントの配列を Control Rig コンポーネントにマッピングします。これらのコンポーネントは、Make ComponentReference 構造体および Make ControlRigComponentMappedElement 構造体で定義されます。これらの構造体のプロパティと形式は、[Details] パネルからマッピング を行う場合と同じです。

Add Mapped Components
このノードはブループリント コンポーネントの配列を Control Rig コンポーネントにマッピングします。これらのコンポーネントは、コンポーネントと Make ControlRigComponentMappedComponent 構造体を直接参照することによって定義されます。この構造体のプロパティは、Make ControlRigComponentMappedElement を簡略化したバリアントで、最も一般的なマッピング プロパティのみを提供します。
