概要
3D背景機能(BackgroundLayer3D)とは、3Dモデルを背景として読み込み、利用できるようにするためのノードです。
あくまで、ヴィジュアルスクリプトが動作するゲーム画面は2Dであり、3Dは背景としてのみ機能しますが、2Dのカメラと連動して動くなど、2Dの動作にあわせた視差背景として機能します。
BackgroundLayer3Dを追加することで、3D背景を表示するためのSubviewportや3D空間内部でのカメラを制御するBackgroundCamera3D等のノードが自動で子として追加されます。
技術的概要
BackgroundLayer3DはCanvasLayerをベースとしたカスタムノードです。機能としてはCanvasLayerと同様ですが、3D機能の有効/無効を切り替えるプロパティや3Dモデルを読み込み配置するプロパティが追加されています。
BackgroundCamera3DはCamera3Dをベースとしたカスタムノードです。Camera3Dに加え、GameSceneのアクティブカメラを読み込み、その動きに合わせて自動で追従する機能が追加されています。
3D背景の利用方法
- GameSceneに、ノードを追加よりBackgroundLayer3Dを追加します。
- BackgroundLayer3Dを選択し、インスペクターにて「3Dビューの有効化」を行います。(この時点で、上部のタブに3Dビューが追加されます。)
- 引き続き、BackgroundLayer3Dのインスペクターにて「3Dマップの読み込み」を行います。(任意のglb,gltf形式の3Dモデルが読み込めます。)
- 正常に読み込むことができたら、BackgroundCamera3Dを選択し、ハンドルを操作してカメラの位置を調整します。カメラの見え方はインスペクターを確認しましょう。
- DirectionalLight3D(太陽光)を選択し、ハンドルを操作して太陽光の方向を決めます。
- 以上で設定は完了です、以後3Dを操作しない場合は、BackgroundLayer3Dを選択し、インスペクターにて「3Dビューの有効化」をオフにしましょう。
