検索
Start typing to search...

AximmetryとUnreal Engineを組み合わせたRendering

Author: Aximmetry

はじめに

このドキュメントでは、AX Scene Editor を使用してシーンをレンダリングし、拡張現実(AR)シーンまたは他エンジンの要素を重ね合わせるプロセスについて説明します。

Aximmetry は Unreal と同様にシーンや AR 要素をレンダリングできます。Aximmetry のネイティブ レンダリング エンジン内でシーンを作成する方法については、ネイティブ エンジンでのコンテンツ作成ドキュメントを参照してください。AximmetryでAR要素を作成するには、その後Aximmetryシーン設定(AR)ドキュメントに進んでください。

注記:複合レンダリングは複数マシンを使用しても実現可能であり、パフォーマンス負荷の分散・軽減に効果的な戦略となります。このような設定の実装に関心のある方は、別々のマシンで異なるプロダクションを結合するドキュメントを補足資料として、プロセスをガイドする参考資料とみなすことができます。

Aximmetry AR要素を用いたUnrealプロジェクト

AX Scene Editorでスタジオシーンを作成し、Aximmetryエンジンでレンダリングされた3D要素で強化したいと想定します。

AX Scene EditorでAximmetryカメラ(例:Greenカメラ(仮想、1-3ビルボード))を追加し、ドキュメントに従ってAximmetryで設定します。

次に、Aximmetryでレンダリングされた要素をカメラコンパウンドのARオーバーレイピンに接続します。例えば、[Common_Studio]:Compounds\Render\Render_Generalコンパウンドのいずれかをレンダリングカメラとして使用します。これらのコンパウンドは、カメラコンパウンド(VirtualCam_Unreal_3-Cam)から自動的にカメラデータを受け取ります。

その後、Aximmetryでレンダリングされた要素のルートScene NodeをRender_Generalに接続します:

Aximmetryでレンダリングされた要素は、Unrealシーン上に表示され、カメラが移動すると同期して移動します(Unrealシーンに対して正確に位置決めされている場合)。UnrealからAximmetryの座標系への位置変換には、[Common_Studio]:Compounds\Tools\Unreal_Transformation.xcompコンパウンドを使用します。

グリーンカメラにおけるビルボード位置

ビルボードのレイヤー順序を調整するには:

  • in Virtual Camera compoundsでは、CAMERASコントロールボードに移動し、CAMERA & RENDER SETUPパネルを選択します。
  • in Tracked Camera compoundsでは、INPUTSコントロールボードに移動し、SCENEパネルを選択します。

ビルボードをAximmetry要素の前に表示するには、ARオーバーレイ 背面をオンに設定します:

注記:Aximmetryは上記画像の様々な色でボックスをレンダリングします。

ビルボードをAximmetry要素の後ろに表示するには、ARオーバーレイ 背面をオフに設定します:

重要: バーチャル表示を許可を有効にすると、ARオーバーレイ 背面の設定に関わらず、Aximmetry要素は常にビルボードの上に表示されます。

LEDウォールカメラにおけるタレント位置

ARオーバーレイパネルでLEDに表示をオンにすると、ARレンダリングされたグラフィックがLEDウォールに表示され、AR要素がタレントの後ろに配置されます。逆に、この設定を無効にすると、ARコンテンツはタレントの前に表示されます。これは、ARコンテンツがLEDウォールに表示される映像と統合されるのではなく、カメラのライブフィード上にブレンドされるためです:

複雑な例

Aximmetryパッケージには、Aximmetryの3D機能を実証する様々なコンパウンドと例が含まれています。これらのコンパウンドはバーチャルプロダクションに有用です。

これらのコンパウンドを簡単に修正し、AR要素として統合できます。例えば、[チュートリアル]:Extrusion\Text_Extrusion_Curved.xcompコンパウンドを利用しましょう。

このコンパウンドをフローエディターにドラッグ&ドロップし、アンリンクします:

次に、コンパウンドのグループ化を解除します:

その後、そのルートシーンノードをRender_Generalコンパウンドに接続します:

注:コンパウンドの位置はルートシーンノードから変更可能です。

