ソルブの方向

コントロールリグにおけるソルブのさまざまな方向と、それらによって有効になる機能について説明します。

Choose your operating system:

Windows

macOS

Linux

コントロールリグは、ソルブの方向 と呼ばれる複数の方法で評価されます。これらはコントロールリグのリグ グラフ内で作成されます。これらのツールを使ってリグ ロジックを複数のソルブの方向、つまり ソルバ に分割することで、リグの受信データで利用して、リグを共有したり、アニメーションをデベロッパーの制御下に戻したり、この動作をデバッグしたりするためのワークフローを可能にできます。

このドキュメントでは、コントロールリグで使用可能なソルブのさまざまな方向の概要や、それらの使用方法、それらの機能で実現できるワークフローについて説明します。

前提条件

フォワード ソルブ

forwards solve

フォワード ソルブ (Forwards Solve) は、コントロール、変数、他のリグ要素を含むスケルトンの駆動に使用するソルブの方向です。フォワード ソルブはコントロールリグの主要な方向で、シーケンサーおよびアニメーション ブループリント内でコントロールリグをアニメートする際に使用します。

すべてのコントロールリグ アセットには、デフォルトでリグ グラフ内に Forwards Solve ノードが含まれています。このノードから、コントロールや変数、その他のリグ要素を通じたスケルトンのボーンへの影響に基づいてロジックが作成されます。この方法では、ボーンに影響を及ぼすコントロールが「フォワード (前方)」に向かって動作します。

forward solve rig graph

フォワード ソルブをプレビューする

フォワード ソルブは、ビューポート におけるデフォルトのプレビュー モードです。これは、ツールバー 上の ボタン に「Forwards Solve」と示されていることで確認できます。AnimBP と同様に、Forwards Solve は、レベル内のエディターの状態に関係なく継続的に実行されます。

forwards solve

有効なソルブの方向に応じて、リグ グラフ内でハイライト表示される実行ワイヤーが変わります。フォワード ソルブが有効な場合は、Backwards Solve からの実行ワイヤーがより薄く表示されます。

solve direction execution

バックワード ソルブ

backwards solve

バックワード ソルブ (Backwards Solve) は、スケルトンからのコントロールの駆動に使用するソルブの方向です。フォワード ソルブとは に、シーケンサーでアニメーション シーケンスからのアニメーションをコントロールリグにベイクする際に使用します。

リグ グラフ内でバックワード ソルブ ロジックを作成するには、Backwards Solve ノードを作成する必要があります。コントロールリグ グラフ 内を右クリックし、[Events (イベント)] > [Backwards Solve] を選択します。

create backwards solve

このノードから、スケルトンのボーンからのコントロールへの影響に基づいてロジックが作成されます。この方法では、ボーンの影響を受けるコントロールが「バックワード (後方)」に向かって動作します。

backwards solve

バックワード ソルブをプレビューする

バックワード ソルブの動作は ビューポート 内でプレビューできます。プレビューするには、ツールバー にあるソルブの方向の ドロップダウン メニュー を開き、[Backwards Solve] をクリックします。これにより、フォワード ソルブではなく、リグ グラフからのバックワード ソルブ ロジックがビューポートで実行されます。

enable backwards solve

この逆のコントロールリグ動作をよりうまくプレビューするには、コントロールリグの [Preview Scene Settings (シーンのプレビュー設定)] パネルで、キャラクターで再生するアニメーションを指定します。[Preview Controller (プレビュー コントローラー)][Use Specific Animation (特定のアニメーションを使用)] 設定し、[Animation (アニメーション)] プロパティでアニメーションを選択します。これで、再生されるアニメーションにコントロールが一致するようになります。

preview backwards solve

バックワード ソルブをプレビューする際は、ビューポートの枠が 黄色 になります。この色 (およびその他の色) は、[Editor Preferences (エディタの環境設定)] にある [Control Rig Editor (コントロールリグ エディタ)] で変更できます。

solve viewport color preference

アニメーションをコントロールリグにベイクする

バックワード ソルブの主な使用目的は、Unreal Engine でアニメーションをさらに変更できるよう、アニメーション シーケンスをコントロールリグにベイクすることにあります。

これを行うには、アニメートされたキャラクターがシーケンサー内にあること を前提として、そのキャラクター トラックを右クリックして [Bake To Control Rig (コントロールリグにベイク)] を選択し、ベイク先の コントロールリグ アセット を選択します。

bake to control rig

対象のコントロールリグ アセットのリグ グラフ内で Backwards Solve ノードが使用されていない場合は、そのコントロールリグを [Bake To Control Rig] メニューで選択することはできません。

