// -------------------------------------------------- // OCCLUDER DATA private static SerializableOccluder[] GetStaticOccluderData() { // Get all Occluders and Serialize var staticOccluderObjects = GetStaticOccluderRenderers(); var customOccluderData = new SerializableOccluder[staticOccluderObjects.Length]; for (int i = 0; i < customOccluderData.Length; i++) { customOccluderData[i] = staticOccluderObjects[i].Serialize(); } return(customOccluderData); }
// -------------------------------------------------- // OCCLUDER PROXY private static MeshCollider CreateOccluderProxy(SerializableOccluder occluder) { // Initialize proxy object var go = new GameObject("OccluderProxy", typeof(MeshCollider)); var transform = go.transform; var collider = go.GetComponent <MeshCollider>(); // Set occluder data transform.position = occluder.positionWS; transform.rotation = occluder.rotationWS; transform.localScale = occluder.scaleWS; collider.sharedMesh = occluder.mesh; return(collider); }
private static SerializableOccluder[] GetCustomOccluderData() { // Get all PortalOccluders in scene var customOccluderObjects = UnityEngine.Object.FindObjectsOfType <PortalOccluder>(); // Serialize var customOccluderData = new SerializableOccluder[customOccluderObjects.Length]; for (int i = 0; i < customOccluderData.Length; i++) { customOccluderData[i] = customOccluderObjects[i].Serialize(); } return(customOccluderData); }