Choose your operating system:
Windows
macOS
Linux
この機能は現在、実験的段階にあります。そのため、一部の機能は期待通りの動作をしない場合があります。
Animation Modifiers (Anim Modifier) は、ネイティブまたは ブループリント クラス の一種で、 アニメーション シーケンス または スケルトン アセットにアクション シーケンスを適用することができます。 これには、足の自動同期マーカーを作成するなどが考えられます。左または右の足が地面に触れるのはどのフレームであるかをピンポイントで示します。こうした情報を使って、足の骨が最も低いポイント (フロアに接触する) にくる場所に Animation Sync Markers を追加します。
Anim Modifier は、アニメーション エディタ または スケルトン エディタ の [Animation Data] タブから適用します。 Anim Modifier をスケルトンに適用する場合、そのスケルトンに基づいたすべてのアニメーション シーケンスに適用されます。 アニメーション シーケンスに Animation Modifier を適用する場合、そのシーケンス自体にのみ適用されて他のシーケンスには適用されません。
Anim Modifier を作成する
まず、Anim Modifier Blueprint クラスを作成する必要があります。
プロジェクトの コンテンツ ブラウザ で [Add New] ボタンをクリックして、[Blueprint クラス] を選択します。
[Pick Parent Class (親クラスを選択)] ウィンドウで [All Classes] を展開し、Animation Modifier を検索して選択し、[Select] をクリックして名前を付けます。
新規 Animation Modifier ブループリントをダブルクリックしてブループリント エディタで開きます。
Anim Modifier が作成された状態で、ブループリント スクリプトと Animation Blueprint Library (アニメーション ブループリント ライブラリ) に入っているブループリント スクリプトと関数を使用してアニメーション データにアクセスして操作することができます。
Animation Blueprint Library
Anim Modifier ブループリントのグラフで右クリックして、コンテキスト メニューと利用可能な関数のリスト、特に Animation Blueprint Library に入っているものを確認します。
利用可能な様々な関数を使ってデータにアクセスするための作業を開始する前に、OnApply event と OnRevert event を実装します。 OnApply Event では、アニメーションのデータを変更、アニメーションにデータを追加、またはアニメーションからデータを取り除くことができます。OnRevert は、以前適用した変更を取り除くことができます (またはシーケンスをオリジナルの状態に戻します)。 各イベントは、Animation Blueprint Library の操作を入力するアニメーション シーケンスを戻します。
Anim Modifier を実装する
Anim Modifier の実装は、Skeleton アセット (スケルトンに関連するすべてのアニメーションに対して Anim Modifier を追加するため) 内または単一のアニメーション シーケンスで行うことができます。
スケルトン エディタ または アニメーション エディタ 内で、[Window] メニュー オプションに進んで、[Animation Data Modifiers] を選択します。
[Animation Data Modifiers] タブで、[Add Modifier] を選択し、必要な [Anim Modifier Blueprint] を選択します。
Anim Modifier ブループリント上で右クリックします。次に、Apply Modifier をクリックして Anim Modifier および変更 (変更を取り除くには、Revert Modifier) があれば適用します。
適用するまで Anim Modifier は、Out of Date と表示されます。
以下は、スケルトン アイコンで示されている Skeleton アセットに適用された Anim Modifier の例です。
Instance Editable として設定したプロパティは、[Animation Data Modifiers] タブで利用することができます。
プロパティを公開する
Anim Modifier ブループリント内で、アニメーション ツールの Animation Tab で操作できるパラメータを Instance Editable を使って公開することができます。
アニメーション シーケンス内で、Anim Modifier を実装して適用すると、公開されたパラメータが見えます。
Animation Blueprint Library のリファレンス
Animation Blueprint Library 内には数種類のノードがあります。このセクションでは、Anim Modifier の中でも一般的に使用されるものを取り上げます。
Add/Remove Notify と Curve Tracks
こうしたノードを使うと、指定したアニメーション シーケンスに Notify または Curve Track を動的に追加することができます。 Notify または Curve Track が追加されると、様々なタイプのキーやイベントをこうしたトラックに追加することができます。 例えば Add Float Curve Keys を Curve Track に、Add Animation Notify Events または Add Animation Sync Markers を Notify Track に追加することができます。
Get Bone Pose
使用可能な Bone Transform データを取得するために、Get Bone Pose for Frame ノードまたは Get Bone Pose for Time ノードを使用して、指定したアニメーション シーケンスに対して指定したボーン名のボーン トランスフォームを戻します。 または、Get Bone Poses for Frame か Get Bone Poses for Time を使用して、指定した一連のボーン名に対するボーン トランスフォームを収集することができます。
ボーン トランスフォームを取得する場合、トランスフォーム データはローカル空間のものになります。コンポーネント空間である必要があれば、手動でトランスフォームを変換する必要があります。
Helper Node
Animation Blueprint Library ノードには、フレームと時間の情報を変換するためのノード (Get Time at Frame または Get Frame at Time) を含むいくつかのヘルパー ノードがあります。 情報取得に役立つもうひとつのノードとして、Find Bone Path to Root があります。これは、アニメーション シーケンスとボーン名 (通常はルート ボーン) を使って、一連のボーン名のリストを出力します。