diff --git a/Assets/OVRSceneManagerScript.cs b/Assets/OVRSceneManagerScript.cs new file mode 100644 index 0000000..e81f858 --- /dev/null +++ b/Assets/OVRSceneManagerScript.cs @@ -0,0 +1,113 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * All rights reserved. + * + * Licensed under the Oculus SDK License Agreement (the "License"); + * you may not use the Oculus SDK except in compliance with the License, + * which is provided at the time of installation or download, or which + * otherwise accompanies this software in either electronic or hard copy form. + * + * You may obtain a copy of the License at + * + * https://developer.oculus.com/licenses/oculussdk/ + * + * Unless required by applicable law or agreed to in writing, the Oculus SDK + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Collections.Generic; +using UnityEngine; + +public class SampleVirtualFrames : MonoBehaviour +{ + public OVRSceneManager _sceneManager; + + public SimpleResizable _doorPrefab; + public SimpleResizable _windowPrefab; + + public SimpleResizable _wallPrefab; + + void Awake() + { + MarcsWebLogger.Log("SampleVirtualFrames::Awake()"); +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN || UNITY_ANDROID + OVRManager.eyeFovPremultipliedAlphaModeEnabled = false; +#endif + _sceneManager.SceneModelLoadedSuccessfully += InitializeRoom; + } + + void InitializeRoom() + { + MarcsWebLogger.Log("SampleVirtualFrames::InitializeRoom()"); + OVRSceneAnchor[] sceneAnchors = FindObjectsOfType(); + if (sceneAnchors != null) + { + for (int i = 0; i < sceneAnchors.Length; i++) + { + OVRSceneAnchor instance = sceneAnchors[i]; + OVRSemanticClassification classification = instance.GetComponent(); + + if (classification.Contains(OVRSceneManager.Classification.WallFace)) + { + var randomNumber = UnityEngine.Random.Range(10000, 99999); + MarcsWebLogger.Log($"{randomNumber} | FOUND A WALL"); + try + { + SimpleResizer resizer = new SimpleResizer(); + SimpleResizable prefab = _wallPrefab; + Vector3 dimensions = instance.transform.GetChild(0).localScale; + if (prefab.GetComponent()) + { + dimensions += prefab.GetComponent().dimensionPadding; + } + resizer.CreateResizedObject(dimensions, sceneAnchors[i].gameObject, prefab); + } + catch (Exception e) + { + MarcsWebLogger.Log($"{randomNumber} | Error: {e.Message}"); + } + MarcsWebLogger.Log($"{randomNumber} | PLACED A WALL"); + //i = 99999; + } + /* + else if (classification.Contains(OVRSceneManager.Classification.WindowFrame) || + classification.Contains(OVRSceneManager.Classification.DoorFrame)) + { + windows.Add(instance.transform); + + SimpleResizer resizer = new SimpleResizer(); + SimpleResizable prefab = classification.Contains(OVRSceneManager.Classification.DoorFrame) ? _doorPrefab : _windowPrefab; + Vector3 dimensions = instance.transform.GetChild(0).localScale; + + // spawn an optional butterfly + if (classification.Contains(OVRSceneManager.Classification.DoorFrame) && _butterflyPrefab && !butterflyAdded) + { + GameObject butterfly = Instantiate(_butterflyPrefab, instance.transform); + butterfly.transform.localPosition = Vector3.zero; + butterfly.transform.rotation = Quaternion.LookRotation(instance.transform.forward, Vector3.up); + // this is to only spawn one, regardless of door count + butterflyAdded = true; + } + + // the Resizer scales the mesh so that the bounds are flush with the window extents + // in this case, we want the mesh frame to extend "outside" of the extents, so we adjust it + // as well, the vines on the door also require special treatment + if (prefab.GetComponent()) + { + dimensions += prefab.GetComponent().dimensionPadding; + } + resizer.CreateResizedObject(dimensions, sceneAnchors[i].gameObject, prefab); + } + */ + } + } + else + { + MarcsWebLogger.Log("NO ANCHORS FOUND. "); + } + } +} diff --git a/Assets/OVRSceneManagerScript.cs.meta b/Assets/OVRSceneManagerScript.cs.meta new file mode 100644 index 0000000..a1fab4d --- /dev/null +++ b/Assets/OVRSceneManagerScript.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 71fceb9e405ea76c58f1c1cc46118097 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/OVR Scene Manager Overrides/Breakable Wall (just a cube).prefab b/Assets/Prefabs/OVR Scene Manager Overrides/Breakable Wall (just a cube).prefab new file mode 100644 index 0000000..3ed557f --- /dev/null +++ b/Assets/Prefabs/OVR Scene Manager Overrides/Breakable Wall (just a cube).prefab @@ -0,0 +1,144 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &814842801368627604 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6455794010493476198} + - component: {fileID: 4469256713305699264} + - component: {fileID: 6006842473380119943} + - component: {fileID: 8535292912872443155} + - component: {fileID: 1908277671756111771} + - component: {fileID: 8707393823814613456} + m_Layer: 0 + m_Name: Breakable Wall (just a cube) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6455794010493476198 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 814842801368627604} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.01} + m_LocalScale: {x: 1, y: 1, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4469256713305699264 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 814842801368627604} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6006842473380119943 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 814842801368627604} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a384b583426023d4da68d3f25e868451, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &8535292912872443155 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 814842801368627604} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &1908277671756111771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 814842801368627604} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 39b243a9b1035c94e9f75c4e11283893, type: 3} + m_Name: + m_EditorClassIdentifier: + ScalingX: 0 + PaddingX: 0 + PaddingXMax: 0 + ScalingY: 0 + PaddingY: 0 + PaddingYMax: 0 + ScalingZ: 3 + PaddingZ: 0 + PaddingZMax: 0 + _pivotTransform: {fileID: 6455794010493476198} +--- !u!114 &8707393823814613456 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 814842801368627604} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a4aa4c87388bd1250aef8d89d8f58ed7, type: 3} + m_Name: + m_EditorClassIdentifier: + dimensionPadding: {x: 0, y: 0, z: 0} diff --git a/Assets/Prefabs/OVR Scene Manager Overrides/Breakable Wall (just a cube).prefab.meta b/Assets/Prefabs/OVR Scene Manager Overrides/Breakable Wall (just a cube).prefab.meta new file mode 100644 index 0000000..ece4abb --- /dev/null +++ b/Assets/Prefabs/OVR Scene Manager Overrides/Breakable Wall (just a cube).prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d0dff8f7a3ef4c1d5b55c1e07e1ecb0b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/OVR Scene Manager Overrides/Breakable Wall.prefab b/Assets/Prefabs/OVR Scene Manager Overrides/Breakable Wall.prefab new file mode 100644 index 0000000..80b35f3 --- /dev/null +++ b/Assets/Prefabs/OVR Scene Manager Overrides/Breakable Wall.prefab @@ -0,0 +1,162 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &6402218498956519874 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: -9003323146575883303, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 4ddb30289dc6d6a47a05448ca7275e5c, type: 2} + - target: {fileID: -8679921383154817045, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7023974396876390944, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: a384b583426023d4da68d3f25e868451, type: 2} + - target: {fileID: -2268138116939433651, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: a384b583426023d4da68d3f25e868451, type: 2} + - target: {fileID: -241587437493983680, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 5e85b5e82c1a1a84186c3baf89e174c7, type: 2} + - target: {fileID: 882129737928793925, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 0141bc0de40b03c47a7d54dba3567d7e, type: 2} + - target: {fileID: 919132149155446097, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_Name + value: Breakable Wall + objectReference: {fileID: 0} + - target: {fileID: 2786534777698132407, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 0576b3490a5948442aace3fadba823bb, type: 2} + - target: {fileID: 7339356831882890532, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: a384b583426023d4da68d3f25e868451, type: 2} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + insertIndex: -1 + addedObject: {fileID: 5026953953504289645} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + insertIndex: -1 + addedObject: {fileID: 1133447161263397491} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + insertIndex: -1 + addedObject: {fileID: 527367603987909277} + m_SourcePrefab: {fileID: 100100000, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} +--- !u!1 &6059687977031947411 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + m_PrefabInstance: {fileID: 6402218498956519874} + m_PrefabAsset: {fileID: 0} +--- !u!114 &5026953953504289645 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6059687977031947411} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 39b243a9b1035c94e9f75c4e11283893, type: 3} + m_Name: + m_EditorClassIdentifier: + ScalingX: 0 + PaddingX: 0 + PaddingXMax: 0 + ScalingY: 0 + PaddingY: 0 + PaddingYMax: 0 + ScalingZ: 3 + PaddingZ: 0 + PaddingZMax: 0 + _pivotTransform: {fileID: 6868981949592079913} +--- !u!114 &1133447161263397491 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6059687977031947411} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a4aa4c87388bd1250aef8d89d8f58ed7, type: 3} + m_Name: + m_EditorClassIdentifier: + dimensionPadding: {x: 0, y: 0, z: 0} +--- !u!65 &527367603987909277 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6059687977031947411} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 0.1, y: 2, z: 2} + m_Center: {x: 0.05, y: 0, z: 0} +--- !u!4 &6868981949592079913 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: b3bd50a8a2657294a93a3165603b6a56, type: 3} + m_PrefabInstance: {fileID: 6402218498956519874} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Prefabs/OVR Scene Manager Overrides/Breakable Wall.prefab.meta b/Assets/Prefabs/OVR Scene Manager Overrides/Breakable Wall.prefab.meta new file mode 100644 index 0000000..81e0a3e --- /dev/null +++ b/Assets/Prefabs/OVR Scene Manager Overrides/Breakable Wall.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1c12386686cd2aaf09eda99c926dbb25 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/OVR Scene Manager Overrides/Picture/Picture Variant.prefab b/Assets/Prefabs/OVR Scene Manager Overrides/Picture/Picture Variant.prefab index 916c5f1..6b1785f 100644 --- a/Assets/Prefabs/OVR Scene Manager Overrides/Picture/Picture Variant.prefab +++ b/Assets/Prefabs/OVR Scene Manager Overrides/Picture/Picture Variant.prefab @@ -66,7 +66,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7364228411325162552, guid: 891349029806e4144812ff2d304d9cf9, type: 3} propertyPath: m_LocalScale.z - value: 0.01 + value: 0.02 objectReference: {fileID: 0} - target: {fileID: 7364228411325162552, guid: 891349029806e4144812ff2d304d9cf9, type: 3} propertyPath: m_LocalPosition.z diff --git a/Assets/OutsideWorld.meta b/Assets/Sand textures pack/OutsideWorld.meta similarity index 100% rename from Assets/OutsideWorld.meta rename to Assets/Sand textures pack/OutsideWorld.meta diff --git a/Assets/OutsideWorld/NewLayer.terrainlayer b/Assets/Sand textures pack/OutsideWorld/NewLayer.terrainlayer similarity index 100% rename from Assets/OutsideWorld/NewLayer.terrainlayer rename to Assets/Sand textures pack/OutsideWorld/NewLayer.terrainlayer diff --git a/Assets/OutsideWorld/NewLayer.terrainlayer.meta b/Assets/Sand textures pack/OutsideWorld/NewLayer.terrainlayer.meta similarity index 100% rename from Assets/OutsideWorld/NewLayer.terrainlayer.meta rename to Assets/Sand textures pack/OutsideWorld/NewLayer.terrainlayer.meta diff --git a/Assets/OutsideWorld/Skybox Inside (OVRCameraRig).mat b/Assets/Sand textures pack/OutsideWorld/Skybox Inside (OVRCameraRig).mat similarity index 100% rename from Assets/OutsideWorld/Skybox Inside (OVRCameraRig).mat rename to Assets/Sand textures pack/OutsideWorld/Skybox Inside (OVRCameraRig).mat diff --git a/Assets/OutsideWorld/Skybox Inside (OVRCameraRig).mat.meta b/Assets/Sand textures pack/OutsideWorld/Skybox Inside (OVRCameraRig).mat.meta similarity index 100% rename from Assets/OutsideWorld/Skybox Inside (OVRCameraRig).mat.meta rename to Assets/Sand textures pack/OutsideWorld/Skybox Inside (OVRCameraRig).mat.meta diff --git a/Assets/OutsideWorld/Skybox Outside.mat b/Assets/Sand textures pack/OutsideWorld/Skybox Outside.mat similarity index 100% rename from Assets/OutsideWorld/Skybox Outside.mat rename to Assets/Sand textures pack/OutsideWorld/Skybox Outside.mat diff --git a/Assets/OutsideWorld/Skybox Outside.mat.meta b/Assets/Sand textures pack/OutsideWorld/Skybox Outside.mat.meta similarity index 100% rename from Assets/OutsideWorld/Skybox Outside.mat.meta rename to Assets/Sand textures pack/OutsideWorld/Skybox Outside.mat.meta diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 6b01f97..5d87b5a 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -763,7 +763,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1729297213} m_Modifications: - target: {fileID: 3078792058705529905, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_Name @@ -771,15 +771,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.x - value: -0.681 + value: -0.30509484 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.y - value: 1.0506 + value: 0.018742561 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.z - value: 1.15 + value: 0.45137346 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.w @@ -787,15 +787,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -814,6 +814,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} +--- !u!4 &147182790 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} + m_PrefabInstance: {fileID: 147182789} + m_PrefabAsset: {fileID: 0} --- !u!1 &152450805 GameObject: m_ObjectHideFlags: 0 @@ -912,7 +917,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1729297213} m_Modifications: - target: {fileID: 3078792058705529905, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_Name @@ -920,15 +925,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.x - value: -0.7321 + value: -0.35619485 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.y - value: 0.9424 + value: -0.08945751 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.z - value: 1.15 + value: 0.45137346 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.w @@ -936,15 +941,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -963,6 +968,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} +--- !u!4 &162856678 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} + m_PrefabInstance: {fileID: 162856677} + m_PrefabAsset: {fileID: 0} --- !u!1 &223974226 GameObject: m_ObjectHideFlags: 0 @@ -1060,7 +1070,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 0} + m_Father: {fileID: 782628378} m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} --- !u!1 &225398834 stripped GameObject: @@ -1604,7 +1614,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1729297213} m_Modifications: - target: {fileID: 3078792058705529905, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_Name @@ -1612,15 +1622,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.x - value: -0.8 + value: -0.42409486 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.y - value: 0.8320001 + value: -0.19985741 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.z - value: 1.15 + value: 0.45137346 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.w @@ -1628,15 +1638,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -1655,13 +1665,18 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} +--- !u!4 &335587135 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} + m_PrefabInstance: {fileID: 335587134} + m_PrefabAsset: {fileID: 0} --- !u!1001 &357166656 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1729297213} m_Modifications: - target: {fileID: 3078792058705529905, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_Name @@ -1669,15 +1684,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.x - value: -0.622 + value: -0.24609482 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.y - value: 0.9424 + value: -0.08945751 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.z - value: 1.15 + value: 0.45137346 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.w @@ -1685,15 +1700,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -1712,6 +1727,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} +--- !u!4 &357166657 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} + m_PrefabInstance: {fileID: 357166656} + m_PrefabAsset: {fileID: 0} --- !u!4 &360976235 stripped Transform: m_CorrespondingSourceObject: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} @@ -1742,15 +1762,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.x - value: -0.32609487 + value: -0.293 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.y - value: -0.1757983 + value: -0.073 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.z - value: 0.02503711 + value: -0.1411 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.w @@ -2324,7 +2344,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1729297213} m_Modifications: - target: {fileID: 3078792058705529905, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_Name @@ -2332,15 +2352,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.x - value: -0.456 + value: -0.080094844 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.y - value: 0.8320001 + value: -0.19985741 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.z - value: 1.15 + value: 0.45137346 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.w @@ -2348,15 +2368,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -2375,6 +2395,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} +--- !u!4 &508387012 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} + m_PrefabInstance: {fileID: 508387011} + m_PrefabAsset: {fileID: 0} --- !u!1 &526439460 GameObject: m_ObjectHideFlags: 0 @@ -3604,18 +3629,71 @@ Transform: m_Children: [] m_Father: {fileID: 241809610} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &782628375 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 782628378} + - component: {fileID: 782628377} + m_Layer: 0 + m_Name: World + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!4 &782628376 stripped Transform: m_CorrespondingSourceObject: {fileID: 4453513310108136, guid: 835e735ca71bf78459fb2cababd74112, type: 3} m_PrefabInstance: {fileID: 1939419979} m_PrefabAsset: {fileID: 0} +--- !u!114 &782628377 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 782628375} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 71fceb9e405ea76c58f1c1cc46118097, type: 3} + m_Name: + m_EditorClassIdentifier: + _sceneManager: {fileID: 1503720118} + _doorPrefab: {fileID: 0} + _windowPrefab: {fileID: 0} + _wallPrefab: {fileID: 1908277671756111771, guid: d0dff8f7a3ef4c1d5b55c1e07e1ecb0b, type: 3} +--- !u!4 &782628378 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 782628375} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2106522558} + - {fileID: 1729297213} + - {fileID: 1313920920} + - {fileID: 1467388725} + - {fileID: 223974229} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &791046371 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1729297213} m_Modifications: - target: {fileID: 3078792058705529905, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_Name @@ -3623,15 +3701,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.x - value: -0.6286 + value: -0.25269485 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.y - value: 1.1544 + value: 0.1225425 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.z - value: 1.15 + value: 0.45137346 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.w @@ -3639,15 +3717,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -3666,13 +3744,18 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} +--- !u!4 &791046372 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} + m_PrefabInstance: {fileID: 791046371} + m_PrefabAsset: {fileID: 0} --- !u!1001 &815847481 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1729297213} m_Modifications: - target: {fileID: 3078792058705529905, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_Name @@ -3680,15 +3763,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.x - value: -0.568 + value: -0.19209486 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.y - value: 0.8320001 + value: -0.19985741 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.z - value: 1.15 + value: 0.45137346 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.w @@ -3696,15 +3779,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -3723,6 +3806,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} +--- !u!4 &815847482 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} + m_PrefabInstance: {fileID: 815847481} + m_PrefabAsset: {fileID: 0} --- !u!1 &835441841 GameObject: m_ObjectHideFlags: 0 @@ -4373,7 +4461,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1729297213} m_Modifications: - target: {fileID: 3078792058705529905, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_Name @@ -4381,15 +4469,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.x - value: -0.512 + value: -0.13609487 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.y - value: 0.9424 + value: -0.08945751 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.z - value: 1.15 + value: 0.45137346 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.w @@ -4397,15 +4485,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -4424,6 +4512,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} +--- !u!4 &940103420 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} + m_PrefabInstance: {fileID: 940103419} + m_PrefabAsset: {fileID: 0} --- !u!1 &952726732 GameObject: m_ObjectHideFlags: 0 @@ -5594,14 +5687,14 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1313920919} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1183875365} - {fileID: 241809610} - m_Father: {fileID: 0} + m_Father: {fileID: 782628378} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1368183232 PrefabInstance: @@ -6152,12 +6245,12 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1467388721} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 0} + m_Father: {fileID: 782628378} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1497121524 GameObject: @@ -6365,7 +6458,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 747806495401477012, guid: c813208e672e3074bbe118e1a9ee94fd, type: 3} propertyPath: PrefabOverrides.Array.size - value: 5 + value: 4 objectReference: {fileID: 0} - target: {fileID: 747806495401477012, guid: c813208e672e3074bbe118e1a9ee94fd, type: 3} propertyPath: PrefabOverrides.Array.data[0].Prefab @@ -6488,13 +6581,24 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c813208e672e3074bbe118e1a9ee94fd, type: 3} +--- !u!114 &1503720118 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 747806495401477012, guid: c813208e672e3074bbe118e1a9ee94fd, type: 3} + m_PrefabInstance: {fileID: 1503720117} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f2253d75e3ddc644b8153409c62dd74e, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1516168788 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1729297213} m_Modifications: - target: {fileID: 3078792058705529905, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_Name @@ -6502,15 +6606,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.x - value: -0.5728 + value: -0.19689482 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.y - value: 1.0506 + value: 0.018742561 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.z - value: 1.15 + value: 0.45137346 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.w @@ -6518,15 +6622,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -6545,6 +6649,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} +--- !u!4 &1516168789 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} + m_PrefabInstance: {fileID: 1516168788} + m_PrefabAsset: {fileID: 0} --- !u!54 &1577749886 stripped Rigidbody: m_CorrespondingSourceObject: {fileID: 3778607142242988057, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} @@ -7047,7 +7156,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1729297212} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -0.37590516, y: 1.0318575, z: 0.6986265} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 @@ -7060,7 +7169,17 @@ Transform: - {fileID: 1768069893} - {fileID: 1710119740} - {fileID: 70274904} - m_Father: {fileID: 0} + - {fileID: 335587135} + - {fileID: 1782647684} + - {fileID: 815847482} + - {fileID: 508387012} + - {fileID: 940103420} + - {fileID: 357166657} + - {fileID: 162856678} + - {fileID: 147182790} + - {fileID: 1516168789} + - {fileID: 791046372} + m_Father: {fileID: 782628378} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &1749865031 stripped Transform: @@ -7078,7 +7197,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1729297213} m_Modifications: - target: {fileID: 3078792058705529905, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_Name @@ -7086,15 +7205,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.x - value: -0.679 + value: -0.30309486 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.y - value: 0.8320001 + value: -0.19985741 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalPosition.z - value: 1.15 + value: 0.45137346 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.w @@ -7102,15 +7221,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -7129,6 +7248,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} +--- !u!4 &1782647684 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7601405052768654441, guid: 2e0c303eba3dd9ff98017eff31e6159f, type: 3} + m_PrefabInstance: {fileID: 1782647683} + m_PrefabAsset: {fileID: 0} --- !u!1 &1793346144 GameObject: m_ObjectHideFlags: 0 @@ -8124,7 +8248,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 782628378} m_Modifications: - target: {fileID: 2867417286392604782, guid: 37e98970f8baf7647b735d9036006f0d, type: 3} propertyPath: m_Name @@ -8148,15 +8272,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2872250911046700568, guid: 37e98970f8baf7647b735d9036006f0d, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 2872250911046700568, guid: 37e98970f8baf7647b735d9036006f0d, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 2872250911046700568, guid: 37e98970f8baf7647b735d9036006f0d, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 2872250911046700568, guid: 37e98970f8baf7647b735d9036006f0d, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -8310,25 +8434,16 @@ AudioSource: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!4 &2106522558 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2872250911046700568, guid: 37e98970f8baf7647b735d9036006f0d, type: 3} + m_PrefabInstance: {fileID: 2106522548} + m_PrefabAsset: {fileID: 0} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 m_Roots: - - {fileID: 223974229} - {fileID: 1503720117} - - {fileID: 1467388725} - {fileID: 1368183232} - - {fileID: 1729297213} - - {fileID: 2106522548} - - {fileID: 335587134} - - {fileID: 1782647683} - - {fileID: 815847481} - - {fileID: 508387011} - - {fileID: 940103419} - - {fileID: 357166656} - - {fileID: 162856677} - - {fileID: 147182789} - - {fileID: 1516168788} - - {fileID: 791046371} - - {fileID: 1313920920} - {fileID: 2055102416} + - {fileID: 782628378} diff --git a/Assets/Scripts.meta b/Assets/Scripts.meta new file mode 100644 index 0000000..a010102 --- /dev/null +++ b/Assets/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5b20686972cc7b0618e409fe9e61daa5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ResizablePadding.cs b/Assets/Scripts/ResizablePadding.cs new file mode 100644 index 0000000..598d9c2 --- /dev/null +++ b/Assets/Scripts/ResizablePadding.cs @@ -0,0 +1,26 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * All rights reserved. + * + * Licensed under the Oculus SDK License Agreement (the "License"); + * you may not use the Oculus SDK except in compliance with the License, + * which is provided at the time of installation or download, or which + * otherwise accompanies this software in either electronic or hard copy form. + * + * You may obtain a copy of the License at + * + * https://developer.oculus.com/licenses/oculussdk/ + * + * Unless required by applicable law or agreed to in writing, the Oculus SDK + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using UnityEngine; + +public class ResizablePadding : MonoBehaviour +{ + public Vector3 dimensionPadding = Vector3.zero; +} diff --git a/Assets/Scripts/ResizablePadding.cs.meta b/Assets/Scripts/ResizablePadding.cs.meta new file mode 100644 index 0000000..5256375 --- /dev/null +++ b/Assets/Scripts/ResizablePadding.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a4aa4c87388bd1250aef8d89d8f58ed7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SimpleResizer.meta b/Assets/Scripts/SimpleResizer.meta new file mode 100644 index 0000000..c97d9cf --- /dev/null +++ b/Assets/Scripts/SimpleResizer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3a4289cf3e9109226bbbd1f42a6f53d7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SimpleResizer/SimpleResizable.cs b/Assets/Scripts/SimpleResizer/SimpleResizable.cs new file mode 100644 index 0000000..7e12b6a --- /dev/null +++ b/Assets/Scripts/SimpleResizer/SimpleResizable.cs @@ -0,0 +1,140 @@ +using System; +using UnityEngine; + +[ExecuteInEditMode] +public class SimpleResizable : MonoBehaviour +{ + public Vector3 PivotPosition => _pivotTransform.position; //Vector3.zero; + + [Space(15)] public Method ScalingX; + [Range(0, 0.5f)] public float PaddingX; + + [Range(-0.5f, 0)] public float PaddingXMax; + + [Space(15)] public Method ScalingY; + [Range(0, 0.5f)] public float PaddingY; + + [Range(-0.5f, 0)] public float PaddingYMax; + + [Space(15)] public Method ScalingZ; + [Range(0, 0.5f)] public float PaddingZ; + + [Range(-0.5f, 0)] public float PaddingZMax; + + public enum Method + { + Adapt, + AdaptWithAsymmetricalPadding, + Scale, + None + } + + public Vector3 NewSize {get; set; } + public Vector3 DefaultSize {get; private set; } + public Mesh Mesh { get; private set; } + + private Bounds _bounds; + + [SerializeField] private Transform _pivotTransform; + + private void Awake() + { + Mesh = GetComponent().sharedMesh; + DefaultSize = Mesh.bounds.size; + if(!_pivotTransform) + _pivotTransform = transform.Find("Pivot"); + } + +#if UNITY_EDITOR + private void OnEnable() + { + DefaultSize = Mesh.bounds.size; + NewSize = DefaultSize; + } + + private void OnDrawGizmos() + { + if (!_pivotTransform) return; + + Gizmos.color = Color.red; + float lineSize = 0.1f; + + Vector3 startX = _pivotTransform.position + Vector3.left * lineSize * 0.5f; + Vector3 startY = _pivotTransform.position + Vector3.down * lineSize * 0.5f; + Vector3 startZ = _pivotTransform.position + Vector3.back * lineSize * 0.5f; + + Gizmos.DrawRay(startX, Vector3.right * lineSize); + Gizmos.DrawRay(startY, Vector3.up * lineSize); + Gizmos.DrawRay(startZ, Vector3.forward * lineSize); + } + + void OnDrawGizmosSelected() + { + DefaultSize = Mesh.bounds.size; + + if (GetComponent().sharedMesh == null) + { + // The furniture piece was not customized yet, nothing to do here + return; + } + + _bounds = GetComponent().sharedMesh.bounds; + Gizmos.matrix = transform.localToWorldMatrix; + Vector3 newCenter = _bounds.center; + + Gizmos.color = new Color(1, 0, 0, 0.5f); + switch (ScalingX) + { + case Method.Adapt: + Gizmos.DrawWireCube(newCenter, new Vector3(NewSize.x * PaddingX * 2, NewSize.y, NewSize.z)); + break; + case Method.AdaptWithAsymmetricalPadding: + Gizmos.DrawWireCube(newCenter + new Vector3( + NewSize.x * PaddingX, 0, 0), new Vector3(0, NewSize.y, NewSize.z)); + Gizmos.DrawWireCube(newCenter + new Vector3( + NewSize.x * PaddingXMax, 0, 0), new Vector3(0, NewSize.y, NewSize.z)); + break; + case Method.None: + Gizmos.DrawWireCube(newCenter, NewSize); + break; + } + + Gizmos.color = new Color(0, 1, 0, 0.5f); + switch (ScalingY) + { + case Method.Adapt: + Gizmos.DrawWireCube(newCenter, new Vector3(NewSize.x, NewSize.y * PaddingY * 2, NewSize.z)); + break; + case Method.AdaptWithAsymmetricalPadding: + Gizmos.DrawWireCube(newCenter + new Vector3(0, NewSize.y * PaddingY, 0), + new Vector3(NewSize.x, 0, NewSize.z)); + Gizmos.DrawWireCube(newCenter + new Vector3(0, NewSize.y * PaddingYMax, 0), + new Vector3(NewSize.x, 0, NewSize.z)); + break; + case Method.None: + Gizmos.DrawWireCube(newCenter, NewSize); + break; + } + + Gizmos.color = new Color(0, 0, 1, 0.5f); + switch (ScalingZ) + { + case Method.Adapt: + Gizmos.DrawWireCube(newCenter, new Vector3(NewSize.x, NewSize.y, NewSize.z * PaddingZ * 2)); + break; + case Method.AdaptWithAsymmetricalPadding: + Gizmos.DrawWireCube(newCenter + new Vector3(0, 0, NewSize.z * PaddingZ), + new Vector3(NewSize.x, NewSize.y, 0)); + Gizmos.DrawWireCube(newCenter + new Vector3(0, 0, NewSize.z * PaddingZMax), + new Vector3(NewSize.x, NewSize.y, 0)); + break; + case Method.None: + Gizmos.DrawWireCube(newCenter, NewSize); + break; + } + + Gizmos.color = new Color(0, 1, 1, 1); + Gizmos.DrawWireCube(newCenter, NewSize); + } +#endif +} diff --git a/Assets/Scripts/SimpleResizer/SimpleResizable.cs.meta b/Assets/Scripts/SimpleResizer/SimpleResizable.cs.meta new file mode 100644 index 0000000..0c8d745 --- /dev/null +++ b/Assets/Scripts/SimpleResizer/SimpleResizable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 39b243a9b1035c94e9f75c4e11283893 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SimpleResizer/SimpleResizer.cs b/Assets/Scripts/SimpleResizer/SimpleResizer.cs new file mode 100644 index 0000000..54d1f70 --- /dev/null +++ b/Assets/Scripts/SimpleResizer/SimpleResizer.cs @@ -0,0 +1,138 @@ +using UnityEngine; + +public class SimpleResizer +{ + public void CreateResizedObject(Vector3 newSize, GameObject parent, SimpleResizable sourcePrefab) + { + MarcsWebLogger.Log($"Resize {newSize}"); + var prefab = MonoBehaviour.Instantiate(sourcePrefab.gameObject, Vector3.zero, Quaternion.identity); + prefab.name = sourcePrefab.name; + + var resizable = prefab.GetComponent(); + resizable.NewSize = newSize; + if (resizable == null) + { + Debug.LogError("Resizable component missing."); + return; + } + + var resizedMesh = ProcessVertices(resizable, newSize); + + MeshFilter mf = prefab.GetComponent(); + mf.sharedMesh = resizedMesh; + mf.sharedMesh.RecalculateBounds(); + + // child it after creation so the bounds math plays nicely + prefab.transform.parent = parent.transform; + prefab.transform.localPosition = Vector3.zero; + prefab.transform.localRotation = Quaternion.identity; + + // cleanup + MonoBehaviour.Destroy(resizable); + } + + #region PRIVATE METHODS + + private Mesh ProcessVertices(SimpleResizable resizable, Vector3 newSize) + { + Mesh originalMesh = resizable.Mesh; + Vector3 originalBounds = originalMesh.bounds.size; + + // Force scaling if newSize is smaller than the original mesh + SimpleResizable.Method methodX = (originalBounds.x < newSize.x) + ? resizable.ScalingX + : SimpleResizable.Method.Scale; + SimpleResizable.Method methodY = (originalBounds.y < newSize.y) + ? resizable.ScalingY + : SimpleResizable.Method.Scale; + SimpleResizable.Method methodZ = (originalBounds.z < newSize.z) + ? resizable.ScalingZ + : SimpleResizable.Method.Scale; + + Vector3[] resizedVertices = originalMesh.vertices; + + float pivotX = (1 / resizable.DefaultSize.x) * resizable.PivotPosition.x; + float pivotY = (1 / resizable.DefaultSize.y) * resizable.PivotPosition.y; + float pivotZ = (1 / resizable.DefaultSize.z) * resizable.PivotPosition.z; + + for (int i = 0; i < resizedVertices.Length; i++) + { + Vector3 vertexPosition = resizedVertices[i]; + vertexPosition.x = CalculateNewVertexPosition( + methodX, + vertexPosition.x, + originalBounds.x, + newSize.x, + resizable.PaddingX, + resizable.PaddingXMax, + pivotX); + + vertexPosition.y = CalculateNewVertexPosition( + methodY, + vertexPosition.y, + originalBounds.y, + newSize.y, + resizable.PaddingY, + resizable.PaddingYMax, + pivotY); + + vertexPosition.z = CalculateNewVertexPosition( + methodZ, + vertexPosition.z, + originalBounds.z, + newSize.z, + resizable.PaddingZ, + resizable.PaddingZMax, + pivotZ); + resizedVertices[i] = vertexPosition; + } + + Mesh clonedMesh = MonoBehaviour.Instantiate(originalMesh); + clonedMesh.vertices = resizedVertices; + + return clonedMesh; + } + + private float CalculateNewVertexPosition( + SimpleResizable.Method resizeMethod, + float currentPosition, + float currentSize, + float newSize, + float padding, + float paddingMax, + float pivot) + { + float resizedRatio = currentSize / 2 + * (newSize / 2 * (1 / (currentSize / 2))) + - currentSize / 2; + + switch (resizeMethod) + { + case SimpleResizable.Method.Adapt: + if (Mathf.Abs(currentPosition) >= padding) + currentPosition = resizedRatio * Mathf.Sign(currentPosition) + currentPosition; + break; + + case SimpleResizable.Method.AdaptWithAsymmetricalPadding: + if (currentPosition >= padding) + currentPosition = resizedRatio * Mathf.Sign(currentPosition) + currentPosition; + if (currentPosition <= paddingMax) + currentPosition = resizedRatio * Mathf.Sign(currentPosition) + currentPosition; + break; + + case SimpleResizable.Method.Scale: + currentPosition = newSize / (currentSize / currentPosition); + break; + + case SimpleResizable.Method.None: + break; + } + + float pivotPos = newSize * (-pivot); + currentPosition += pivotPos; + + return currentPosition; + } + + #endregion +} diff --git a/Assets/Scripts/SimpleResizer/SimpleResizer.cs.meta b/Assets/Scripts/SimpleResizer/SimpleResizer.cs.meta new file mode 100644 index 0000000..17c7d78 --- /dev/null +++ b/Assets/Scripts/SimpleResizer/SimpleResizer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 85f4ec0cb9fef7b4e9223c280e418389 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Wall.blend b/Assets/Wall.blend new file mode 100644 index 0000000..8a4a77a Binary files /dev/null and b/Assets/Wall.blend differ diff --git a/Assets/Wall.blend.meta b/Assets/Wall.blend.meta new file mode 100644 index 0000000..fdc1d70 --- /dev/null +++ b/Assets/Wall.blend.meta @@ -0,0 +1,109 @@ +fileFormatVersion: 2 +guid: b3bd50a8a2657294a93a3165603b6a56 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Blender/Wall.blend b/Blender/Wall.blend new file mode 100644 index 0000000..8a4a77a Binary files /dev/null and b/Blender/Wall.blend differ diff --git a/Blender/Wall.blend1 b/Blender/Wall.blend1 new file mode 100644 index 0000000..13076d7 Binary files /dev/null and b/Blender/Wall.blend1 differ diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 75fdc46..eefee64 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -139,6 +139,8 @@ PlayerSettings: bundleVersion: 0.1 preloadedAssets: - {fileID: 11400000, guid: 29d72bf9f28086693968cedbdc8f08cd, type: 2} + - {fileID: 11400000, guid: 541751c4fa90967d68ef779a22ee43f3, type: 2} + - {fileID: -3127938587913570544, guid: 8eb28e39ec717d0799039f01965f0533, type: 2} metroInputSource: 0 wsaTransparentSwapchain: 0 m_HolographicPauseOnTrackingLoss: 1