タイムラインによるレンダリング
ここではModulo Kineticのユニークなコンセプトとなるタイムラインの使い方について解説します。
タイムラインは一般的に、映像を再生したり3Dアニメーションを動かす等、通常はプログラムしたショーを時間軸で再生する目的に使用されますが、Kineticにおけるタイムラインは、そこに配置されたエレメントを、プレビューエリアで見ることのできるピクセルワークスペースにレンダリングするという使い方があります。
例えば3D空間にあるカメラのビューポイントを映像としてピクセルワークスペースに配置したり、3Dオブジェクトのマテリアルに貼り付けられた映像コンテンツを3Dオブジェクトそのものを、タイムラインに置くことで、プレビューエリアに映像を表示することなどができます。
カメラのビューポイント
3D空間に配置したバーチャルカメラの視点です。このカメラは通常は3Dビュー内でビューポイントを切り替えるため、またそのビューをピクチャーとしてエクスポートしたりする際に使用しますが、この3Dシーンに追加したカメラをタイムラインにドラッグ&ドロップすると、そのカメラのビューが平面的にプレビューエリアにレンダリングされます。
このカメラから見える視点をプレビュー上に配置した際、タイミラインにあるプロパティー(ポジション)を変更することで、他のレンダーサーフェースに被らない位置へ移動ができます。他のレンダーサーフェースの邪魔にならない位置へ移動したら、新しいレンダーサーフェースでその画面を切り取り、V-Nodeの物理出力として利用ができます。
3D空間にあるビルディングの前にカメラを配置
3Dシーン内のカメラをタイムラインにドラッグドロップするとカメラの視点がプレビューに表示されます。位置はタイムラインのポジションプロパティーで制御します。
カメラビューをピクセルワークスペースにレンダリングした後は、その同じ位置にレーダーサーフェースを配置することで、その映像をV-nodeから出力することができます。このようにタイムラインは3Dカメラの映像を平面のピクセルワークスペースに配置することができ、プレビューにレンダリングされた映像はRender-surfaceを通じてV-nodeの出力にすることができます。
3Dカメラの映像(ビューポイント)をレンダリングできるというこの機能は、XRスタジオの制作などに利用します。
外部のリアルカメラと3DカメラをD1プロトコルやstype等のカメラトラッキングにより同期することで、3D空間のセットとリアルの人物の映像をコンポジットしながら、カメラの動きに合わせて視点が移動するため、バーチャルとリアルの映像がナチュラルにコンポジットされ、カメラの動きに違和感なく馴染むことができます。
さらには、3Dカメラの映像をプレビューに配置できることで、KineticではこれをRender surfaceで切り取ることができる。それはつまりバーチャルカメラの映像であっても、リアル出力として取り出すことができるという意味です。単にバーチャルとリアルの映像を合成するだけでなく、それらを物理的に取り出せて、プロジェクターやLEDスクリーン、モニターに表示ができます。
3Dオブジェクトをレンダリング
3D空間内のオブジェクト(3dメッシュ)をタイムラインに配置する意味は、3D空間内にあるプロジェクターから照射された映像がそれらオブジェクトに映り、その歪みなども含めて個々のオブジェクト面を平面に切り出すことで、リアルなプロジェクターにそれら映像を切り出せる点にあります。
具体的には、これは没入感を伴うルームマッピングなどの演出に利用されます。複数のプロジェクターやLEDスクリーンで構成された面に360°の視野角を持った映像をマッピングするようなケースです。
上記のようにタイムラインに3D空間のオブジェクト面(3Dメッシュ)がドラッグ&ドロップされると、プレビュースクリーンにはそれぞれのスクリーンの映像がレンダリングされます。(ポジションはタイムラインにあるプロパティーで調整)
下段にあるレンダーサーフェースの位置にある映像が3Dプロジェクターで照射される元の映像であり、上段がその映像を3Dプロジェクターにマップした状態の映像になります。またそれぞれのスクリーンの上部に配置された名称(テキスト)もまたメディアリスト内で作成されたテキストをタイムラインに置くことでプレビュー内にレイアウトされます。