.chan .movファイルからアニメーションデータのインポート


Terragen 4は、".chan"および".mov"ファイルからモーションおよびカメラデータをインポートする事が出来ます。".chan"ファイルはHoudiniとNukeが対応するエクスポートデータであり、".mov"ファイルはMayaが対応するエクスポートデータです。また、多くの場合、".chan"ファイルをエクスポートする事の出来る他アプリケーション用プラグインやスクリプトもあります。このドキュメントでは今後「chan」は".chan"ファイルと".mov"ファイルの両方を引用語として使います。

chanファイルのTG4の推奨フォーマットは、8チャンネルNuke .chanフォーマットです。これは、デフォルトのインポート設定で最も効果的なフォーマットです。そのフォーマット詳細については、下記の「chanファイルの作成」の章を参照して下さい。

アニメーションボタンからのインポート

chanファイルについて議論する前に、パラメータのアニメーションボタンを使用してファイルからアニメーションデータをインポートする事に言及しておく価値があります。アニメーションボタンには、ポップアップメニューに、"Import animation file..."という項目があります。
これは、chanファイルと同様の単純なテキストファイルからアニメーションデータをインポートするために使用出来ますが、重要な点は、ファイルから読み取られた値は、chanファイルの場合のように、Houdini座標空間ではなくTG4座標空間にある事です。

ファイルフォーマットも同様です。パラメータのタイプに応じて、ファイルの各行から2〜4個の値が読み込まれます。最初の値はフレーム番号でなければなりません。値はスペースで区切る必要があります。

chanファイルのインポート

chanファイルからデータをインポートする方法はいくつかあります。

『Camera』ノード
『Camera』ノードには、最も設定可能なchanインポートオプションがあります。「Import」タブから、chanファイルをインポートする事が出来ます。また、カメラのビューデータだけでなく、位置データや回転データをインポートする事も出来ます。

『Camera』ノードには、chanファイルの解釈方法に関する規則がいくつかあります。
  • ファイルの拡張子が.chanの場合
    • ファイルは1行に7、8または10個の値を持つ必要があります。
    • ファイルが1行に7個の値を持つ場合、フレーム番号のないchanファイルとみなされます。この場合、ファイル内の行番号がフレーム番号として使用されます。 最初の6つの値は、位置データと回転データです。7番目の値は垂直視野です。
    • ファイルが1行に8個の値を持つ場合、最初の値はフレーム番号です。次の6つの値は、位置データと回転データです。8番目の値は垂直視野です。
    • ファイルが1行に10個の値を持つ場合、最初の値はフレーム番号です。次の6つの値は、位置データと回転データです。8番目の値は焦点距離、9番目の値はアスペクト比、10番目の値は水平開口です。
  • ファイルの拡張子が.movの場合
    • ファイルは1行に6~7個の値を持つ必要があります。
    • ファイル内の行番号がフレーム番号として使用されます。
    • 最初の6個の値は位置データと回転データです。7個の値がある場合、7番目は垂直視野です。

『Camera』ノードには、カメラビューデータをインポートするためのいくつかのオプションがあり、ビューデータの解釈方法に影響します:
  • Import vertical FOV: チェック時、ファイルフォーマットに応じて各行の7番目または8番目の値を垂直視野として読み込まれます。
  • Import focal length: チェック時、ファイルは1行に10個の値を持つ必要があり、8番目の値は焦点距離として、9番目の値はアスペクト比として、10番目の値は水平開口として読み取られます。
  • Import focal length to FOV: チェック時、値はインポート焦点距離毎に読み込まれますが、視野パラメータもアニメートされます。
  • FOVをインポートしない: 視野データはファイルから読まれません。
『Camera』ノードを使用してchanファイルをインポートする方法の詳細については、『Camera』ノードの「Import」タブを参照して下さい。

他のノード
いくつかのノードには、[Import chan file]ボタンがあります。例えば、『Tgo reader』ノードは、「Transform」タブに[Import chan file]ボタンがあります。このボタンはchanファイルを読み込み、ファイルデータを使用して位置と回転パラメータをアニメートします。それらのパラメータは、ノードに依存します。『Tgo reader』ノードの場合は、"Translate"パラメータがアニメートされていますが、『Lake』ノードでは"Center"パラメータが読み込まれアニメートされています。一部のノードにはアニメートする回転パラメータがない場合があり、その場合は位置のみがアニメートされます。

各行から読み取られる最初の値はフレーム番号です。次の3つの値は位置の設定に使用され、次の3つの値は回転の設定に使用されます。1行に7個の値が必要です。

座標空間

オブジェクトの[Import chan file]ボタンと『Camera』ノードの「Import」タブからインポートされたモーションデータの場合、データはHoudiniの座標空間上のものとみなされているため、インポート時にTG4座標空間に変換されます。Houdiniの座標空間とTG4の比較は次の通りです:
  • X (TG4と同じ)
  • Y (上向き、TG4と同じ)
  • Z (画面外、TG4と逆/反対)
  • Xを回す (上向き、TG4と同じ)
  • Yを回す (反時計回り*向き, TG4と逆/反対)
  • Zを回転(左横傾斜, TG4の逆/反対)

"向き"はマップ上の向きとして見ると反時計回りですが、前向きにY軸に沿って見ると実際は時計回りです。


chanファイルの作成

chanファイルは単純なテキストフォーマットです。基本的には、行ごとに複数の数値があり、各値はスペースで区切られています。インポート時に値がどのように解釈されるかは、ファイルのインポート方法によって異なります。スクリプトやスプレッドシートなどからアニメーションデータを作成したい場合、chanファイルは簡単に作成する事が出来ます。

『Camera』ノードで使用するchanファイルを作成する場合、適切なフォーマットは8チャンネルのNuke .chanの変異型です。このフォーマットでは、次のように1行に8つの値があります。

"1 -0.703427 0.747595 -0.791473 -48.4942 161.026 6.02732 57.840534711"
  • フレーム番号: 1
  • 座標 X: -0.703427
  • 座標 Y: 0.747595
  • 座標 Z: -0.791473
  • 回転 X: -48.4942
  • 回転 Y: 161.026
  • 回転 Z: 6.02732
  • 垂直視野: 57.840534711
各値はスペース(空白)で区切られています。
[Import chan file]ボタンを使用して、オブジェクトなどをアニメートするためのchanファイルを作成する場合は、1行に7個の値が必要です。これらは上記の最初の7個の値と同じです。

データはHoudini座標系にあるとみなされているため、インポート時にはTG4座標系に変換される事に留意して下さい。詳細については、上の座標空間の章を参照して下さい。