import { Camera, CameraClearFlags, Entity, Layer, Script } from "oasis-engine"; import { ARBackground } from "../ar/ARBackground"; import { ARCameraControl } from "../ar/ARCamera"; import { CameraRenderOrder } from "../GameCtrl"; export class ARBackgroundControl extends Script { // 地图的根节点 public _mapRootEntity: Entity; private layer: Layer = Layer.Layer1; onAwake(): void { const { entity, layer } = this; entity.layer = layer; // 初始化背景 const cameraEntity = this.entity.createChild("Camera"); const camera = cameraEntity.addComponent(Camera); // 设置渲染顺序 camera.priority = CameraRenderOrder.ARBackground; // 设置渲染裁剪 camera.cullingMask = layer; // 设置清理缓冲flag camera.clearFlags = CameraClearFlags.All; camera.enableFrustumCulling = false; cameraEntity.addComponent(ARCameraControl); const backgroundEntity = cameraEntity.createChild("bg"); backgroundEntity.transform.setPosition(0, 0, -1); backgroundEntity.addComponent(ARBackground); } }