これらの手順を完了すると、Unrealコンテンツ上に重ねて表示されるはずです。ただし、Text_Extrusion_Curvedコンパウンドの場合、黒い床(反射)がUnrealコンテンツを覆い隠していることに気付くでしょう。

この問題は、Mirror_Normシェーダーモジュールを透明に設定することで修正できます。そのTransparencyをAddに変更し、Colorをblackに設定することで実現できます。

ただし、反射は依然としてRender_Generalカメラではなく旧カメラを使用します。これを修正するには、ミラーカメラのBound ToピンをRender_GeneralのBindingsピンに再配線します:

その後、例えばText_Curvedコンパウンドに表示されるテキストを変更できます:

上記の手順に従うと、最終的に下図のような画像が得られるはずです。ここでは、球体、3Dテキスト、およびそれらの反射がAximmetryによってレンダリングされています:

注記:上記画像では、ビルボードには反射がなく、Aximmetryでレンダリングされた要素のみに反射が適用されています。ビルボードの反射を設定するには、Unrealの反射ガイドラインに従ってください。

注:反射シェーダー(Mirror_Norm)は、反射の滑らかさを抑えるために法線マップを使用しています。Unrealでの反射処理では、シェーダーのNormal Mapピンをリセットするか、同様のアプローチを実装することが望ましい場合があります。

AximmetryシーンとUnreal ARプロジェクト要素の統合

Aximmetryでスタジオシーンを作成し、Unreal Engineでレンダリングされた3D要素で補完したい場合を想定します。ここでは、Unrealの拡張現実(AR)要素をAximmetryシーンに統合する手順を説明します。

まず、AX Scene EditorでUnreal ARプロジェクトを作成します。Unrealシーン設定(AR)ドキュメントに従ってUnreal ARカメラを設定してください。

LEDウォールカメラ

LEDウォールカメラを扱う場合の設定は、Unrealドキュメントの「AR in GreenおよびLEDウォールプロジェクト」に記載されている内容と同一です。これは、AximmetryとUnrealプロジェクトの双方が、Aximmetry内で同じLEDウォールコンパウンドを使用しているためです。

注記:Aximmetryでレンダリングされたシーンに対するAR要素の位置を変更するには、AX Scene Editor要素のルートオブジェクトの変換をエクスポートする必要があります。AX Scene Editorでルートオブジェクトを作成するには、AX Scene Editorのアウトライナーパネル内で全要素を単一のアクターにグループ化します。

グリーンカメラ

Aximmetryにおいて、AX Scene EditorのUnreal ARグラフィックスをグリーンカメラと統合する既成のソリューションは存在しません。ただし、Unreal ARグラフィックスをビルボードとシーンの前面に配置するロジックを構築することは比較的容易です。

これを実現するには、[Common_Studio]:Camera\ARCam_Unreal\Elements\ARU_Overlay.xcomp コンパウンドと [Common]:Compounds\Utilities\Blend_Linear.xcomp コンパウンドが、Unreal AR ビデオを処理し、Aximmetry でレンダリングされたビデオにオーバーレイする必要があります。Blend_Linear コンパウンドでは、Linear ピンの有効化を強く推奨します。Unreal Engine はアルファ値をリニアで処理するため、この設定を変更すると透明領域の可視化に悪影響を及ぼす可能性があります。特にオブジェクトのエッジ周辺で顕著であり、アンチエイリアシング効果による部分的な透明化が生じる場合があります。

次に、AX Scene EditorでUnreal ARカメラの制御データを組み立てる必要があります。Record Dataコレクションピンには必要なデータの大半が含まれています。FOV計算モジュールコレクションスカラー設定モジュールを使用して、Cam FOVコレクションのKeyに正しいFOVを追加するだけで済みます:

完了すると、以下に示すような統合された視覚表現が得られるはずです。この例ではUnrealでレンダリングされたメタヒューマンの女性を特徴としています:

Unrealでレンダリングされた要素は、Aximmetryシーン上に表示され、カメラ移動時に同期して動くはずです。ただし、それらがAximmetryシーンに対して正確に位置決めされていることが前提です。

記事内容

Loading
Close
Loading spinner icon
1/10