Take Recorder を使用すると、ゲームプレイ アニメーション、ライブ パフォーマンス、およびその他のソースを Unreal Engine に直接記録することができます。シーケンサーにテイクを記録して管理することで、バーチャル プロダクションで何度も反復するワークフローを実現することができます。このガイドでは、Take Recorder 機能の概要を説明し、そのワークフローを示します。
前提条件
Take Recorder は プラグイン のため、使用する前に有効にしておく必要があります。Unreal Engine のメインメニューで、[Edit (編集)] > [Plugins (プラグイン)] を選択し、[Virtual Production] セクションで、[Take Recorder] を見つけて、クリックしてチェックボックスをオンにします。次に、Unreal Engine を再起動します。
モーション キャプチャのアニメーションや他のライブ パフォーマンスを記録するために、オプションで [Live Link] を有効にすることができます。Unreal Engine のメインメニューで、[Edit] > [Plugins] を選択し、[Animation (アニメーション)] セクションで、[Live Link] を見つけて、クリックしてチェックボックスをオンにします。次に、Unreal Engine を再起動します。
また、記録する対象となるプレイ可能なキャラクターとアクタを持つプロジェクトも作成しておく必要があります。代わりに、サードパーソン テンプレート テンプレートを使用して作成されたプロジェクトを使用することもできます。
Take Recorder を開く
Take Recorder の使用を開始するには、[Window (ウィンドウ)] > [Cinematics (シネマティックス)] > [Take Recorder] の順にクリックします。[Take Recorder] ウィンドウが開きます。シーケンスが開かれていない場合は、新しいシーケンスが開きます。
新しいシーケンスには、Take Recorder の時間表示と一致するタイムコードに設定されている時間が表示されます。
インターフェースの概要
Take Recorder のユーザー インターフェースには、次の 4 つの主要セクションがあります。
ツールバー:Take Recorder のツールバーには、シーケンサーの統合、テイクのブラウジング、およびオプション表示を制御するいくつかのボタンやトグルが含まれます。
スレート:スレート セクションには、保留中のテイクとタイムコードの情報が表示されます。テイクの名前、テイクの番号、FPS、録画速度を指定して説明を書き込むことができます。[Start Recording (レコーディングを開始)] ボタンもあるため、テイクのレコーディングを開始することができます。
ソース:ソース セクションには、ソースを指定してシーケンスに記録するためのオプションが含まれます。ソースは、レベルにある任意のアクタや Live Link セッション、他のシーケンス、マイクロフォン、またはワールドの状態からキャプチャすることができます。
詳細:詳細セクションには、Take Recorder のユーザーおよびプロジェクト設定や、ソースの設定が含まれます。
ツールバー
Take Recorder のツールバーには、シーケンサーの統合、テイクのブラウジング、オプション表示を制御するボタンやトグルが含まれます。
名前 |
アイコン |
説明 |
---|---|---|
Clear Pending Take (保留中のテイクをクリア) |
|
現在開いているシーケンスを保留中の空のシーケンスに戻します。[Record to Sequence (シーケンスに記録)] ボタンで指定されたシーケンスがすべて削除されます。 |
Review Last Recording (最後のレコーディングを確認する) |
|
記録された最新のシーケンスを開きます。レコーディングが作成されるまでは、クリックすることができません。 |
Record to Sequence (シーケンスに記録) |
|
テイクを記録する別のシーケンスを指定することができるドロップダウン メニューを含みます。[Clear Pending Take] ボタンをクリックするとクリアすることができます。 |
Take Browser (テイク ブラウザ) |
|
保存したテイクに移動するため、コンテンツ ブラウザ ウィンドウを開きます。列表示モードを使用すると、テイクに関連するメタデータ情報が表示されます。
|
Show / Hide Sequence (シーケンスを表示 / 非表示) |
|
このテイクの設定に使用されるレベル シーケンスを表示または非表示にします。 |
Settings (設定) |
|
Take Recorder の詳細エリアにあるプロジェクトおよびユーザー設定を表示または非表示にします。 |
Return (戻る) |
|
前のテイクの確認時に、保留中のテイクのシーケンスに戻ります。 |
Slate Info Lock (スレート情報のロック) |
|
前のテイクの確認時に、スレートの変更をロックまたはロックを解除します。 |
スレート
スレート エリアには、現在保留中のテイク、現在の時間の情報とレコーディング機能が表示されます。スレートのカスタム名とテイク番号の数字は、[Slate] や [Take] のテキスト フィールドをクリックしてテキストを変更することで設定できます。スレート自体の <説明> フィールドをクリックしても同じです。
また、赤い [Record (記録)] ボタンをクリックして、新しいレコーディングを開始することもできます。Take Recorder プラグイン を有効にすると、記録ボタンがシーケンサーの再生コントロールでも使用できるようになります。シーケンサーの記録ボタンを使用すると、選択したアクタの現在のシーケンスへのレコーディングを開始することができます。その際に Take Recorder ウィンドウを開く必要はありません。もう一度ボタンをクリックするか Esc キーを押すと、レコーディングを終了して現在のテイクを保存します。
レコーディング セッション中、[Add Marked Frame (マークされたフレームを追加)] ボタンをクリックしてカスタム マークをレコーディングの現在の時間に追加することができます。
[Frames Per Second (fps)] メニューをクリックしてさまざまなフレームレートのドロップダウン リストを表示し、保留中のテイクに選択します。
[Record Speed (記録速度)] を編集することで、Unreal Engine の記録速度および全体的な時間拡張を変更することもできます。これは、アニメーションの再生を低速にすることで、エントリされたシーケンスにレコーディングする際に役立ちます。より快適なペースでアニメーションを観察し、そのペースにアニメーションを合わせることができるようになります。
ソース
ソース エリアでは、さまざまなレコーディング ソースを指定します。ここにソースのリストが表示され、レコーディングを有効または無効にすることができます。
ソースを追加するには、[Add Source (ソースを追加) (+)] ボタンを押してソースのリストから選択します。レベルの任意のアクタ、他のシーケンス、マイクロフォン、カメラ カット、ワールド / レベル情報から選択することができます。
ソース |
説明 |
---|---|
Any Actor (任意のアクタ) |
[Any Actor] をソースとして選択すると、以下の詳細を備えたアクタ ソースが作成されます。
|
Camera Cuts (カメラ カット) |
[Camera Cuts] がソースとして追加されると、Take Recorder はセッション中、すべてのアクティブなカメラを記録します。アクティブなカメラが変更されるたびに、新しいカメラ アクタとカメラ カット セクションが作成されます。 |
Level Sequence (レベル シーケンス) |
[Level Sequence] をソースとして選択すると、レコーディング セッション中に他のシーケンスを再生することができます。このソースの詳細エリアで、再生するシーケンスをいくつでも指定することができます。シーケンスの再生は、ゲームプレイやシミュレーション セッション内のレコーディング中にのみサポートされます。 |
Level Visibility (レベルの可視性) |
[Level Visibility] のソースは、レコーディングの開始時にすべてのレベルの可視性の状態を記録します。レコーディング セッション中の変更は記録されません。 |
Live Link |
Live Link は、現在アクティブな任意の Live Link セッションに接続します。Live Link セッションは、 [Subject Name] 詳細フィールドに指定する必要があります。[+ Source] > [From Live Link] の順に移動すると、セッションを直接選択するところまでショートカットできます。
|
Microphone Audio (マイクロフォン音声) |
[Microphone Audio] を選択すると、レコーディング セッション中にデバイスのマイクロフォンを記録することができます。完了すると、記録された音声を含むサウンド ファイルが作成されます。詳細エリアには、音声レコーディング、トラック名、レコーディング ディレクトリの設定が含まれます。
|
Nearby Spawned Actors (付近のスポーンされたアクタ) |
[Nearby Spawned Actors] ソースは、プレイヤーの位置から指定した半径内にスポーンしたアクタをすべて、テイクに記録します。詳細パネルには、範囲の定義とフィルタリングを指定するオプションが含まれます。フィルタリングを使用する場合、フィルタリングされたアクタのみがテイクに追加されます。ゲームプレイ セッション中にスポーンするアクタのみが追加されます。すでにスポーンしているアクタは、この影響を受けません。
|
Player (プレイヤー) |
[Player] をソースに選択すると、プレイヤー アクタを記録します。このソースの使用は、プレイヤーが動的にスポーンされ、ゲームプレイが開始するまでレベルのアクタとして存在しない場合に役立つ可能性があります。 |
World (ワールド) |
[World] がソースとして追加されると、レベルにあるものすべてが記録されます。Spawn Emitter (スポーン エミッタ) 機能を使用して作成されたパーティクルは、このソースの使用時にのみキャプチャされます。 |
また、ソース リストはプリセットとして保存することができ、後で再利用することができます。そのためには、[Presets (プリセット)] ボタンをクリックして [Save As Preset (プリセットとして保存)] を選択します。保存したプリセットは、[Presets] メニューに一覧表示されます。
[Revert] ボタンをクリックすると、リストからすべてのソースを削除、またはプリセットのセレクションを元に戻すことができます。
Details (詳細)
Take Recorder の詳細エリアには、ソースや Take Recorder のプロジェクトのプロパティおよび設定が含まれています。ツールバーの [Settings] ボタンをクリックすると、有効にすることができます。ソースのデフォルト設定をここで指定すると、ソースに伝播されます。ただし、個別のソースはプロジェクトからカスタマイズすることができます。
他のプロジェクトに関連する設定は次のとおりです。
名前 |
説明 |
|
---|---|---|
Take Recorder |
||
Root Take Save Dir (ルート テイク保存ディレクトリ) |
記録されたテイクを保存するルート ディレクトリ。テイクの記録時に置換される次の形式トークンのいずれかをサポートします。
|
|
Take Save Dir (テイク保存ディレクトリ) |
保存されたテイクをさらに調整する、ルートに対するサブディレクトリ。 |
|
Default Slate (デフォルト スレート) |
Take Recorder を開くときのプロジェクトのスレートのデフォルト名。 |
|
Recording Clock Source (レコーディングのクロック ソース) |
レコーディング時に使用するクロック ソース。次のオプションから選択できます。
|
|
Start at Current Timecode (現在のタイムコードで開始) |
これを有効にすると、スレートに表示されている現在の日付のタイムコードでレコーディングが開始します。有効ではない場合、レコーディングは時間「0」で開始します。 |
|
Record Timecode (タイムコードを記録) |
これを有効にすると、タイムコード メタデータをすべてのアクタのトラック セクションすべてに書き込みます。この情報は、トラック セクションを右クリックして [Properties (プロパティ)] > [Section (セクション)] > [Section Range Start/End (セクション範囲の開始点 / 終了点)] に移動すると確認することができます。 |
|
Record Sources Into Sub Sequences (ソースをサブ シーケンスに記録) |
これを有効にすると、各アクタを独自のサブシーン トラックに記録し、アクタごとにさまざまなテイクを交換できるようになります。このプロパティを無効にすると、すべてのアクタが 1 つのシーケンスに記録されます。 |
|
Record to Possessable |
これを有効にすると、すべてのアクタが Spawnable タイプの代わりに Possessable タイプのトラックに記録されます。これは、アクタのソースごとに上書きできます。 |
|
Default Tracks (デフォルトのトラック) |
アクタ クラスとそのコンポーネントを指定すると、それらのコンポーネントはレコーディング セッション中、常にキャプチャされます。 |
|
Show Notifications (通知を表示) |
レコーディング中の Take Recorder の通知を表示または非表示にします。
|
|
ムービー シーンのテイク設定 |
||
Movie Scene Take Settings (ムービー シーンのテイク設定) |
時間、分、秒、フレーム、サブ フレーム、スレートのプロジェクト名を指定します。これは、アクタの テイク トラック に作成されたトラックの名前に影響を及ぼします。 |
|
Animation Recorder |
||
Animation Track Name (アニメーション トラックの名前) |
レコーディングされたアニメーション トラックの名前。 |
|
Animation Asset Name (アニメーション アセットの名前) |
保存されたアニメーション シーケンスの名前。 |
|
Animation Sub Directory (アニメーション サブ ディレクトリ) |
アニメーション シーケンスが保存されるサブディレクトリの名前。これが空の場合、シーケンスは [Root Take Save Dir] に保存されます。 |
|
Remove Root Animation (ルート アニメーションの削除) |
有効になっている場合、スケルタルメッシュはトランスフォーム トラックに基づいて動きます。無効になっている場合、モーションはアニメーション シーケンスのルート ボーンで発生します。 |
|
Timecode Bone Method (タイムコード ボーン メソッド) |
スケルタルメッシュのタイムコード の記録のためのコントロール。 |
|
World Recorder |
||
Record World Settings (ワールド セッティングをレコーディング) |
シーケンス内の World Settings アクタを記録するかどうか (一部のプロジェクトではワールド サウンド エフェクトをアタッチするためにこれが使用される)。 |
|
Autotrack アクタ |
明示的にレコーディングされていないすべてのアクタのバインディングとトラックを追加します。 |
|
ユーザー設定 |
||
Maximize Viewport (ビューポートを最大化) |
レコーディング中に 没入モード を有効にします。 |
|
Countdown (カウントダウン) |
[Record] ボタンが押された後、レコーディング セッションが開始するまでの Take Recorder がカウントダウンする時間 (秒単位)。 |
|
Engine Time Dilation (エンジンの時間拡張) |
レコーディング セッションに適用される時間拡張の量。 |
|
Stop at Playback End (再生終了時に停止) |
レコーディングは、シーケンスの終了時間に達すると終了します。新しいシーケンスでは、デフォルトの終了時間は 5 秒です。 |
|
Remove Redundant Tracks (冗長なトラックを削除) |
デフォルトでは、Take Recorder はソースからのすべての可能なトラックを記録します。このオプションが有効になると、変更のあるトラックのみがレコーディングによって保持されます。 |
|
Reduce Keys Tolerance (キーの削減の許容差) |
レコーディング中に作成されたキーフレームを削減するときに使用する許容範囲。数値が大きいほど、許容範囲内の値に差異がある場合に削除されるキーフレームの数が増加します。 |
|
Save Recorded Assets (レコーディングしたアセットを保存) |
レコーディングが完了すると、記録されたシーケンスとサブシーケンスを自動的に保存します。これらのアセットは、保存しないと失われます。 |
|
Auto Lock (自動ロック) |
テイクをロックし、レコーディング セッション終了後の編集を防ぎます。テイクは、シーケンサー ツールバー のロック ボタンを切り替えるとロックを解除することができます。 |
|
Auto Serialize (自動シリアライズ) |
レコーディング終了時に一度にすべてを記録するのではなく、記録しながらキャプチャ データを格納します。これは実験的な機能です。十分なテストが行われていないため、自己責任においてご使用ください。 |
|
Preset Save Location (プリセット保存場所) |
ソース プリセット ファイルを保存するディレクトリ。 |
レコーディングの例
Take Recorder は、エディタやゲームプレイ コンテキストの両方でさまざまなソースから記録するために使用することができます。次の例では、Take Recorder でアクションを記録する方法を示しています。
エディタ
Take Recorder は、エディタ ビューポートでのアクタの操作を記録するために使用することができます。
はじめに、記録するオブジェクトを ソース リストに追加する必要があります。ビューポートでアクタを選択し、[+ Source (ソース)] > [From Actor (アクタから)] > [Add 'Sphere' (「球形」を追加)] の順にクリックします。
次に、[Record (記録)] をクリックします。カウントダウンと通知が表示されます。表示が「0」になると、シーケンスが記録を開始します。ビューポートでアクタを選択して動かし、そのエディタ モーションをキャプチャします。完了したら、[Stop (停止)] をクリックします。
[Review Last Recording (最後のレコーディングを確認する)] ボタンをクリックしてレコーディングを表示します。
シーケンサーで [Play (再生)] をクリックして、アクタの記録されたエディタの動きを確認します。
エディタ オブジェクトの代わりに、重複するアクタがアクションを実行している場合があります。これは、アクタの記録タイプが Spawnable として記録するように設定されているためです。Take Recorder の詳細で Record to Possessable プロパティに変更すると、このソース オブジェクトまたはプロジェクト全体で設定を変更することができます。Possessable にして記録すると、元のアクタのアニメーションのみが表示されます。
ゲームプレイ
Take Recorder は、レベルでのプレイヤーの動きやアニメーションなどのゲームプレイ アクションを記録するために使用することもできます。
Take Recorder から、[Add Source (ソースを追加)(+)] > [Player (プレイヤー)] の順に選択し、プレイヤーをソース リストに追加します。
次に、Unreal Engine のツールバーで [Play] ボタンをクリックして プレイ イン エディタ セッションを開始します。
セッションが開始したら、[Record] ボタンをクリックします。カウントダウンが「0」になると、シーケンスが記録を開始します。レベル内でキャラクターを動かし、アニメーションをキャプチャします。完了したら、[Stop (停止)] をクリックするか、[Esc] を押します。
[Review Last Recording (最後のレコーディングを確認する)] ボタンをクリックしてレコーディングを表示します。
シーケンサーで [Play] をクリックして、記録したプレイヤーのアニメーションを確認します。
サブシーンとアセットを確認する
サブシーン セクションをダブルクリックしてアクタのシーケンスを開くと、トランスフォームやアニメーションなど、記録されたキーフレームを表示することができます。
[Take Browser] をクリックするとコンテンツ ブラウザが開き、保存したテイクとサブシーンに移動することができます。
Record Timecode (タイムコードを記録)
Take Recorder は、タイムコードのメタデータを記録するために使用することもできます。シーン、個々のアクタ、および骨格メッシュボーンを基準としたタイムコードを記録するためのコントロールを提供します。このようなタイムコードのレコーディング方法は、他のタイムコード値を維持しながら、同じテイク内の他のパフォーマンスを基準としてパフォーマンスへの変更を許可する場合に役立つ場合があります。
Take Recorder を使用してタイムコードを記録するには、[Record Timecode] が有効になっていることを確認してください。
カメラおよび非スケルタルメッシュ アクタの場合、記録されたタイムコード情報は、サブシーケンス内の [Take Track (テイク トラック)] に表示されます。
スケルタルメッシュのタイムコード
スケルタルメッシュを使用すると、Take Recorder ではタイムコードを記録および保存する場所にいくつかのオプションを利用できます。[Animation Recorder] > Timecode Bone Method (タイムコード ボーン メソッド) の下にある**Bone Mode** プロパティには、次のオプションが用意されています。
ボーン モード |
説明 |
---|---|
All (すべて) |
スケルトン内のすべてのボーンのタイムコード メタデータを アニメーション属性 として記録します。 |
Root (ルート) |
スケルトン階層内の最上位のボーンのタイムコード メタデータを記録します。多くの場合、これは「ルート」ボーンになります。 |
User Defined (ユーザー定義) |
Bone Name プロパティで指定されているボーンのタイムコード メタデータを記録します。 |
記録後は、スケルタルメッシュのタイムコード データを [Attributes (属性)] トラックの下の [Animation Sequence (アニメーション シーケンス)] タイムラインで表示できます。