ベイク処理に関連するオプションを指定できるダイアログ ウィンドウが開きます。

bake options

名前

説明

Export Transforms

トランスフォーム データをコントロールにベイクします。

Export Curves

AnimCurve データをコントロールにベイクします。これには、バックワード ソルブ ロジックを評価する際の AnimCurve も含まれます。

Record in World Space

ワールド空間の絶対座標でベイクします。

Evaluate All Skeletal Mesh Components

ベイク時にすべてのスケルタル メッシュ コンポーネントを評価します。通常、他のスケルタル メッシュ コンポーネントを含むブループリントを使用している場合は、このオプションを有効にすることをお勧めします。

Warm Up Frames

ベイク処理を行う前に評価するフレームの数です。これは、評価前に落ち着くまでの時間を必要とするポスト プロセス アニメーション ブループリント エフェクトがある場合に便利です。

Delay Before Start

ベイク処理プロセスを開始する前に遅延させる表示レート フレームの数です。これは、評価前に繰り返し実行する必要のあるポスト プロセス アニメーション ブループリント エフェクトがある場合に便利です。

Reduce Keys

これを有効にすると、ベイク プロセス実行後に 単純化 プロセスが実行され、許容量に基づいて冗長なキーフレームが削除されます。

Tolerance

Tolerance の値が大きいほど、フィルタリングされるカーブは元のものから外れることが可能になります。そのため、[Reduce Keys (キーを削減)] が有効な場合、除去されるキーフレームの数がより多くなります。

[Create (作成)] をクリックして、アニメーション シーケンスをコントロールリグにベイクします。完了すると、キーフレームとともにコントロールリグ トラックがタイムラインに表示されます。これらのキーフレームは、ベイク元のアニメーション全体に対応するものです。

bake animation to control rig

コントロールリグ セクション を右クリックして [Import Anim Sequence Into This Section (このセクションにアニメーション シーケンスをインポート)] からアニメーションを選択することで、アニメーション シーケンスをコントロールリグ キーフレームとして直接インポートすることもできます。アニメーションはシーケンサー プレイヘッドを基準にインポートされます。

import anim sequence into this sequence

セットアップ イベント

setup event

セットアップ イベントは、変数の構築やコントロール上での初期位置の設定など、準備ロジックの実行に使用されます。セットアップ イベントは、コントロールリグの初期化後のステージで一度だけ実行されます。これは、ブループリントの コンストラクション スクリプト に似たものと考えることができます。

リグ グラフ内でセットアップ イベント ロジックを作成するには、Setup Event ノードを作成する必要があります。コントロールリグ グラフ 内を右クリックし、[Setup (設定)] > [Setup Event (セットアップ イベント)] を選択します。

create setup event

このノードから、リグ要素の初期状態に及ぼす影響に基づいてロジックが作成されます。これには、リグの共有を可能にする、対応するボーンに対するコントロールの初期オフセットの定義などを含めることができます。さらに、変数の初期値を定義したり、ボーンの初期位置を変更したりすることも可能です。

setup event logic

セットアップ イベントをプレビューする

セットアップ イベントの動作は ビューポート 内でプレビューできます。プレビューするには、ツールバー にあるソルブの方向のドロップダウン メニューを開き、[Setup Event] をクリックします。これにより、フォワード ソルブではなく、リグ グラフからのセットアップ イベント ロジックがビューポートで実行されます。セットアップ ロジックをデバッグする際は、このモードが便利です。

enable setup event

セットアップ イベントを有効にすると、ボーンの初期位置とビューポートからの null を編集できるようになります。

edit initial rig location

セットアップ イベントをプレビューする際は、ビューポートの枠が 赤色 になります。

バックワードとフォワード

backwards and forwards

バックワードおよびフォワード プレビュー モードでは、最初にバックワード ソルブが実行されて、次にフォワード ソルブ リグ ロジックが実行されます。その結果、ビューポート内の アニメーションをコントロールリグにベイクする プロセスに似た動作になります。通常は、ベイク処理プロセスをデバッグして、ボーンとコントロールが正常に機能していることを確認する場合にこのモードを有効にします。

バックワードおよびフォワードの動作は ビューポート 内でプレビューできます。プレビューするには、ツールバー にあるソルブの方向のドロップダウン メニューを開き、[Backwards and Forwards] をクリックします。これにより、リグ グラフからのバックワードおよびフォワード ソルブ ロジックの両方がビューポートで順番に実行されます。

backwards and forwards

バックワードとフォワードをプレビューする際は、ビューポートの枠が 青色 になります。