Customizable Sequencer Track トラック

ブループリントと [Customizable Sequencer Track (カスタマイズ可能なシーケンサー トラック)] 機能を使用すると、シーケンサーで使用する独自のトラックを作成できます。

Choose your operating system:

Windows

macOS

Linux

ブループリントと子クラスを使用すると、独自のカスタマイズ可能なシーケンサー トラックを作成できます。この機能を使用すると、C++ を使用することなく、シーケンサー トラックの機能を拡張できます。これは、プロジェクトで必要な新しいトラックのプロトタイプを作成したり、実装するうえで役立ちます。

このドキュメントでは、 [Customizable Sequencer Track (カスタム可能なシーケンサー トラック)] 機能の概要、新しいトラック タイプの作成方法、および一般的なシーケンサー オブジェクトとのやり取りに使用する各種関数について説明します。

前提条件

  • [Customizable Sequencer Track] 機能は、 プラグイン であるため、使用前に有効化する必要がある。Unreal Engine のメインメニューで、[Edit (編集)] > [Plugins (プラグイン)] を選択し、[Runtime (ランタイム)] セクションで [Customizable Sequencer Tracks] を見つけて、クリックしてチェックボックスをオンにします。次に、Unreal Engine を再起動します。

    customizable sequencer tracks plugin

  • ブループリント の作成と使用について理解している。

新しいトラックを作成する

新しいカスタム シーケンサー トラックを作成するには、以下を継承する 3 つのブループリント クラスを作成する必要があります。

  • SequencerSectionBP

  • SequencerTrackBP

  • SequencerTrackInstanceBP

このためには、コテンツ ブラウザ[Add (+) (追加)] > [Blueprint Class (ブループリント クラス)] をクリックし、[All Classes (すべてのクラス)] セクションでこれらの 3 つのクラスまで移動します。それぞれのクラスに新しい子ブループリント クラスを作成します。

create track classes

次に、これらのクラスがやり取りできるように関連付ける必要があります。このためには、SequencerTrackBP を継承する新しいブループリントを開き、[Details (詳細)] パネルの [Class Defaults (クラスのデフォルト)] セクションで以下のプロパティを設定します。

  • [Default Section Type]SequencerSectionBP を継承する新しいブループリントに設定する。

  • [Track Instance Type]SequencerTrackInstanceBP を継承する新しいブループリントに設定する。

set track properties

ブループリントをコンパイルして保存すると、シーケンサーのメインメニューの [(+) Track (トラック追加)] で、マスター トラックとしてトラックを追加できるようになります。

add custom track to sequencer

トラック ロジックを作成する

シーケンサーでトラックを新規に作成できるようになりましたが、そのセクションにはロジックが含まれていないため、トラックを作成しても何も実行されません。トラックのロジックを作成するには、SequencerTrackInstanceBP を継承した新しいブループリントを開きます。[Functions (関数)] セクションでイベントをオーバーライドすることで、イベント グラフにイベントが追加され、ブループリントのロジックを作成できます。

override functions

セクション イベント

SequencerTrackInstanceBP イベント グラフでは、以下のセクション イベントをオーバーライドすることができます。

名前

画像

説明

OnBeginUpdateInputs

Event1.png

このイベントは、セクションが開始または終了しようとしているときに実行されます。最初に (ただし OnInitialize の後) 実行されます。

OnEndUpdateInputs

Event2.png

このイベントは、セクションの開始または終了が完了したときに実行されます。OnBeginUpdateInputsOnInputAdded/Removed の後に実行されます。

OnDestroyed

Event3.png

このイベントは、特定のセクションが終了し、他に再生するセクションがないときに実行されます。最後に実行されます。

OnInitialize

Event4.png

このイベントは、特定のセクションが開始し、他に再生するセクションがないときに実行されます。最初に実行されます。

OnInputAdded

Event5.png

このイベントは、セクションが開始するときに実行されます。OnBeginUpdateInputs の後に実行されます。

OnInputRemoved

Event6.png

このイベントは、セクションが終了するときに実行されます。OnBeginUpdateInputs の後に実行されます。

OnUpdate

Event7.png

このイベントは、セクションがアクティブである限り、継続的にすべてのフレームで実行されます。セクションの初期化時に、OnEndUpdateInputs の後に実行が開始されます。

例として、この画像で示しているのは、マルチセクション シナリオのそれぞれのイベントすべての全体の実行順序です

execution order

Custom Sequencer トラックは、 セクション のみを使用し、キーフレームは使用しません。

セクション機能

SequencerTrackInstanceBP 子ブループリントでロジックを作成する場合、以下の関数を使用してセクションや所有オブジェクトの情報を取得することができます。

名前

画像

説明

Get Animated Object

Function1.png

トラック タイプObject Track に設定されている場合、このトラックが子であるオブジェクトまたはアクタを取得します。この関数は Cast 関数と併用して、返されたオブジェクトの使用可能なブループリント参照を取得する必要があります。

Function5.png

