アニメーション シーケンス を スケルタル メッシュ 上で再生した際に、そのアニメーションに同期されている追加のプロパティや値をアニメートする必要があることがわかる場合があります。そのような場合は、アニメーション シーケンス内に追加してキーフレーム化できる浮動小数タイプの値である アニメーション カーブ (もしくは Anim カーブ や単に カーブ とも呼ばれます) を使用できます。カーブは、マテリアル パラメータ や モーフ ターゲット、他の属性のアニメートなど、追加のアニメート可能なプロパティを使ってアニメーションを向上する際に便利です。
このドキュメントでは、アニメーション カーブとそのさまざまな使用方法についての概要を説明します。
前提条件
- プロジェクトに スケルタル メッシュ と アニメーション シーケンス が含まれてる。
- Anim カーブを使って マテリアル パラメータ に影響を与える場合は、マテリアル インスタンス化 についての基礎を理解している。
- Anim カーブを使って モーフ ターゲット に影響を与える場合は、スケルタル メッシュで モーフ ターゲット を設定するための基礎を理解している。
アニメーション カーブを作成する
アニメーション カーブは次の方法で作成できます。
-
アニメーション シーケンス を アニメーション シーケンス エディタ で表示しているときに、[Curves (カーブ)] トラック ドロップダウン メニューから [Add Curve…(カーブを追加)] > [Create Curve (カーブを作成)] を選択します。新しいカーブの名前を入力して、Enter キーを押して新しいカーブを作成します。
-
[Anim Curves (アニメーション カーブ)] パネル の カーブ リスト領域 内を右クリックして、[Add Curve (カーブを追加)] を選択します。新しいカーブの名前を入力して、Enter キーを押して新しいカーブを作成します。
-
スケルトンにすでにカーブが含まれている場合は、それらを [Curves] > [Add Curve…] ドロップダウン メニューから選択できます。
アニメーション カーブは スケルトン アセット に格納されます。そのため、カーブの作成時には スケルトン も編集していることになり、そのスケルトンも保存する必要があります。
アニメーション カーブをインポートする
カスタム属性は、Autodesk Maya などのアニメーション ソフトウェアで外部で作成し、アニメーション シーケンスと一緒にカーブとしてインポートすることもできます。
そのためには、最初にスケルトンのいずれかのボーンで カスタム属性を作成 しキーフレーム化します。曲線と互換性をもつ唯一のデータ型である Float 型の属性であることを確認する必要があります。完了したら、アニメーションをエクスポートします。
カーブ データを正しくインポートするには、カスタム属性をキーフレーム化する必要があります。
次に、カスタム属性を含んでいる アニメーション シーケンスをインポート します。FBX をインポートするときに、[Import Custom Attribute] が有効になっていることを確認してください。
カーブがインポートされると、アニメーション シーケンスに表示されます。この例では、異なるボーンで 2 つの属性が作成されてからインポートされました。
カーブ アニメーションを作成する
アニメーション カーブを作成してアニメーション シーケンスに追加したら、その値をアニメートできます。アニメーション カーブ トラックの [Curve (カーブ)] ドロップダウン メニューをクリックして、[Edit Curve (カーブを編集)] を選択します。これによって カーブ エディタ が開きます。
カーブ エディタは、特定のカーブ トラックの タイムライン領域 をダブルクリックすることでも開くことができます。
カーブ エディタが開いたら、Enter キーを押してキーフレームを作成できます。こうすることで プレイヘッド 位置にキーフレームが作成されます。キーフレームは、ドラッグしてシーケンスに沿った設定済みの別のキーフレームに移動できます。キーフレームをクリックしてドラッグし、そのタイミングと値を変更できます。
カーブ エディタを使ったナビゲーション、キーフレーム、接線編集の詳細については、「カーブ エディタ」ページを参照してください。
[Anim Curves] パネル
作成した格納したカーブは、[Anim Curves (アニメーション カーブ)] パネルで表示および管理できます。このパネルを表示するには、メイン エディタ メニューに移動して [Window (ウィンドウ)] > [Anim Curves] を有効にします。[Anim Curve] パネルを表示できるのは、スケルトン エディタ、アニメーション シーケンス エディタ、または アニメーション ブループリント エディタ からのみです。
カーブの管理
[Anim Curve] パネルでは、カーブ エントリに対していくつかの設定と機能を調整できます。
名称 | 説明 |
---|---|
Curve Name (カーブ名) | カーブの名前です。[Anim Curve] パネルでカーブを右クリックし、[Rename Curve (カーブ名を変更)] を選択することで、そのカーブの名前を変更できます。 |
Type (タイプ) | カーブを モーフ ターゲット または マテリアル のどちらで使用可能にするかを設定します。 |
Weight (重み) | カーブの現在値です。 |
Auto (自動) | これを有効にすると、このシーケンス内でカーブがアニメートされた際に、[Weight] の値がそのキーフレーム化された値に応じて自動的に変更されます。無効な場合はアニメートされた値が無視されます。キーフレーム化せずに、キャラクターに対するカーブ値の影響をテストする場合は、これを無効にしておくと便利です。 |
Bones (ボーン) | このカーブに 接続されている ボーンの数です。 |
カーブのフィルタリング
[Anim Curves] パネルでカーブのリストをフィルタリングして、頻繁に使用するカーブや特定のタイプのカーブのみを表示できます。
- [All Curves (すべてのカーブ)] を無効にすると、このアニメーション シーケンスで現在使用されているカーブのみが表示されます。
- [Morph Target (モーフ ターゲット)]、[Attribute (属性)]、および [Material (マテリアル)] カーブを無効にすると、これらのカーブ タイプが非表示になります。
カーブの詳細
カーブを選択すると、[Details (詳細)] パネルに次のプロパティが表示されます。
名称 | 説明 |
---|---|
Curve Name (カーブ名) | カーブの名前です。 |
Connected Bones (接続されたボーン) | このカーブに接続可能なボーンの配列です。ボーンが使用されているかどうかに応じて特定のカーブを有効にしたい場合に便利です。ボーンは、異なる複数のスケルトンがマージされるかどうか、または異なる LOD に向けてボーンが 削減されるかどうか に応じて有効または無効にできます。 |
Max LOD (最大 LOD) | このカーブが評価を行わなくなる前に使用する最大 LOD です。例えば、この値を「1」に設定すると、このカーブで LOD 0 と 1 の評価が行われますが、2 以降のものは評価しません。 |
アニメーション カーブを使用する
カーブを作成してアニメートしたら、さまざまな方法でカーブを使用してキャラクターに影響を与えることができます。
マテリアル
アニメーション カーブを使って、スカラー マテリアル パラメータ に自動的に影響を与えることができます。それには次の作業を行う必要があります。
-
カーブの名前を、マテリアルのマテリアル パラメータ名に一致させます。
-
[Anim Curves] パネルで「マテリアル」カーブ タイプを有効にします。
これが完了すると、カーブ値がマテリアル パラメータに影響を及ぼすようになります。
マテリアル アニメーション カーブは、スケルタル メッシュに割り当てられているすべてのマテリアル (およびそのパラメータ) に影響を及ぼします。そのため、アニメーション カーブで単一のマテリアルのパラメータのみに影響を及ぼしたい場合は、コンテンツを適切に調整しなければならないことがあります。これは、単一の親から派生した複数の割り当て済みのマテリアルがスケルタル メッシュに含まれる場合に生じることがあります。この場合は、パラメータ名がすべての割り当て済みのマテリアル間で共有されます。
モーフ ターゲット
マテリアルと同様に、アニメーション カーブを使って、スケルタル メッシュの モーフ ターゲット に自動的に影響を与えることができます。それには次の作業を行う必要があります。
-
カーブの名前を、モーフ ターゲット プレビューア に表示されるモーフ ターゲットの名前に一致させます。
-
[Anim Curves] パネルで「モーフ ターゲット」カーブ タイプを有効にします。
これが完了すると、カーブ値がモーフ ターゲットに影響を及ぼすようになります。
アニメーション ブループリント
アニメーション カーブを使って、アニメーション ブループリント の任意の値に影響を与えることができます。ほとんどの場合は、アニメーション カーブを使って、特定の Anim Graph ノードのアルファ値に影響を与えることができます。例えば、IK に影響を及ぼして、アニメーションの再生時に IK の状態を変更できます。
次のカーブ関連の関数は、アニメーション ブループリントのアニメーション グラフとイベント グラフの両方で使用できます。
名前 | 画像 | 説明 |
---|---|---|
Get Active Curve Names | アニメーション インスタンスをターゲットとして、特定のカーブ タイプの有効なカーブ名の最後の最新リストを返します。 | |
Get All Curve Names | アニメーション インスタンスをターゲットとして、すべてのカーブ名を文字列配列で返します。 | |
Get Curve Value | アニメーション インスタンスをターゲットとして、特定のカーブ名の値を返します。 |
メタデータ カーブ
メタデータ カーブとは、アニメーション シーケンスに追加された場合に 1.0 の静的カーブ値を出力するアニメーション カーブです。メタデータ カーブは、(キーフレームなしに) デフォルトで 0.0 の静的カーブ値を出力する通常のアニメーション カーブと逆に動作させることができます。シーケンスに追加されたカーブがない場合は、そのアニメーション カーブ値も 0.0 の値にフォールバックします。
この動作は、多くのアニメーション シーケンスを含む大規模なプロジェクトで役に立つ場合があります。そのようなプロジェクトでは、多くのアニメーションで全体を通じて 1.0 の定数カーブ値が必要になる場合があります。そのため、通常のカーブを手動で追加して 1.0 にキーフレーム化するのではなく、マテリアル カーブ を使ってこのプロセスを高速化できます。言い換えると、アニメーション カーブを使用する大規模なプロジェクトでは、アニメーション シーケンスでのカーブの使用を次のように構造化できます。
- 少数のアニメーション シーケンスは、それらに明確なカーブ アニメーションが必要になる場合がある。そのため、それに応じて アニメーション カーブ をそれらのアニメーションに追加してキーフレーム化します。
- 多くのアニメーション シーケンスでは、プロパティ値を維持するために、常に 1.0 に設定されているカーブ値が必要になる場合がある。そのため、マテリアル カーブ をそれらのアニメーションに追加します。
- 残りのすべてのアニメーション シーケンスでは、カーブ値を考慮する必要がないか、常に 0.0 に設定されたカーブ値を必要とする。アクションは必要ありません。
メタデータ カーブを作成するには、まず [Curves] トラック ドロップダウン メニューをクリックして、[Add Metadata...(メタデータを追加)] を選択します。ここで既存のカーブを選択するか、新しいカーブを作成するには [Create New (新規作成)] をクリックします。
別の方法として、既存のアニメーション カーブをメタデータ カーブに変換することもできます。変換するには、カーブ トラックの [Curve] ドロップダウン メニューから [Convert To Metadata (メタデータに変換)] を選択します。
作成されたメタデータ カーブは読み取り専用となり、1.0 の定数カーブ値を出力します。