コンテンツにスキップ

Shot Recorder デバイス

Shot Recording システムを使うと、Designer 内からパラメーターを記録・エクスポートし、ポストプロダクションワークフローで使用できるようにできます。

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

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

Shot recorder(YouTube でホスト)

ShotRecorder デバイスの主な構成要素は次のとおりです。

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

ParameterCollection は、いくつかの異なるコレクションを作成し、記録するパラメーターを選択する際にそれらを切り替えられるようにするリソースです。ParameterSources の配列を含み、それぞれが 1 つの parameter(記録するフィールドまたはプロパティ)です。

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

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

ParameterSources は、複合型(たとえば Vec は x、y、z を含み、Resource はそのフィールドを含むことができます)のためにフィールド ParameterSources のリストを含みます。複合型の場合、ParameterSource の値はそのフィールドの値を設定することで求められます。一方、基本型の値はエクスプレッションシステムを使用して設定され、float または string を返すことができます。エクスプレッションシステムの制限、またはエクスプレッションでアクセスできない特定のフィールドは、ショット記録システムの制限にもなります。

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

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

記録用に ParameterCollection にパラメーターを追加するには

Section titled “記録用に ParameterCollection にパラメーターを追加するには”
  1. ParameterCollection エディターを開きます。
  2. Sources の + ボタンから UI の任意のフィールドに Alt+ドラッグして、パラメーターソースとして追加します。
  3. カメラトラッキングコレクションなど、いくつかの ParameterCollection が便宜上自動作成されます。これらや、その他のユーザー作成の ParameterCollection をエディターの ParameterCollections リストに追加して、パラメーターをより小さな個別のコレクションに整理できます。
  4. パラメーターの右側にある矢印をクリックして展開し、そのフィールドを表示します。Resource パラメーターはデフォルトではフィールドが追加されませんが、パラメーターの右側にあるプラスボタンをクリックして追加できます。
  5. TimeCodeTransport を使用して記録内のタイムコードを参照するために、ショットレコーダー内でタイムコードをセットアップできます。
  1. 記録を開始するには、Disengaged と表示されたボタンをクリックしてレコーダーを engage し、記録を開始します。
  2. 同じボタンをもう一度クリックすると記録が停止します。テイク番号は自動的に増加しますが、手動で変更することもできます。
  3. あるいは、http://localhost/docs/v1/index.html に記載されている API コマンドを使用して、外部から記録を開始・停止できます。
  4. Slate は Recordings セパレーターの下に一覧表示されます。スレートを右クリックすると、そのスレートのテイクが表示されます。
  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」があり、そこにスレートがあります。スレート内には、選択した形式での記録に加えて、.shot 記録があります。

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