コンテンツにスキップ

Shot Recorder のセットアップ

Shot Recording システムを使用すると、ユーザーは Designer 内からパラメーターを記録・エクスポートし、ポストプロダクションのワークフローで使用する準備を整えられます。

Shot Recording システムは、GUI に表示される任意のフィールドやプロパティを記録できるようにする汎用的なシステムとして設計されています。ユーザーは、記録したいパラメーターのコレクションを独自に構築できます。さらに、このシステムには、カメラトラッキングなどのよく使用されるパラメーターセットを記録するための、迅速で簡単なワークフローがあります。

Designer 内で再生されるデバイスレコーディングとは異なり、ShotRecorder Device によって記録されたデータは、外部アプリケーションで使用できます。

ShotRecorder Device の主な構成要素は以下のとおりです。

  • 記録するパラメーターを含む ParameterCollection
  • 記録されたパラメーターにタイムスタンプを割り当てるために使用される TimecodeTransport
  • 記録およびエクスポートの設定。

ParameterCollection は、ユーザーが複数の異なるコレクションを作成し、記録するパラメーターを決める際にそれらを切り替えられるようにするリソースです。これには ParameterSources の配列が含まれ、その各々が 1 つの parameter(記録するフィールド/プロパティ)です。

ParameterCollections には、ネストされた ParameterCollections の一覧を含めることもでき、ユーザーはモジュール式にコレクションを構築し、それらすべてを記録に使用する 1 つの外側のコレクションに追加できます。

一部の ParameterCollections は、よく必要とされるパラメーターのセットとともに自動作成されます。例えば、各 Camera は、カメラトラッキングデータを再現するためによく必要とされるすべてのパラメーターを含む tracking コレクションを自動作成します。同様に、各 SpatialMap も似たようなトラッキング ParameterCollection を作成します。主な違いは、これが空間マップ内のワールドゼロポイントのオフセットを考慮する点です。また、MR set を使用している場合は、現在アクティブなカメラを参照します。

ParameterSources には、複合型(例: Vec は x、y、z を含み、Resource はそのフィールドを含むことができる)のためのフィールド ParameterSources の一覧が含まれます。複合型の場合、ParameterSource の値は、そのフィールドの値を populate することで求められます。対照的に、基本型の値は式システムを使用して populate され、これは float または string を返すことができます。式システムのあらゆる制限、または式でアクセスできない特定のフィールドは、Shot Recording システムの制限にもなります。

Shot Recording システムのセットアップ

Section titled “Shot Recording システムのセットアップ”
  1. 現在の Device Manager で ShotRecorder Device を作成します。このデバイスが Shot Recording システムのマスターになります。
  2. 現在のショットの Slate に名前を付けます。
  3. Parameters フィールドで新しい ParameterCollection を作成し、希望するパラメーターを追加します。ParameterCollections は、記録してデータを取り出したいさまざまなパラメーター(例: カメラトラッキング、MR set など)の集合です。
  4. 希望する Timecode プロバイダーを Timecode フィールドに追加します。
  5. Take SnapshotTake Screenshot オプションを選択すると、各テイクの終了時にプロジェクトのスナップショットやスクリーンショットを撮影できます。

記録のために ParameterCollection にパラメーターを追加する

Section titled “記録のために ParameterCollection にパラメーターを追加する”
  1. ParameterCollection エディターを開きます。
  2. Sources の + ボタンから UI の任意のフィールドへ Alt+ドラッグして、それをパラメーターソースとして追加します。
  3. カメラトラッキングコレクションなど、いくつかの ParameterCollections が便宜上自動作成されます。これらや、その他のユーザー作成の ParameterCollections は、エディター内の ParameterCollections 一覧に追加でき、パラメーターをより小さな別々のコレクションに整理できます。
  4. パラメーターの右側にある矢印をクリックすると、それを展開してフィールドを表示できます。Resource パラメーターはデフォルトではフィールドが追加されませんが、パラメーターの右側にあるプラスボタンをクリックすることで追加できます。
  5. TimeCodeTransport を使用して記録内でタイムコードを参照するために、Shot Recorder 内でタイムコードをセットアップできます。
  1. 記録を開始するには、Disengaged と表示されているボタンをクリックして、レコーダーをエンゲージし、記録を開始します。
  2. 同じボタンをもう一度クリックして、記録を停止します。テイク番号は自動的にインクリメントされますが、手動で変更することもできます。
  3. あるいは、http://localhost/docs/v1/index.html に記載されている API コマンドを使用して、外部から記録を開始・停止できます。
  4. Slates は Recordings セパレーターの下に一覧表示されます。slate を右クリックすると、その slate のテイクを確認できます。
  1. Export タブで希望する形式を選択します。
  2. Export all recordings をクリックするか、Recordings タブで記録を個別にエクスポートします。
  3. Auto-export を選択すると、各テイクの終了時に選択した形式で自動的にエクスポートします。
  4. Export comparison table をクリックすると、各記録の各パラメーターの最初の値を比較する CSV テーブルをエクスポートします。
  5. 必要に応じて、各記録のスナップショットやスクリーンショットの撮影を有効にすることもできます。

記録は現在、以下の形式でエクスポートできます

Section titled “記録は現在、以下の形式でエクスポートできます”
  • JSON: 各タイムスタンプの変更されたパラメーター値を含む、.shot ファイルに似たコンパクトな JSON 表現。
  • CSV (Compact): 各タイムスタンプの変更されたパラメーター値のみを含む、コンパクトな CSV 表現。
  • CSV (Dense): 各タイムスタンプの各パラメーターのすべての値を含む、密な CSV 表現。
  • FBX: 記録されたすべてのオブジェクトのメッシュとポーズ情報(位置、回転、スケールなど)を、利用可能な場合に含む FBX ファイル。FBX 仕様内で表現されないその他のプロパティは、カスタムプロパティとして記録されます。

output という新しいサブフォルダーがプロジェクト内に作成されます。その中に shots があり、そこに slate が入ります。slate 内には、選択した形式での記録に加えて、.shot 記録が入ります。

Expression variables を使用した Shot Recorder device でのタイムコードの記録

Section titled “Expression variables を使用した Shot Recorder device でのタイムコードの記録”

Expression variables と Shot Recorder device を使用したタイムコードの記録ワークフローは、こちら にあります。

  • Shot Recording システムは、Designer からデータを書き出すことのみを行います。記録を Disguise に直接読み込んでデータを再生する機能はありません。それにはデバイスレコーディングを使用すべきです。
  • Shot Recording システムとデバイスレコーディングシステムは、相互に影響しません。両方を同時に使用することは可能です。
  • 現在、記録されたすべてのカメラトラッキングデータを Unreal Engine に取り込んでショットを再レンダリングする簡単な方法はありません。Epic は、カメラの位置、回転、FoV をインポートできる FBX ファイルのインポートとエクスポートのワークフローをこちらで概説しています。