Get Input

Function2.png

インデックスに基づいて現在再生中のセクションを取得します (複数のセクションが再生されている場合)。デフォルトの Return ピンは構造体であるため、実際のセクション オブジェクトにアクセスするには、このピンを分割する必要があります。Break SequencerTrackInstanceInput を使用するか、ピンを右クリックして [Split Struct Pin (構造体ピンを分割)] を選択すると、ピンを分割できます。

Function6.png

Get Inputs

Function3.png

現在再生中の一連のセクションを返します。

Get Num Inputs

Function4.png

現在再生中のセクション数を取得します。

クラスの概要

このセクションには、カスタム トラックを構成する 3 つの主要なブループリント クラスとそのプロパティに関する情報が格納されています。

SequencerSectionBP

SequencerSectionBP は、ランタイム時に作成される一時的なクラスです。また、このクラスを使用してデフォルトのセクション プロパティを設定し、シーケンサーのセクション プロパティで上書きすることができます。これらのプロパティにアクセスして変更するには、[Details] パネルの[Class Defaults] セクションに移動します。

sequencer section class properties

名称

説明

Timecode Source

タイムコードが使用されている場合のセクションのデフォルトのタイムコード情報。オフセット情報を制御するためにここでデルタ フレームを指定することもできます。

Is Active

セクションをデフォルトで アクティブ にするかどうかを設定します。

Is Locked

セクションをデフォルトで ロック するかどうかを設定します。

Pre / Post Roll Frames

セクションの最初と最後のフレームを指定された期間保持するように、デフォルトでセクションの開始領域と終了領域に適用する追加のパディングを指定します。

SequencerTrackBP

このクラスは名前、型、サポートされるセクションなど、トラックの一般的なプロパティやルールを設定するために使用されます。これらのプロパティにアクセスして変更するには、[Details] パネルの [Class Defaults] セクションに移動します。

sequencer track properties

名称

説明

Supports Multiple Rows

有効にすると、トラックが複数のサブトラック (行) を含むことができます。これは、このトラックを使用してデータをレイヤー化する場合に役立ちます。

Classes3.png

Supports Blending

これを有効にすると、複数のセクションが相互にブレンドされます。

Track Type

シーケンサーでこのトラックをどのようなコンテキストで追加し、存在させることができるかを設定します。次のいずれかを選択できます。

  • Master Track。シーケンサーのメインメニューの [Add Track (+)] にトラックを追加します。これにより、追加したトラックがシーケンサーの最上位レベルのトラックとなります。

    Classes4.png

  • Object Track。別のトラックの [Add (+) (追加)] メニューにトラックを追加します。親トラックは、Supported Object Type で定義されたオブジェクト クラスに依存します。

    Classes5.png

Supported Object Type

Track TypeObject Track に設定されている場合、このプロパティを使用して、このトラックがどのオブジェクト タイプに追加できるかを指定します。

Default Section Type

必要なトラック設定の一部として作成される継承されたベース クラス SequencerSectionBP を指定します。

Supported Sections

トラックの [Add Section (+) (セクション追加)] メニューから追加する SequencerSectionBP クラスを追加できる配列。これらのセクションを区別するロジックを作成するときに各種 Get Input 関数を使用することができます。

Classes6.png

Track Instance Type

必要なトラック設定の一部として作成される継承されたクラス SequencerTrackInstanceBP を指定します。

Icon

トラックのアイコンのプレビューを表示します。このプロパティを展開すると、以下のアイコン プロパティが表示されます。

  • Image:アイコンの画像として使用するテクスチャまたはマテリアル。

  • Image Size:画像のサイズと X/Y 寸法。

  • Tint:画像の色。Inherit を有効にすると、すべての色合いが無効となり、代わりに親ウィジェットの色が使用されます。

  • Draw As:次のアイコンの描画方法を [Box][Border][Image]、または [Rounded Box] から選択できます。

  • Tiling:画像を 水平方向垂直方向、または 方向に並べることができます。

  • Preview:アイコンの最終的な外観とサイズをプレビューする領域。

Classes7.png

Display Name

トラックのデフォルト名。これは通常のトラック名変更操作でシーケンサーで上書きできます。

Classes8.png

Track Row Display Names

[Supports Multiple Rows] が有効な場合に、行名を指定できる配列。複数の配列要素が追加されている場合、セクション行を追加すると、すべての指定した行が一度に追加されます。

Classes9.png

Color

トラックとそのセクションのデフォルトの色を設定します。色のアルファ値が 0 でないことを確認する必要があります。0 の場合は、透過性がデフォルトのグレーに低下します。

Classes10.png

Show Vertical Frames

有効にすると、セクションの開始と終了の境界線がタイムラインで垂直線で表示されます。

Classes11.png

SequencerTrackInstanceBP

このクラスを使用すると、 イベントをオーバーライド して、 関数を作成 することで、イベント グラフ 内のトラックの主要なロジックと動作を作成することができます。

track instance class

タグ