diff --git a/Assets/GoogleVR.meta b/Assets/GoogleVR.meta new file mode 100644 index 0000000..f8fbcbd --- /dev/null +++ b/Assets/GoogleVR.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 63373be6fb2d3674bbb04f9050e813ad +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos.meta b/Assets/GoogleVR/Demos.meta new file mode 100644 index 0000000..56632c2 --- /dev/null +++ b/Assets/GoogleVR/Demos.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5e89bc9522aa174419eec8e3121388b8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Editor.meta b/Assets/GoogleVR/Demos/Editor.meta new file mode 100644 index 0000000..4fc3e17 --- /dev/null +++ b/Assets/GoogleVR/Demos/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 70998a94790562d40bfdf5feaf5d483c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Editor/DemoInputManagerEditor.cs b/Assets/GoogleVR/Demos/Editor/DemoInputManagerEditor.cs new file mode 100644 index 0000000..9069b0c --- /dev/null +++ b/Assets/GoogleVR/Demos/Editor/DemoInputManagerEditor.cs @@ -0,0 +1,61 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +namespace GoogleVR.Demos { + using UnityEngine; + using UnityEditor; + + [CustomEditor(typeof(DemoInputManager))] + public class DemoInputManagerEditor : Editor { + SerializedProperty emulatedPlatformTypeProp; + SerializedProperty gvrControllerMainProp; + SerializedProperty gvrControllerPointerProp; + SerializedProperty gvrReticlePointerProp; + + void OnEnable () { + gvrControllerMainProp = + serializedObject.FindProperty(DemoInputManager.CONTROLLER_MAIN_PROP_NAME); + gvrControllerPointerProp = + serializedObject.FindProperty(DemoInputManager.CONTROLLER_POINTER_PROP_NAME); + gvrReticlePointerProp = + serializedObject.FindProperty(DemoInputManager.RETICLE_POINTER_PROP_NAME); + + emulatedPlatformTypeProp = + serializedObject.FindProperty(DemoInputManager.EMULATED_PLATFORM_PROP_NAME); + } + + public override void OnInspectorGUI() { + serializedObject.Update(); + + // Add clickable script field, as would have been provided by DrawDefaultInspector() + MonoScript script = MonoScript.FromMonoBehaviour (target as MonoBehaviour); + EditorGUI.BeginDisabledGroup (true); + EditorGUILayout.ObjectField ("Script", script, typeof(MonoScript), false); + EditorGUI.EndDisabledGroup (); + + EditorGUILayout.PropertyField(gvrControllerMainProp); + EditorGUILayout.PropertyField(gvrControllerPointerProp, true); + EditorGUILayout.PropertyField(gvrReticlePointerProp); + + if (DemoInputManager.playerSettingsHasCardboard() == + DemoInputManager.playerSettingsHasDaydream()) { + // Show the platform emulation dropdown only if both or neither VR SDK selected in + // Player Settings > Virtual Reality supported, + EditorGUILayout.PropertyField(emulatedPlatformTypeProp); + } + + serializedObject.ApplyModifiedProperties(); + } + } +} diff --git a/Assets/GoogleVR/Demos/Editor/DemoInputManagerEditor.cs.meta b/Assets/GoogleVR/Demos/Editor/DemoInputManagerEditor.cs.meta new file mode 100644 index 0000000..87ad335 --- /dev/null +++ b/Assets/GoogleVR/Demos/Editor/DemoInputManagerEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 509a29025635b4c31bb337addea72a7c +timeCreated: 1479318538 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Editor/PermissionsDemoBuildProcessor.cs b/Assets/GoogleVR/Demos/Editor/PermissionsDemoBuildProcessor.cs new file mode 100644 index 0000000..3fc0f06 --- /dev/null +++ b/Assets/GoogleVR/Demos/Editor/PermissionsDemoBuildProcessor.cs @@ -0,0 +1,160 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0(the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// Only invoke custom build processor when building for Android. +#if UNITY_ANDROID +namespace GoogleVR.Demos +{ + using System; + using UnityEditor; + using UnityEditor.Build; + using UnityEditorInternal.VR; + +#if UNITY_2018_1_OR_NEWER + using UnityEditor.Build.Reporting; +#endif + +#if UNITY_2018_1_OR_NEWER + class PermissionsDemoBuildProcessor : IPreprocessBuildWithReport, IPostprocessBuildWithReport +#else + class PermissionsDemoBuildProcessor : IPreprocessBuild, IPostprocessBuild +#endif + { + private const string SCENE_NAME_PERMISSIONS_DEMO = "PermissionsDemo"; + + private bool m_cardboardAddedFromCode = false; + + public int callbackOrder + { + get { return 0; } + } + +#if UNITY_2018_1_OR_NEWER + public void OnPreprocessBuild(BuildReport report) + { + OnPreprocessBuild(report.summary.platform, report.summary.outputPath); + } +#endif + + // OnPreprocessBuild() is called right before the build process begins. If it + // detects that the first enabled scene in the build arrays is the PermissionsDemo, + // and Daydream is in the VR SDKs, it will add Cardboard to the VR SDKs. Because + // the PermissionsDemo needs a perm statement in the Manifest while other demos don't. + // Adding Cardboard to VR SDKs will merge in the Manifest-Cardboard which has perm + // statement in it. + public void OnPreprocessBuild(BuildTarget target, string path) + { + m_cardboardAddedFromCode = false; + + string[] androidVrSDKs = VREditor.GetVREnabledDevicesOnTargetGroup(BuildTargetGroup.Android); + + EditorBuildSettingsScene[] scenes = EditorBuildSettings.scenes; + + // See if PermissionsDemo is the first enabled scene in the array of scenes to build. + for (int i = 0; i < scenes.Length; i++) + { + if (scenes[i].path.Contains(SCENE_NAME_PERMISSIONS_DEMO)) + { + if (!scenes[i].enabled) + { + return; + } + else + { + break; + } + } + else + { + if (scenes[i].enabled) + { + return; + } + } + } + + bool hasCardboard = Array.Exists(androidVrSDKs, + element => element.Equals(GvrSettings.VR_SDK_CARDBOARD)); + + if (hasCardboard) + { + return; + } + + bool hasDaydream = Array.Exists(androidVrSDKs, + element => element.Equals(GvrSettings.VR_SDK_DAYDREAM)); + + if (!hasDaydream) + { + return; + } + + string[] androidVrSDKsAppended = new string[androidVrSDKs.Length+1]; + + for (int i = 0; i < androidVrSDKs.Length; i++) + { + androidVrSDKsAppended[i] = androidVrSDKs[i]; + } + + androidVrSDKsAppended[androidVrSDKsAppended.Length - 1] = GvrSettings.VR_SDK_CARDBOARD; + + VREditor.SetVREnabledOnTargetGroup( + BuildTargetGroup.Android, true); + VREditor.SetVREnabledDevicesOnTargetGroup( + BuildTargetGroup.Android, + androidVrSDKsAppended); + + m_cardboardAddedFromCode = true; + } + +#if UNITY_2018_1_OR_NEWER + public void OnPostprocessBuild(BuildReport report) + { + OnPostprocessBuild(report.summary.platform, report.summary.outputPath); + } +#endif + + // OnPostprocessBuild() is called after the build process. It does appropriate cleanup + // so that this script only affects build process for PermissionsDemo, not others. + public void OnPostprocessBuild(BuildTarget target, string path) + { + if (!m_cardboardAddedFromCode) + return; + + string[] androidVrSDKs = VREditor.GetVREnabledDevicesOnTargetGroup(BuildTargetGroup.Android); + + // The enabled devices are modified somehow, which shouldn't happen. Abort the post build process. + if (androidVrSDKs.Length == 0 || androidVrSDKs[androidVrSDKs.Length - 1] != GvrSettings.VR_SDK_CARDBOARD) + { + return; + } + + string[] androidVrSDKsShortened = new string[androidVrSDKs.Length - 1]; + + for (int i = 0; i < androidVrSDKsShortened.Length; i++) + { + androidVrSDKsShortened[i] = androidVrSDKs[i]; + } + + VREditor.SetVREnabledOnTargetGroup( + BuildTargetGroup.Android, true); + VREditor.SetVREnabledDevicesOnTargetGroup( + BuildTargetGroup.Android, + androidVrSDKsShortened); + + m_cardboardAddedFromCode = false; + } + } +} +#endif // UNITY_ANDROID diff --git a/Assets/GoogleVR/Demos/Editor/PermissionsDemoBuildProcessor.cs.meta b/Assets/GoogleVR/Demos/Editor/PermissionsDemoBuildProcessor.cs.meta new file mode 100644 index 0000000..569e68e --- /dev/null +++ b/Assets/GoogleVR/Demos/Editor/PermissionsDemoBuildProcessor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b7c28afb12456b7469919c6a64cee9c1 +timeCreated: 1493333870 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Environment.meta b/Assets/GoogleVR/Demos/Environment.meta new file mode 100644 index 0000000..9a50b32 --- /dev/null +++ b/Assets/GoogleVR/Demos/Environment.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8886797267704814c93354e82667ed7c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Environment/CubeRoom.obj b/Assets/GoogleVR/Demos/Environment/CubeRoom.obj new file mode 100644 index 0000000..add91d0 --- /dev/null +++ b/Assets/GoogleVR/Demos/Environment/CubeRoom.obj @@ -0,0 +1,20125 @@ +# This file uses centimeters as units for non-parametric coordinates. + +g default +v -5.000000 1.575003 -3.799999 +v -5.000000 1.587502 -3.803349 +v -5.000000 1.596651 -3.812500 +v -5.000000 1.600000 -3.824997 +v -5.000000 1.200000 -3.824997 +v -5.000000 1.203349 -3.812500 +v -5.000000 1.212499 -3.803349 +v -5.000000 1.224998 -3.799999 +v -4.603352 1.587502 -3.824997 +v -4.612499 1.596651 -3.824997 +v -4.625000 1.600000 -3.824997 +v -4.625000 1.596651 -3.812500 +v -4.625000 1.587502 -3.803349 +v -4.625000 1.575003 -3.799999 +v -4.612499 1.575003 -3.803349 +v -4.603352 1.575003 -3.812500 +v -4.600002 1.575003 -3.824997 +v -4.612499 1.203349 -3.824997 +v -4.603348 1.212499 -3.824997 +v -4.600002 1.224998 -3.824997 +v -4.603352 1.224998 -3.812500 +v -4.612499 1.224998 -3.803349 +v -4.625000 1.224998 -3.799999 +v -4.625000 1.212499 -3.803349 +v -4.625000 1.203349 -3.812500 +v -4.625000 1.200000 -3.824997 +v -4.625000 1.587502 -4.196651 +v -4.625000 1.596651 -4.187500 +v -4.625000 1.600000 -4.175003 +v -4.612499 1.596651 -4.175003 +v -4.603352 1.587502 -4.175003 +v -4.600002 1.575003 -4.175003 +v -4.603352 1.575003 -4.187500 +v -4.612499 1.575003 -4.196651 +v -4.625000 1.575003 -4.200001 +v -4.625000 1.203349 -4.187500 +v -4.625000 1.212499 -4.196651 +v -4.625000 1.224998 -4.200001 +v -4.612499 1.224998 -4.196651 +v -4.603352 1.224998 -4.187500 +v -4.600002 1.224998 -4.175003 +v -4.603348 1.212499 -4.175003 +v -4.612499 1.203349 -4.175003 +v -4.625000 1.200000 -4.175003 +v -5.000000 1.600000 -4.175003 +v -5.000000 1.596651 -4.187500 +v -5.000000 1.587502 -4.196651 +v -5.000000 1.575003 -4.200001 +v -5.000000 1.224998 -4.200001 +v -5.000000 1.212499 -4.196651 +v -5.000000 1.203349 -4.187500 +v -5.000000 1.200000 -4.175003 +v -4.605228 1.585804 -3.814198 +v -4.614197 1.594771 -3.814198 +v -4.614197 1.585804 -3.805229 +v -4.614197 1.205229 -3.814198 +v -4.605228 1.214196 -3.814198 +v -4.614197 1.214196 -3.805229 +v -4.614197 1.585804 -4.194771 +v -4.614197 1.594771 -4.185802 +v -4.605228 1.585804 -4.185802 +v -4.614197 1.205229 -4.185802 +v -4.614197 1.214196 -4.194771 +v -4.605228 1.214196 -4.185802 +v -4.996651 0.012498 -4.224998 +v -4.987499 0.003348 -4.224998 +v -4.975002 0.000000 -4.224998 +v -4.975002 0.003348 -4.212498 +v -4.975002 0.012498 -4.203350 +v -4.975002 0.024997 -4.200001 +v -4.987499 0.024997 -4.203350 +v -4.996651 0.024997 -4.212498 +v -5.000000 0.024997 -4.224998 +v -4.212498 0.003348 -4.224998 +v -4.203350 0.012498 -4.224998 +v -4.200001 0.024997 -4.224998 +v -4.203350 0.024997 -4.212498 +v -4.212498 0.024997 -4.203350 +v -4.224998 0.024997 -4.200001 +v -4.224998 0.012498 -4.203350 +v -4.224998 0.003348 -4.212498 +v -4.224998 0.000000 -4.224998 +v -4.987503 0.796651 -4.224998 +v -4.996651 0.787500 -4.224998 +v -5.000000 0.775002 -4.224998 +v -4.996651 0.775002 -4.212498 +v -4.987499 0.775002 -4.203350 +v -4.975002 0.775002 -4.200001 +v -4.975002 0.787500 -4.203350 +v -4.975002 0.796651 -4.212498 +v -4.975002 0.800000 -4.224998 +v -4.203350 0.787500 -4.224998 +v -4.212498 0.796651 -4.224998 +v -4.224998 0.800000 -4.224998 +v -4.224998 0.796651 -4.212498 +v -4.224998 0.787500 -4.203350 +v -4.224998 0.775002 -4.200001 +v -4.212498 0.775002 -4.203350 +v -4.203350 0.775002 -4.212498 +v -4.200001 0.775002 -4.224998 +v -4.224998 0.800000 -5.000000 +v -4.212498 0.796651 -5.000000 +v -4.203350 0.787500 -5.000000 +v -4.200001 0.775002 -5.000000 +v -4.994770 0.014195 -4.214195 +v -4.985806 0.005228 -4.214195 +v -4.985806 0.014195 -4.205227 +v -4.214195 0.005228 -4.214195 +v -4.205227 0.014195 -4.214195 +v -4.214195 0.014195 -4.205227 +v -4.985806 0.794771 -4.214195 +v -4.994770 0.785803 -4.214195 +v -4.985806 0.785803 -4.205227 +v -4.205227 0.785803 -4.214195 +v -4.214195 0.794771 -4.214195 +v -4.214195 0.785803 -4.205227 +v -4.996651 0.812499 -4.224998 +v -4.987503 0.803348 -4.224998 +v -4.975002 0.803348 -4.212498 +v -4.975002 0.812499 -4.203350 +v -4.975002 0.824997 -4.200001 +v -4.987503 0.824997 -4.203350 +v -4.996651 0.824997 -4.212498 +v -5.000000 0.824997 -4.224998 +v -4.212498 0.803348 -4.224998 +v -4.203350 0.812499 -4.224998 +v -4.200001 0.824997 -4.224998 +v -4.203350 0.824997 -4.212498 +v -4.212498 0.824997 -4.203350 +v -4.224998 0.824997 -4.200001 +v -4.224998 0.812499 -4.203350 +v -4.224998 0.803348 -4.212498 +v -4.987503 1.596651 -4.224998 +v -4.996651 1.587500 -4.224998 +v -5.000000 1.575002 -4.224998 +v -4.996651 1.575002 -4.212498 +v -4.987503 1.575002 -4.203350 +v -4.975002 1.575002 -4.200001 +v -4.975002 1.587500 -4.203350 +v -4.975002 1.596651 -4.212498 +v -4.975002 1.600000 -4.224998 +v -4.203350 1.587500 -4.224998 +v -4.212498 1.596651 -4.224998 +v -4.224998 1.600000 -4.224998 +v -4.224998 1.596651 -4.212498 +v -4.224998 1.587500 -4.203350 +v -4.224998 1.575002 -4.200001 +v -4.212498 1.575002 -4.203350 +v -4.203350 1.575002 -4.212498 +v -4.200001 1.575002 -4.224998 +v -5.000000 1.575002 -5.000000 +v -4.996651 1.587500 -5.000000 +v -4.987503 1.596651 -5.000000 +v -4.975002 1.600000 -5.000000 +v -4.224998 1.600000 -5.000000 +v -4.212498 1.596651 -5.000000 +v -4.203350 1.587500 -5.000000 +v -4.200001 1.575002 -5.000000 +v -4.203350 0.812499 -5.000000 +v -4.212498 0.803348 -5.000000 +v -4.200001 0.824997 -5.000000 +v -4.994770 0.814195 -4.214195 +v -4.985806 0.805228 -4.214195 +v -4.985806 0.814195 -4.205227 +v -4.214195 0.805228 -4.214195 +v -4.205227 0.814195 -4.214195 +v -4.214195 0.814195 -4.205227 +v -4.985806 1.594770 -4.214195 +v -4.994770 1.585803 -4.214195 +v -4.985806 1.585803 -4.205227 +v -4.205231 1.585803 -4.214195 +v -4.214195 1.594770 -4.214195 +v -4.214195 1.585803 -4.205227 +v -4.196651 0.012498 -4.224998 +v -4.187500 0.003348 -4.224998 +v -4.175003 0.000000 -4.224998 +v -4.175003 0.003348 -4.212498 +v -4.175003 0.012498 -4.203350 +v -4.175003 0.024997 -4.200001 +v -4.187500 0.024997 -4.203350 +v -4.196651 0.024997 -4.212498 +v -3.412498 0.003348 -4.224998 +v -3.403349 0.012498 -4.224998 +v -3.400000 0.024997 -4.224998 +v -3.403349 0.024997 -4.212498 +v -3.412498 0.024997 -4.203350 +v -3.424997 0.024997 -4.200001 +v -3.424997 0.012498 -4.203350 +v -3.424997 0.003348 -4.212498 +v -3.424997 0.000000 -4.224998 +v -4.187500 0.796651 -4.224998 +v -4.196651 0.787500 -4.224998 +v -4.196651 0.775002 -4.212498 +v -4.187500 0.775002 -4.203350 +v -4.175003 0.775002 -4.200001 +v -4.175003 0.787500 -4.203350 +v -4.175003 0.796651 -4.212498 +v -4.175003 0.800000 -4.224998 +v -3.403349 0.787500 -4.224998 +v -3.412498 0.796651 -4.224998 +v -3.424997 0.800000 -4.224998 +v -3.424997 0.796651 -4.212498 +v -3.424997 0.787500 -4.203350 +v -3.424997 0.775002 -4.200001 +v -3.412498 0.775002 -4.203350 +v -3.403349 0.775002 -4.212498 +v -3.400000 0.775002 -4.224998 +v -4.196651 0.787500 -5.000000 +v -4.187500 0.796651 -5.000000 +v -4.175003 0.800000 -5.000000 +v -3.424997 0.800000 -5.000000 +v -3.412498 0.796651 -5.000000 +v -3.403349 0.787500 -5.000000 +v -3.400000 0.775002 -5.000000 +v -3.403349 0.012498 -5.000000 +v -3.412498 0.003348 -5.000000 +v -3.424997 0.000000 -5.000000 +v -3.400000 0.024997 -5.000000 +v -4.194771 0.014195 -4.214195 +v -4.185802 0.005228 -4.214195 +v -4.185802 0.014195 -4.205227 +v -3.414196 0.005228 -4.214195 +v -3.405230 0.014195 -4.214195 +v -3.414196 0.014195 -4.205227 +v -4.185802 0.794771 -4.214195 +v -4.194771 0.785803 -4.214195 +v -4.185802 0.785803 -4.205227 +v -3.405230 0.785803 -4.214195 +v -3.414196 0.794771 -4.214195 +v -3.414196 0.785803 -4.205227 +v 4.987503 0.396651 -5.000000 +v 4.996651 0.387501 -5.000000 +v 5.000000 0.375002 -5.000000 +v 4.975002 0.400000 -5.000000 +v 4.603348 0.387501 -5.000000 +v 4.612499 0.396651 -5.000000 +v 4.625000 0.400000 -5.000000 +v 4.599998 0.375002 -5.000000 +v 4.612499 0.003349 -5.000000 +v 4.603348 0.012499 -5.000000 +v 4.599998 0.024998 -5.000000 +v 4.625000 0.000000 -5.000000 +v 4.625000 0.387501 -4.603348 +v 4.625000 0.396651 -4.612499 +v 4.625000 0.400000 -4.624996 +v 4.612499 0.396651 -4.624996 +v 4.603348 0.387501 -4.624996 +v 4.599998 0.375002 -4.624996 +v 4.603348 0.375002 -4.612499 +v 4.612499 0.375002 -4.603348 +v 4.625000 0.375002 -4.599998 +v 4.625000 0.003349 -4.612499 +v 4.625000 0.012499 -4.603348 +v 4.625000 0.024998 -4.599998 +v 4.612499 0.024998 -4.603348 +v 4.603348 0.024998 -4.612499 +v 4.599998 0.024998 -4.624996 +v 4.603348 0.012499 -4.624996 +v 4.612499 0.003349 -4.624996 +v 4.625000 0.000000 -4.624996 +v 4.996651 0.387501 -4.624996 +v 4.987503 0.396651 -4.624996 +v 4.975002 0.400000 -4.624996 +v 4.975002 0.396651 -4.612499 +v 4.975002 0.387501 -4.603348 +v 4.975002 0.375002 -4.599998 +v 4.987503 0.375002 -4.603348 +v 4.996651 0.375002 -4.612499 +v 5.000000 0.375002 -4.624996 +v 4.987503 0.003349 -4.624996 +v 4.996651 0.012499 -4.624996 +v 5.000000 0.024998 -4.624996 +v 4.996651 0.024998 -4.612499 +v 4.987503 0.024998 -4.603348 +v 4.975002 0.024998 -4.599998 +v 4.975002 0.012499 -4.603348 +v 4.975002 0.003349 -4.612499 +v 4.975002 0.000000 -4.624996 +v 4.614197 0.385804 -4.605228 +v 4.614197 0.394771 -4.614197 +v 4.605228 0.385804 -4.614197 +v 4.614197 0.005229 -4.614197 +v 4.614197 0.014196 -4.605228 +v 4.605228 0.014196 -4.614197 +v 4.994774 0.385804 -4.614197 +v 4.985806 0.394771 -4.614197 +v 4.985806 0.385804 -4.605228 +v 4.985806 0.005229 -4.614197 +v 4.994774 0.014196 -4.614197 +v 4.985806 0.014196 -4.605228 +v -1.799999 4.424999 -5.000000 +v -1.803349 4.412498 -5.000000 +v -1.812498 4.403347 -5.000000 +v -1.824997 4.400002 -5.000000 +v -1.824997 4.799999 -5.000000 +v -1.812498 4.796650 -5.000000 +v -1.803349 4.787502 -5.000000 +v -1.799999 4.775002 -5.000000 +v -1.824997 4.412498 -4.603348 +v -1.824997 4.403347 -4.612499 +v -1.824997 4.400002 -4.625000 +v -1.812498 4.403347 -4.625000 +v -1.803349 4.412498 -4.625000 +v -1.799999 4.424999 -4.625000 +v -1.803349 4.424999 -4.612499 +v -1.812498 4.424999 -4.603348 +v -1.824997 4.424999 -4.599998 +v -1.824997 4.796650 -4.612499 +v -1.824997 4.787502 -4.603348 +v -1.824997 4.775002 -4.599998 +v -1.812498 4.775002 -4.603348 +v -1.803349 4.775002 -4.612499 +v -1.799999 4.775002 -4.625000 +v -1.803349 4.787502 -4.625000 +v -1.812498 4.796650 -4.625000 +v -1.824997 4.799999 -4.625000 +v -2.196651 4.412498 -4.625000 +v -2.187502 4.403347 -4.625000 +v -2.175003 4.400002 -4.625000 +v -2.175003 4.403347 -4.612499 +v -2.175003 4.412498 -4.603348 +v -2.175003 4.424999 -4.599998 +v -2.187502 4.424999 -4.603348 +v -2.196651 4.424999 -4.612499 +v -2.200001 4.424999 -4.625000 +v -2.187502 4.796650 -4.625000 +v -2.196651 4.787502 -4.625000 +v -2.200001 4.775002 -4.625000 +v -2.196651 4.775002 -4.612499 +v -2.187502 4.775002 -4.603348 +v -2.175003 4.775002 -4.599998 +v -2.175003 4.787502 -4.603348 +v -2.175003 4.796650 -4.612499 +v -2.175003 4.799999 -4.625000 +v -2.175003 4.400002 -5.000000 +v -2.187502 4.403347 -5.000000 +v -2.196651 4.412498 -5.000000 +v -2.200001 4.424999 -5.000000 +v -2.200001 4.775002 -5.000000 +v -2.196651 4.787502 -5.000000 +v -2.187502 4.796650 -5.000000 +v -2.175003 4.799999 -5.000000 +v -1.814196 4.414196 -4.605228 +v -1.814196 4.405228 -4.614197 +v -1.805229 4.414196 -4.614197 +v -1.814196 4.794773 -4.614197 +v -1.814196 4.785805 -4.605228 +v -1.805229 4.785805 -4.614197 +v -2.194771 4.414196 -4.614197 +v -2.185804 4.405228 -4.614197 +v -2.185804 4.414196 -4.605228 +v -2.185804 4.794773 -4.614197 +v -2.194771 4.785805 -4.614197 +v -2.185804 4.785805 -4.605228 +v -1.375002 2.400000 -5.000000 +v -1.387501 2.403349 -5.000000 +v -1.396651 2.412498 -5.000000 +v -1.400000 2.424997 -5.000000 +v -0.600000 2.424997 -5.000000 +v -0.603349 2.412498 -5.000000 +v -0.612499 2.403349 -5.000000 +v -0.624998 2.400000 -5.000000 +v -1.387501 2.424997 -4.203350 +v -1.396651 2.424997 -4.212502 +v -1.400000 2.424997 -4.224998 +v -1.396651 2.412498 -4.224998 +v -1.387501 2.403349 -4.224998 +v -1.375002 2.400000 -4.224998 +v -1.375002 2.403349 -4.212502 +v -1.375002 2.412498 -4.203350 +v -1.375002 2.424997 -4.200001 +v -0.603349 2.424997 -4.212502 +v -0.612499 2.424997 -4.203350 +v -0.624998 2.424997 -4.200001 +v -0.624998 2.412498 -4.203350 +v -0.624998 2.403349 -4.212502 +v -0.624998 2.400000 -4.224998 +v -0.612499 2.403349 -4.224998 +v -0.603349 2.412498 -4.224998 +v -0.600000 2.424997 -4.224998 +v -1.387501 3.196651 -4.224998 +v -1.396651 3.187502 -4.224998 +v -1.400000 3.175003 -4.224998 +v -1.396651 3.175003 -4.212502 +v -1.387501 3.175003 -4.203350 +v -1.375002 3.175003 -4.200001 +v -1.375002 3.187502 -4.203350 +v -1.375002 3.196651 -4.212502 +v -1.375002 3.200001 -4.224998 +v -0.603349 3.187502 -4.224998 +v -0.612499 3.196651 -4.224998 +v -0.624998 3.200001 -4.224998 +v -0.624998 3.196651 -4.212502 +v -0.624998 3.187502 -4.203350 +v -0.624998 3.175003 -4.200001 +v -0.612499 3.175003 -4.203350 +v -0.603349 3.175003 -4.212502 +v -0.600000 3.175003 -4.224998 +v -1.400000 3.175003 -5.000000 +v -1.396651 3.187502 -5.000000 +v -1.387501 3.196651 -5.000000 +v -1.375002 3.200001 -5.000000 +v -0.624998 3.200001 -5.000000 +v -0.612499 3.196651 -5.000000 +v -0.603349 3.187502 -5.000000 +v -0.600000 3.175003 -5.000000 +v -1.385803 2.414196 -4.205231 +v -1.394772 2.414196 -4.214195 +v -1.385803 2.405230 -4.214195 +v -0.605229 2.414196 -4.214195 +v -0.614196 2.414196 -4.205231 +v -0.614196 2.405230 -4.214195 +v -1.385803 3.194771 -4.214195 +v -1.394772 3.185804 -4.214195 +v -1.385803 3.185804 -4.205231 +v -0.605229 3.185804 -4.214195 +v -0.614196 3.194771 -4.214195 +v -0.614196 3.185804 -4.205231 +v -1.375002 1.600000 -5.000000 +v -1.387501 1.603349 -5.000000 +v -1.396651 1.612499 -5.000000 +v -1.400000 1.624998 -5.000000 +v -0.600000 1.624998 -5.000000 +v -0.603349 1.612499 -5.000000 +v -0.612499 1.603349 -5.000000 +v -0.624998 1.600000 -5.000000 +v -1.387501 1.624998 -4.203350 +v -1.396651 1.624998 -4.212502 +v -1.400000 1.624998 -4.224998 +v -1.396651 1.612499 -4.224998 +v -1.387501 1.603349 -4.224998 +v -1.375002 1.600000 -4.224998 +v -1.375002 1.603349 -4.212502 +v -1.375002 1.612499 -4.203350 +v -1.375002 1.624998 -4.200001 +v -0.603349 1.624998 -4.212502 +v -0.612499 1.624998 -4.203350 +v -0.624998 1.624998 -4.200001 +v -0.624998 1.612499 -4.203350 +v -0.624998 1.603349 -4.212502 +v -0.624998 1.600000 -4.224998 +v -0.612499 1.603349 -4.224998 +v -0.603349 1.612499 -4.224998 +v -0.600000 1.624998 -4.224998 +v -1.387501 2.396650 -4.224998 +v -1.396651 2.387501 -4.224998 +v -1.400000 2.375002 -4.224998 +v -1.396651 2.375002 -4.212502 +v -1.387501 2.375002 -4.203350 +v -1.375002 2.375002 -4.200001 +v -1.375002 2.387501 -4.203350 +v -1.375002 2.396650 -4.212502 +v -0.603349 2.387501 -4.224998 +v -0.612499 2.396650 -4.224998 +v -0.624998 2.396650 -4.212502 +v -0.624998 2.387501 -4.203350 +v -0.624998 2.375002 -4.200001 +v -0.612499 2.375002 -4.203350 +v -0.603349 2.375002 -4.212502 +v -0.600000 2.375002 -4.224998 +v -1.400000 2.375002 -5.000000 +v -1.396651 2.387501 -5.000000 +v -1.387501 2.396650 -5.000000 +v -0.612499 2.396650 -5.000000 +v -0.603349 2.387501 -5.000000 +v -0.600000 2.375002 -5.000000 +v -1.385803 1.614197 -4.205231 +v -1.394772 1.614197 -4.214195 +v -1.385803 1.605228 -4.214195 +v -0.605229 1.614197 -4.214195 +v -0.614196 1.614197 -4.205231 +v -0.614196 1.605228 -4.214195 +v -1.385803 2.394772 -4.214195 +v -1.394772 2.385803 -4.214195 +v -1.385803 2.385803 -4.205231 +v -0.605229 2.385803 -4.214195 +v -0.614196 2.394772 -4.214195 +v -0.614196 2.385803 -4.205231 +v 0.224998 1.600000 -5.000000 +v 0.212499 1.603349 -5.000000 +v 0.203349 1.612499 -5.000000 +v 0.200000 1.624998 -5.000000 +v 1.000000 1.624998 -5.000000 +v 0.996651 1.612499 -5.000000 +v 0.987501 1.603349 -5.000000 +v 0.975002 1.600000 -5.000000 +v 0.212499 1.624998 -4.203350 +v 0.203349 1.624998 -4.212502 +v 0.200000 1.624998 -4.224998 +v 0.203349 1.612499 -4.224998 +v 0.212499 1.603349 -4.224998 +v 0.224998 1.600000 -4.224998 +v 0.224998 1.603349 -4.212502 +v 0.224998 1.612499 -4.203350 +v 0.224998 1.624998 -4.200001 +v 0.996651 1.624998 -4.212502 +v 0.987501 1.624998 -4.203350 +v 0.975002 1.624998 -4.200001 +v 0.975002 1.612499 -4.203350 +v 0.975002 1.603349 -4.212502 +v 0.975002 1.600000 -4.224998 +v 0.987501 1.603349 -4.224998 +v 0.996651 1.612499 -4.224998 +v 1.000000 1.624998 -4.224998 +v 0.212499 2.396650 -4.224998 +v 0.203349 2.387501 -4.224998 +v 0.200000 2.375002 -4.224998 +v 0.203349 2.375002 -4.212502 +v 0.212499 2.375002 -4.203350 +v 0.224998 2.375002 -4.200001 +v 0.224998 2.387501 -4.203350 +v 0.224998 2.396650 -4.212502 +v 0.224998 2.400000 -4.224998 +v 0.996651 2.387501 -4.224998 +v 0.987501 2.396650 -4.224998 +v 0.975002 2.400000 -4.224998 +v 0.975002 2.396650 -4.212502 +v 0.975002 2.387501 -4.203350 +v 0.975002 2.375002 -4.200001 +v 0.987501 2.375002 -4.203350 +v 0.996651 2.375002 -4.212502 +v 1.000000 2.375002 -4.224998 +v 0.200000 2.375002 -5.000000 +v 0.203349 2.387501 -5.000000 +v 0.212499 2.396650 -5.000000 +v 0.224998 2.400000 -5.000000 +v 0.975002 2.400000 -5.000000 +v 0.987501 2.396650 -5.000000 +v 0.996651 2.387501 -5.000000 +v 1.000000 2.375002 -5.000000 +v 0.214196 1.614197 -4.205231 +v 0.205229 1.614197 -4.214195 +v 0.214196 1.605228 -4.214195 +v 0.994771 1.614197 -4.214195 +v 0.985804 1.614197 -4.205231 +v 0.985804 1.605228 -4.214195 +v 0.214196 2.394772 -4.214195 +v 0.205229 2.385803 -4.214195 +v 0.214196 2.385803 -4.205231 +v 0.994771 2.385803 -4.214195 +v 0.985804 2.394772 -4.214195 +v 0.985804 2.385803 -4.205231 +v -0.575002 1.600000 -5.000000 +v -0.587501 1.603349 -5.000000 +v -0.596651 1.612499 -5.000000 +v 0.196651 1.612499 -5.000000 +v 0.187501 1.603349 -5.000000 +v 0.175002 1.600000 -5.000000 +v -0.587501 1.624998 -4.203350 +v -0.596651 1.624998 -4.212502 +v -0.596651 1.612499 -4.224998 +v -0.587501 1.603349 -4.224998 +v -0.575002 1.600000 -4.224998 +v -0.575002 1.603349 -4.212502 +v -0.575002 1.612499 -4.203350 +v -0.575002 1.624998 -4.200001 +v 0.196651 1.624998 -4.212502 +v 0.187501 1.624998 -4.203350 +v 0.175002 1.624998 -4.200001 +v 0.175002 1.612499 -4.203350 +v 0.175002 1.603349 -4.212502 +v 0.175002 1.600000 -4.224998 +v 0.187501 1.603349 -4.224998 +v 0.196651 1.612499 -4.224998 +v -0.587501 2.396650 -4.224998 +v -0.596651 2.387501 -4.224998 +v -0.596651 2.375002 -4.212502 +v -0.587501 2.375002 -4.203350 +v -0.575002 2.375002 -4.200001 +v -0.575002 2.387501 -4.203350 +v -0.575002 2.396650 -4.212502 +v -0.575002 2.400000 -4.224998 +v 0.196651 2.387501 -4.224998 +v 0.187501 2.396650 -4.224998 +v 0.175002 2.400000 -4.224998 +v 0.175002 2.396650 -4.212502 +v 0.175002 2.387501 -4.203350 +v 0.175002 2.375002 -4.200001 +v 0.187501 2.375002 -4.203350 +v 0.196651 2.375002 -4.212502 +v -0.596651 2.387501 -5.000000 +v -0.587501 2.396650 -5.000000 +v -0.575002 2.400000 -5.000000 +v 0.175002 2.400000 -5.000000 +v 0.187501 2.396650 -5.000000 +v 0.196651 2.387501 -5.000000 +v -0.585804 1.614197 -4.205231 +v -0.594771 1.614197 -4.214195 +v -0.585804 1.605228 -4.214195 +v 0.194771 1.614197 -4.214195 +v 0.185804 1.614197 -4.205231 +v 0.185804 1.605228 -4.214195 +v -0.585804 2.394772 -4.214195 +v -0.594771 2.385803 -4.214195 +v -0.585804 2.385803 -4.205231 +v 0.194771 2.385803 -4.214195 +v 0.185804 2.394772 -4.214195 +v 0.185804 2.385803 -4.205231 +v 0.224998 0.800000 -4.999996 +v 0.212499 0.803349 -5.000000 +v 0.203349 0.812499 -5.000000 +v 0.200000 0.824998 -5.000000 +v 0.212499 0.824998 -4.203350 +v 0.203349 0.824998 -4.212502 +v 0.200000 0.824998 -4.224998 +v 0.203349 0.812499 -4.224998 +v 0.212499 0.803349 -4.224998 +v 0.224998 0.800000 -4.224998 +v 0.224998 0.803349 -4.212502 +v 0.224998 0.812499 -4.203350 +v 0.224998 0.824998 -4.200001 +v 0.996651 0.824998 -4.212502 +v 0.987501 0.824998 -4.203350 +v 0.975002 0.824998 -4.200001 +v 0.975002 0.812499 -4.203350 +v 0.975002 0.803349 -4.212502 +v 0.975002 0.800000 -4.224998 +v 0.987501 0.803349 -4.224998 +v 0.996651 0.812499 -4.224998 +v 1.000000 0.824998 -4.224998 +v 0.212499 1.596651 -4.224998 +v 0.203349 1.587502 -4.224998 +v 0.200000 1.575003 -4.224998 +v 0.203349 1.575003 -4.212502 +v 0.212499 1.575003 -4.203350 +v 0.224998 1.575003 -4.200001 +v 0.224998 1.587502 -4.203350 +v 0.224998 1.596651 -4.212502 +v 0.996651 1.587502 -4.224998 +v 0.987501 1.596651 -4.224998 +v 0.975002 1.596651 -4.212502 +v 0.975002 1.587502 -4.203350 +v 0.975002 1.575003 -4.200001 +v 0.987501 1.575003 -4.203350 +v 0.996651 1.575003 -4.212502 +v 1.000000 1.575003 -4.224998 +v 0.200000 1.575003 -5.000000 +v 0.203349 1.587502 -5.000000 +v 0.212499 1.596651 -5.000000 +v 0.987501 1.596651 -5.000000 +v 0.996651 1.587502 -5.000000 +v 1.000000 1.575003 -5.000000 +v 0.214196 0.814197 -4.205231 +v 0.205229 0.814197 -4.214195 +v 0.214196 0.805229 -4.214195 +v 0.994771 0.814197 -4.214195 +v 0.985804 0.814197 -4.205231 +v 0.985804 0.805229 -4.214195 +v 0.214196 1.594771 -4.214195 +v 0.205229 1.585804 -4.214195 +v 0.214196 1.585804 -4.205231 +v 0.994771 1.585804 -4.214195 +v 0.985804 1.594771 -4.214195 +v 0.985804 1.585804 -4.205231 +v 1.799999 0.824998 -5.000000 +v 1.796652 0.812499 -5.000000 +v 1.787500 0.803349 -5.000000 +v 1.775002 0.800000 -4.999996 +v 1.012499 0.824998 -4.203350 +v 1.003349 0.824998 -4.212502 +v 1.003349 0.812499 -4.224998 +v 1.012499 0.803349 -4.224998 +v 1.024998 0.800000 -4.224998 +v 1.024998 0.803349 -4.212502 +v 1.024998 0.812499 -4.203350 +v 1.024998 0.824998 -4.200001 +v 1.796652 0.824998 -4.212502 +v 1.787500 0.824998 -4.203350 +v 1.775002 0.824998 -4.200001 +v 1.775002 0.812499 -4.203350 +v 1.775002 0.803349 -4.212502 +v 1.775002 0.800000 -4.224998 +v 1.787500 0.803349 -4.224998 +v 1.796652 0.812499 -4.224998 +v 1.799999 0.824998 -4.224998 +v 1.012499 1.596651 -4.224998 +v 1.003349 1.587502 -4.224998 +v 1.003349 1.575003 -4.212502 +v 1.012499 1.575003 -4.203350 +v 1.024998 1.575003 -4.200001 +v 1.024998 1.587502 -4.203350 +v 1.024998 1.596651 -4.212502 +v 1.024998 1.600000 -4.224998 +v 1.796652 1.587502 -4.224998 +v 1.787500 1.596651 -4.224998 +v 1.775002 1.600000 -4.224998 +v 1.775002 1.596651 -4.212502 +v 1.775002 1.587502 -4.203350 +v 1.775002 1.575003 -4.200001 +v 1.787500 1.575003 -4.203350 +v 1.796652 1.575003 -4.212502 +v 1.799999 1.575003 -4.224998 +v 1.003349 1.587502 -5.000000 +v 1.012499 1.596651 -5.000000 +v 1.024998 1.600000 -5.000000 +v 1.775002 1.600000 -5.000000 +v 1.787500 1.596651 -5.000000 +v 1.796652 1.587502 -5.000000 +v 1.799999 1.575003 -5.000000 +v 1.014196 0.814197 -4.205231 +v 1.005229 0.814197 -4.214195 +v 1.014196 0.805229 -4.214195 +v 1.794771 0.814197 -4.214195 +v 1.785803 0.814197 -4.205231 +v 1.785803 0.805229 -4.214195 +v 1.014196 1.594771 -4.214195 +v 1.005229 1.585804 -4.214195 +v 1.014196 1.585804 -4.205231 +v 1.794771 1.585804 -4.214195 +v 1.785803 1.594771 -4.214195 +v 1.785803 1.585804 -4.205231 +v 0.996651 0.812499 -4.999992 +v 1.000000 0.824998 -4.999992 +v 0.975002 0.800000 -4.999992 +v 0.987501 0.803349 -4.999992 +v 1.003349 0.812499 -4.999992 +v 1.012499 0.803349 -4.999992 +v 1.024998 0.800000 -4.999992 +v -4.975002 1.199999 -4.200001 +v -4.987503 1.199999 -4.203350 +v -4.996651 1.199999 -4.212498 +v -5.000000 1.199999 -4.224998 +v -4.600002 1.199999 -4.200001 +v -4.600002 1.575002 -4.200001 +v -4.600002 1.587500 -4.203350 +v -4.600002 1.596651 -4.212498 +v -4.600002 1.600000 -4.224998 +v -4.600002 1.600000 -5.000000 +v -5.000000 4.775002 -1.400000 +v -5.000000 4.787502 -1.403349 +v -5.000000 4.796650 -1.412498 +v -5.000000 4.799999 -1.424997 +v -5.000000 4.400002 -1.424997 +v -5.000000 4.403347 -1.412498 +v -5.000000 4.412498 -1.403349 +v -5.000000 4.424999 -1.400000 +v -4.603348 4.787502 -1.424997 +v -4.612499 4.796650 -1.424997 +v -4.625000 4.799999 -1.424997 +v -4.625000 4.796650 -1.412498 +v -4.625000 4.787502 -1.403349 +v -4.625000 4.775002 -1.400000 +v -4.612499 4.775002 -1.403349 +v -4.603348 4.775002 -1.412498 +v -4.599998 4.775002 -1.424997 +v -4.612499 4.403347 -1.424997 +v -4.603348 4.412498 -1.424997 +v -4.599998 4.424999 -1.424997 +v -4.603348 4.424999 -1.412498 +v -4.612499 4.424999 -1.403349 +v -4.625000 4.424999 -1.400000 +v -4.625000 4.412498 -1.403349 +v -4.625000 4.403347 -1.412498 +v -4.625000 4.400002 -1.424997 +v -4.625000 4.787502 -1.796652 +v -4.625000 4.796650 -1.787500 +v -4.625000 4.799999 -1.775002 +v -4.612499 4.796650 -1.775002 +v -4.603348 4.787502 -1.775002 +v -4.599998 4.775002 -1.775002 +v -4.603348 4.775002 -1.787500 +v -4.612499 4.775002 -1.796652 +v -4.625000 4.775002 -1.799999 +v -4.625000 4.403347 -1.787500 +v -4.625000 4.412498 -1.796652 +v -4.625000 4.424999 -1.799999 +v -4.612499 4.424999 -1.796652 +v -4.603348 4.424999 -1.787500 +v -4.599998 4.424999 -1.775002 +v -4.603348 4.412498 -1.775002 +v -4.612499 4.403347 -1.775002 +v -4.625000 4.400002 -1.775002 +v -5.000000 4.799999 -1.775002 +v -5.000000 4.796650 -1.787500 +v -5.000000 4.787502 -1.796652 +v -5.000000 4.775002 -1.799999 +v -5.000000 4.424999 -1.799999 +v -5.000000 4.412498 -1.796652 +v -5.000000 4.403347 -1.787500 +v -5.000000 4.400002 -1.775002 +v -4.605228 4.785805 -1.414196 +v -4.614197 4.794773 -1.414196 +v -4.614197 4.785805 -1.405229 +v -4.614197 4.405228 -1.414196 +v -4.605228 4.414196 -1.414196 +v -4.614197 4.414196 -1.405229 +v -4.614197 4.785805 -1.794771 +v -4.614197 4.794773 -1.785803 +v -4.605228 4.785805 -1.785803 +v -4.614197 4.405228 -1.785803 +v -4.614197 4.414196 -1.794771 +v -4.605228 4.414196 -1.785803 +v -5.000000 3.175003 0.200000 +v -5.000000 3.187502 0.196651 +v -5.000000 3.196651 0.187501 +v -5.000000 3.200001 0.175002 +v -5.000000 2.400000 0.175002 +v -5.000000 2.403349 0.187501 +v -5.000000 2.412498 0.196651 +v -5.000000 2.424997 0.200000 +v -4.203350 3.187502 0.175002 +v -4.212502 3.196651 0.175002 +v -4.224998 3.200001 0.175002 +v -4.224998 3.196651 0.187501 +v -4.224998 3.187502 0.196651 +v -4.224998 3.175003 0.200000 +v -4.212502 3.175003 0.196651 +v -4.203350 3.175003 0.187501 +v -4.200001 3.175003 0.175002 +v -4.212502 2.403349 0.175002 +v -4.203350 2.412498 0.175002 +v -4.200001 2.424997 0.175002 +v -4.203350 2.424997 0.187501 +v -4.212502 2.424997 0.196651 +v -4.224998 2.424997 0.200000 +v -4.224998 2.412498 0.196651 +v -4.224998 2.403349 0.187501 +v -4.224998 2.400000 0.175002 +v -4.224998 3.187502 -0.596651 +v -4.224998 3.196651 -0.587501 +v -4.224998 3.200001 -0.575002 +v -4.212502 3.196651 -0.575002 +v -4.203350 3.187502 -0.575002 +v -4.200001 3.175003 -0.575002 +v -4.203350 3.175003 -0.587501 +v -4.212502 3.175003 -0.596651 +v -4.224998 3.175001 -0.600000 +v -4.224998 2.403349 -0.587501 +v -4.224998 2.412498 -0.596651 +v -4.224998 2.424997 -0.600000 +v -4.212502 2.424997 -0.596651 +v -4.203350 2.424997 -0.587501 +v -4.200001 2.424997 -0.575002 +v -4.203350 2.412498 -0.575002 +v -4.212502 2.403349 -0.575002 +v -4.224998 2.400000 -0.575002 +v -5.000000 3.200001 -0.575002 +v -5.000000 3.196651 -0.587501 +v -5.000000 3.187502 -0.596651 +v -5.000000 3.175001 -0.600000 +v -5.000000 2.424997 -0.600000 +v -5.000000 2.412498 -0.596651 +v -5.000000 2.403349 -0.587501 +v -5.000000 2.400000 -0.575002 +v -4.205231 3.185804 0.185804 +v -4.214195 3.194771 0.185804 +v -4.214195 3.185804 0.194771 +v -4.214195 2.405230 0.185804 +v -4.205231 2.414196 0.185804 +v -4.214195 2.414196 0.194771 +v -4.214195 3.185804 -0.594771 +v -4.214195 3.194771 -0.585804 +v -4.205231 3.185804 -0.585804 +v -4.214195 2.405230 -0.585804 +v -4.214195 2.414196 -0.594771 +v -4.205231 2.414196 -0.585804 +v -5.000000 2.375002 -0.600000 +v -5.000000 2.387501 -0.603349 +v -5.000000 2.396650 -0.612499 +v -5.000000 2.400000 -0.624998 +v -5.000000 1.600000 -0.624998 +v -5.000000 1.603349 -0.612499 +v -5.000000 1.612499 -0.603349 +v -5.000000 1.624998 -0.600000 +v -4.203350 2.387501 -0.624998 +v -4.212502 2.396650 -0.624998 +v -4.224998 2.400000 -0.624998 +v -4.224998 2.396650 -0.612499 +v -4.224998 2.387501 -0.603349 +v -4.224998 2.375002 -0.600000 +v -4.212502 2.375002 -0.603349 +v -4.203350 2.375002 -0.612499 +v -4.200001 2.375002 -0.624998 +v -4.212502 1.603349 -0.624998 +v -4.203350 1.612499 -0.624998 +v -4.200001 1.624998 -0.624998 +v -4.203350 1.624998 -0.612499 +v -4.212502 1.624998 -0.603349 +v -4.224998 1.624998 -0.600000 +v -4.224998 1.612499 -0.603349 +v -4.224998 1.603349 -0.612499 +v -4.224998 1.600000 -0.624998 +v -4.224998 2.387501 -1.396651 +v -4.224998 2.396650 -1.387501 +v -4.224998 2.400000 -1.375002 +v -4.212502 2.396650 -1.375002 +v -4.203350 2.387501 -1.375002 +v -4.200001 2.375002 -1.375002 +v -4.203350 2.375002 -1.387501 +v -4.212502 2.375002 -1.396651 +v -4.224998 2.375002 -1.400000 +v -4.224998 1.603349 -1.387501 +v -4.224998 1.612499 -1.396651 +v -4.224998 1.624997 -1.400000 +v -4.212502 1.624998 -1.396651 +v -4.203350 1.624998 -1.387501 +v -4.200001 1.624998 -1.375002 +v -4.203350 1.612499 -1.375002 +v -4.212502 1.603349 -1.375002 +v -4.224998 1.600000 -1.375002 +v -5.000000 2.400000 -1.375002 +v -5.000000 2.396650 -1.387501 +v -5.000000 2.387501 -1.396651 +v -5.000000 2.375002 -1.400000 +v -5.000000 1.624997 -1.400000 +v -5.000000 1.612499 -1.396651 +v -5.000000 1.603349 -1.387501 +v -5.000000 1.600000 -1.375002 +v -4.205231 2.385803 -0.614196 +v -4.214195 2.394772 -0.614196 +v -4.214195 2.385803 -0.605229 +v -4.214195 1.605228 -0.614196 +v -4.205231 1.614197 -0.614196 +v -4.214195 1.614197 -0.605229 +v -4.214195 2.385803 -1.394772 +v -4.214195 2.394772 -1.385803 +v -4.205231 2.385803 -1.385803 +v -4.214195 1.605228 -1.385803 +v -4.214195 1.614197 -1.394772 +v -4.205231 1.614197 -1.385803 +v -5.000000 2.403347 -0.612499 +v -5.000000 2.412498 -0.603349 +v -4.212498 2.403347 -0.624998 +v -4.203350 2.412498 -0.624998 +v -4.200001 2.424997 -0.624998 +v -4.203350 2.424997 -0.612499 +v -4.212498 2.424997 -0.603349 +v -4.224998 2.412498 -0.603349 +v -4.224998 2.403347 -0.612499 +v -5.000000 3.187500 -0.603349 +v -5.000000 3.196651 -0.612499 +v -5.000000 3.200001 -0.624998 +v -4.203350 3.187500 -0.624998 +v -4.212498 3.196651 -0.624998 +v -4.224998 3.200001 -0.624998 +v -4.224998 3.196651 -0.612499 +v -4.224998 3.187500 -0.603349 +v -4.212498 3.175001 -0.603349 +v -4.203350 3.175001 -0.612499 +v -4.200001 3.175001 -0.624998 +v -5.000000 3.200001 -1.375002 +v -5.000000 3.196651 -1.387501 +v -5.000000 3.187500 -1.396651 +v -5.000000 3.175001 -1.400000 +v -4.203350 3.175001 -1.387501 +v -4.212498 3.175001 -1.396651 +v -4.224998 3.175001 -1.400000 +v -4.224998 3.187500 -1.396651 +v -4.224998 3.196651 -1.387501 +v -4.224998 3.200001 -1.375002 +v -4.212498 3.196651 -1.375002 +v -4.203350 3.187500 -1.375002 +v -4.200001 3.175001 -1.375002 +v -5.000000 2.424997 -1.400000 +v -5.000000 2.412498 -1.396651 +v -5.000000 2.403347 -1.387501 +v -4.203350 2.412498 -1.375002 +v -4.212498 2.403347 -1.375002 +v -4.224998 2.403347 -1.387501 +v -4.224998 2.412498 -1.396651 +v -4.224998 2.424997 -1.400000 +v -4.212498 2.424997 -1.396651 +v -4.203350 2.424997 -1.387501 +v -4.200001 2.424997 -1.375002 +v -4.214195 2.405228 -0.614196 +v -4.205227 2.414196 -0.614196 +v -4.214195 2.414196 -0.605229 +v -4.205227 3.185802 -0.614196 +v -4.214195 3.194771 -0.614196 +v -4.214195 3.185802 -0.605229 +v -4.205227 3.185802 -1.385803 +v -4.214195 3.185802 -1.394772 +v -4.214195 3.194771 -1.385803 +v -4.205227 2.414196 -1.385803 +v -4.214195 2.405228 -1.385803 +v -4.214195 2.414196 -1.394772 +v -5.000000 1.600000 -1.424997 +v -5.000000 1.603348 -1.412498 +v -5.000000 1.612498 -1.403349 +v -4.212498 1.603348 -1.424997 +v -4.203350 1.612498 -1.424997 +v -4.200001 1.624997 -1.424997 +v -4.203350 1.624997 -1.412498 +v -4.212498 1.624997 -1.403349 +v -4.224998 1.612498 -1.403349 +v -4.224998 1.603348 -1.412498 +v -4.224998 1.600000 -1.424997 +v -5.000000 2.387501 -1.403349 +v -5.000000 2.396650 -1.412498 +v -5.000000 2.400000 -1.424997 +v -4.203350 2.387501 -1.424997 +v -4.212498 2.396650 -1.424997 +v -4.224998 2.400000 -1.424997 +v -4.224998 2.396650 -1.412498 +v -4.224998 2.387501 -1.403349 +v -4.212498 2.375002 -1.403349 +v -4.203350 2.375002 -1.412498 +v -4.200001 2.375002 -1.424997 +v -5.000000 2.400000 -2.175003 +v -5.000000 2.396650 -2.187502 +v -5.000000 2.387501 -2.196651 +v -5.000000 2.375002 -2.200001 +v -4.203350 2.375002 -2.187502 +v -4.212498 2.375002 -2.196651 +v -4.224998 2.375002 -2.200001 +v -4.224998 2.387501 -2.196651 +v -4.224998 2.396650 -2.187502 +v -4.224998 2.400000 -2.175003 +v -4.212498 2.396650 -2.175003 +v -4.203350 2.387501 -2.175003 +v -4.200001 2.375002 -2.175003 +v -5.000000 1.624997 -2.200001 +v -5.000000 1.612498 -2.196651 +v -5.000000 1.603348 -2.187502 +v -5.000000 1.600000 -2.175003 +v -4.203350 1.612498 -2.175003 +v -4.212498 1.603348 -2.175003 +v -4.224998 1.600000 -2.175003 +v -4.224998 1.603348 -2.187502 +v -4.224998 1.612498 -2.196651 +v -4.224998 1.624997 -2.200001 +v -4.212498 1.624997 -2.196651 +v -4.203350 1.624997 -2.187502 +v -4.200001 1.624997 -2.175003 +v -4.214195 1.605227 -1.414196 +v -4.205227 1.614195 -1.414196 +v -4.214195 1.614195 -1.405229 +v -4.205227 2.385803 -1.414196 +v -4.214195 2.394772 -1.414196 +v -4.214195 2.385803 -1.405229 +v -4.205227 2.385803 -2.185804 +v -4.214195 2.385803 -2.194771 +v -4.214195 2.394772 -2.185804 +v -4.205227 1.614195 -2.185804 +v -4.214195 1.605227 -2.185804 +v -4.214195 1.614195 -2.194771 +v -5.000000 1.575003 -1.400000 +v -5.000000 1.587502 -1.403349 +v -5.000000 1.596651 -1.412498 +v -5.000000 0.800000 -1.424997 +v -5.000000 0.803349 -1.412498 +v -5.000000 0.812499 -1.403349 +v -5.000000 0.824998 -1.400000 +v -4.203350 1.587502 -1.424997 +v -4.212502 1.596651 -1.424997 +v -4.224998 1.596651 -1.412498 +v -4.224998 1.587502 -1.403349 +v -4.224998 1.575003 -1.400000 +v -4.212502 1.575003 -1.403349 +v -4.203350 1.575003 -1.412498 +v -4.200001 1.575003 -1.424997 +v -4.212502 0.803349 -1.424997 +v -4.203350 0.812499 -1.424997 +v -4.200001 0.824998 -1.424997 +v -4.203350 0.824998 -1.412498 +v -4.212502 0.824998 -1.403349 +v -4.224998 0.824998 -1.400000 +v -4.224998 0.812499 -1.403349 +v -4.224998 0.803349 -1.412498 +v -4.224998 0.800000 -1.424997 +v -4.224998 1.587502 -2.196651 +v -4.224998 1.596651 -2.187502 +v -4.212502 1.596651 -2.175003 +v -4.203350 1.587502 -2.175003 +v -4.200001 1.575003 -2.175003 +v -4.203350 1.575003 -2.187502 +v -4.212502 1.575003 -2.196651 +v -4.224998 1.575003 -2.200001 +v -4.224998 0.803349 -2.187502 +v -4.224998 0.812499 -2.196651 +v -4.224998 0.824998 -2.200001 +v -4.212502 0.824998 -2.196651 +v -4.203350 0.824998 -2.187502 +v -4.200001 0.824998 -2.175003 +v -4.203350 0.812499 -2.175003 +v -4.212502 0.803349 -2.175003 +v -4.224998 0.800000 -2.175003 +v -5.000000 1.596651 -2.187502 +v -5.000000 1.587502 -2.196651 +v -5.000000 1.575003 -2.200001 +v -5.000000 0.824998 -2.200001 +v -5.000000 0.812499 -2.196651 +v -5.000000 0.803349 -2.187502 +v -5.000000 0.800000 -2.175003 +v -4.205231 1.585804 -1.414196 +v -4.214195 1.594771 -1.414196 +v -4.214195 1.585804 -1.405229 +v -4.214195 0.805229 -1.414196 +v -4.205231 0.814197 -1.414196 +v -4.214195 0.814197 -1.405229 +v -4.214195 1.585804 -2.194771 +v -4.214195 1.594771 -2.185804 +v -4.205231 1.585804 -2.185804 +v -4.214195 0.805229 -2.185804 +v -4.214195 0.814197 -2.194771 +v -4.205231 0.814197 -2.185804 +v -5.000000 5.175003 -2.600000 +v -5.000000 5.187500 -2.603350 +v -5.000000 5.196651 -2.612499 +v -5.000000 5.200001 -2.624998 +v -5.000000 4.400002 -2.624998 +v -5.000000 4.403347 -2.612499 +v -5.000000 4.412498 -2.603350 +v -5.000000 4.424999 -2.600000 +v -4.203350 5.187500 -2.624998 +v -4.212502 5.196651 -2.624998 +v -4.224998 5.200001 -2.624998 +v -4.224998 5.196651 -2.612499 +v -4.224998 5.187500 -2.603350 +v -4.224998 5.175003 -2.600000 +v -4.212502 5.175003 -2.603350 +v -4.203350 5.175003 -2.612499 +v -4.200001 5.175003 -2.624998 +v -4.212502 4.403347 -2.624998 +v -4.203350 4.412498 -2.624998 +v -4.200001 4.424999 -2.624998 +v -4.203350 4.424999 -2.612499 +v -4.212502 4.424999 -2.603350 +v -4.224998 4.424999 -2.600000 +v -4.224998 4.412498 -2.603350 +v -4.224998 4.403347 -2.612499 +v -4.224998 4.400002 -2.624998 +v -4.224998 5.187500 -3.396650 +v -4.224998 5.196651 -3.387501 +v -4.224998 5.200001 -3.375002 +v -4.212502 5.196651 -3.375002 +v -4.203350 5.187500 -3.375002 +v -4.200001 5.175003 -3.375002 +v -4.203350 5.175003 -3.387501 +v -4.212502 5.175003 -3.396650 +v -4.224998 5.175003 -3.400000 +v -4.224998 4.403347 -3.387501 +v -4.224998 4.412498 -3.396650 +v -4.224998 4.424999 -3.400000 +v -4.212502 4.424999 -3.396650 +v -4.203350 4.424999 -3.387501 +v -4.200001 4.424999 -3.375002 +v -4.203350 4.412498 -3.375002 +v -4.212502 4.403347 -3.375002 +v -4.224998 4.400002 -3.375002 +v -5.000000 5.200001 -3.375002 +v -5.000000 5.196651 -3.387501 +v -5.000000 5.187500 -3.396650 +v -5.000000 5.175003 -3.400000 +v -5.000000 4.424999 -3.400000 +v -5.000000 4.412498 -3.396650 +v -5.000000 4.403347 -3.387501 +v -5.000000 4.400002 -3.375002 +v -4.205231 5.185802 -2.614197 +v -4.214195 5.194771 -2.614197 +v -4.214195 5.185802 -2.605228 +v -4.214195 4.405228 -2.614197 +v -4.205231 4.414196 -2.614197 +v -4.214195 4.414196 -2.605228 +v -4.214195 5.185802 -3.394772 +v -4.214195 5.194771 -3.385803 +v -4.205231 5.185802 -3.385803 +v -4.214195 4.405228 -3.385803 +v -4.214195 4.414196 -3.394772 +v -4.205231 4.414196 -3.385803 +v -5.000000 4.375004 -1.799999 +v -5.000000 4.387501 -1.803349 +v -5.000000 4.396652 -1.812498 +v -5.000000 4.400002 -1.824997 +v -5.000000 4.000000 -1.824997 +v -5.000000 4.003349 -1.812498 +v -5.000000 4.012501 -1.803349 +v -5.000000 4.024998 -1.799999 +v -4.603348 4.387501 -1.824997 +v -4.612499 4.396652 -1.824997 +v -4.625000 4.400002 -1.824997 +v -4.625000 4.396652 -1.812498 +v -4.625000 4.387501 -1.803349 +v -4.625000 4.375004 -1.799999 +v -4.612499 4.375004 -1.803349 +v -4.603348 4.375004 -1.812498 +v -4.599998 4.375004 -1.824997 +v -4.612499 4.003349 -1.824997 +v -4.603348 4.012501 -1.824997 +v -4.599998 4.024998 -1.824997 +v -4.603348 4.024998 -1.812498 +v -4.612499 4.024998 -1.803349 +v -4.625000 4.024998 -1.799999 +v -4.625000 4.012501 -1.803349 +v -4.625000 4.003349 -1.812498 +v -4.625000 4.000000 -1.824997 +v -4.625000 4.387501 -2.196651 +v -4.625000 4.396652 -2.187502 +v -4.625000 4.400002 -2.175003 +v -4.612499 4.396652 -2.175003 +v -4.603348 4.387501 -2.175003 +v -4.599998 4.375004 -2.175003 +v -4.603348 4.375004 -2.187502 +v -4.612499 4.375004 -2.196651 +v -4.625000 4.375004 -2.200001 +v -4.625000 4.003349 -2.187502 +v -4.625000 4.012501 -2.196651 +v -4.625000 4.024998 -2.200001 +v -4.612499 4.024998 -2.196651 +v -4.603348 4.024998 -2.187502 +v -4.599998 4.024998 -2.175003 +v -4.603348 4.012501 -2.175003 +v -4.612499 4.003349 -2.175003 +v -4.625000 4.000000 -2.175003 +v -5.000000 4.400002 -2.175003 +v -5.000000 4.396652 -2.187502 +v -5.000000 4.387501 -2.196651 +v -5.000000 4.375004 -2.200001 +v -5.000000 4.024998 -2.200001 +v -5.000000 4.012501 -2.196651 +v -5.000000 4.003349 -2.187502 +v -5.000000 4.000000 -2.175003 +v -4.605228 4.385803 -1.814196 +v -4.614197 4.394772 -1.814196 +v -4.614197 4.385803 -1.805229 +v -4.614197 4.005230 -1.814196 +v -4.605228 4.014194 -1.814196 +v -4.614197 4.014194 -1.805229 +v -4.614197 4.385803 -2.194771 +v -4.614197 4.394772 -2.185804 +v -4.605228 4.385803 -2.185804 +v -4.614197 4.005230 -2.185804 +v -4.614197 4.014194 -2.194771 +v -4.605228 4.014194 -2.185804 +v 3.403349 0.012498 5.000000 +v 3.412498 0.003348 5.000000 +v 3.424997 0.000000 5.000000 +v 3.400000 0.024997 5.000000 +v 3.412498 0.796651 5.000000 +v 3.403349 0.787500 5.000000 +v 3.400000 0.775002 5.000000 +v 3.424997 0.800000 5.000000 +v 3.412498 0.775002 4.203350 +v 3.403349 0.775002 4.212498 +v 3.400000 0.775002 4.224998 +v 3.403349 0.787500 4.224998 +v 3.412498 0.796651 4.224998 +v 3.424997 0.800000 4.224998 +v 3.424997 0.796651 4.212498 +v 3.424997 0.787500 4.203350 +v 3.424997 0.775002 4.200001 +v 3.412498 0.003348 4.224998 +v 3.403349 0.012498 4.224998 +v 3.400000 0.024997 4.224998 +v 3.403349 0.024997 4.212498 +v 3.412498 0.024997 4.203350 +v 3.424997 0.024997 4.200001 +v 3.424997 0.012498 4.203350 +v 4.225006 0.012498 4.203350 +v 3.414196 0.785803 4.205227 +v 3.405230 0.785803 4.214195 +v 3.414196 0.794771 4.214195 +v 3.414196 0.005228 4.214195 +v 3.405230 0.014195 4.214195 +v 3.414196 0.014195 4.205227 +v 3.424997 0.003348 4.212498 +v 4.225002 0.000000 4.224998 +v 4.225002 0.003348 4.212498 +v 3.424997 0.003295 4.224998 +v 4.225006 0.787500 4.203350 +v 4.225002 0.775002 4.200001 +v 4.225006 0.796651 4.212498 +v 4.225002 0.800000 4.224998 +v 4.225002 0.800000 5.000000 +v 4.225002 0.024997 4.200001 +v 1.424997 1.600000 5.000000 +v 1.412498 1.603348 5.000000 +v 1.403349 1.612498 5.000000 +v 1.400000 1.624997 5.000000 +v 1.424997 1.603348 4.612499 +v 1.424997 1.612498 4.603348 +v 1.424997 1.624997 4.599998 +v 1.412498 1.624997 4.603348 +v 1.403349 1.624997 4.612499 +v 1.400000 1.624997 4.624996 +v 1.403349 1.612498 4.624996 +v 1.412498 1.603348 4.624996 +v 1.424997 1.600000 4.624996 +v 1.400000 1.975002 5.000000 +v 1.403349 1.987499 5.000000 +v 1.412498 1.996651 5.000000 +v 1.424997 2.000000 5.000000 +v 1.424997 1.987499 4.603348 +v 1.424997 1.996651 4.612499 +v 1.424997 2.000000 4.624996 +v 1.412498 1.996651 4.624996 +v 1.403349 1.987499 4.624996 +v 1.400000 1.975002 4.624996 +v 1.403349 1.975002 4.612499 +v 1.412498 1.975002 4.603348 +v 1.424997 1.975002 4.599998 +v 1.414196 1.605227 4.614197 +v 1.414196 1.614195 4.605228 +v 1.405229 1.614195 4.614197 +v 1.414196 1.985804 4.605228 +v 1.414196 1.994770 4.614197 +v 1.405229 1.985804 4.614197 +v 1.775002 1.600000 5.000000 +v 1.787500 1.603348 5.000000 +v 1.796652 1.612498 5.000000 +v 1.799999 1.624997 5.000000 +v 1.775002 1.603348 4.612499 +v 1.775002 1.612498 4.603348 +v 1.775002 1.624997 4.599998 +v 1.787500 1.624997 4.603348 +v 1.796652 1.624997 4.612499 +v 1.799999 1.624997 4.624996 +v 1.796652 1.612498 4.624996 +v 1.787500 1.603348 4.624996 +v 1.775002 1.600000 4.624996 +v 1.799999 1.975002 5.000000 +v 1.796652 1.987499 5.000000 +v 1.787500 1.996651 5.000000 +v 1.775002 2.000000 5.000000 +v 1.775002 1.987499 4.603348 +v 1.775002 1.996651 4.612499 +v 1.775002 2.000000 4.624996 +v 1.787500 1.996651 4.624996 +v 1.796652 1.987499 4.624996 +v 1.799999 1.975002 4.624996 +v 1.796652 1.975002 4.612499 +v 1.787500 1.975002 4.603348 +v 1.775002 1.975002 4.599998 +v 1.785803 1.605227 4.614197 +v 1.785803 1.614195 4.605228 +v 1.794771 1.614195 4.614197 +v 1.785803 1.985804 4.605228 +v 1.785803 1.994770 4.614197 +v 1.794771 1.985804 4.614197 +v 2.175003 1.600000 5.000000 +v 2.187502 1.603348 5.000000 +v 2.196651 1.612498 5.000000 +v 2.200001 1.624997 5.000000 +v 2.175003 1.603348 4.612499 +v 2.175003 1.612498 4.603348 +v 2.175003 1.624997 4.599998 +v 2.187502 1.624997 4.603348 +v 2.196651 1.624997 4.612499 +v 2.200001 1.624997 4.624996 +v 2.196651 1.612498 4.624996 +v 2.187502 1.603348 4.624996 +v 2.175003 1.600000 4.624996 +v 2.200001 1.975002 5.000000 +v 2.196651 1.987499 5.000000 +v 2.187502 1.996651 5.000000 +v 2.175003 2.000000 5.000000 +v 2.175003 1.987499 4.603348 +v 2.175003 1.996651 4.612499 +v 2.175003 2.000000 4.624996 +v 2.187502 1.996651 4.624996 +v 2.196651 1.987499 4.624996 +v 2.200001 1.975002 4.624996 +v 2.196651 1.975002 4.612499 +v 2.187502 1.975002 4.603348 +v 2.175003 1.975002 4.599998 +v 2.185804 1.605227 4.614197 +v 2.185804 1.614195 4.605228 +v 2.194771 1.614195 4.614197 +v 2.185804 1.985804 4.605228 +v 2.185804 1.994770 4.614197 +v 2.194771 1.985804 4.614197 +v 4.200001 4.775002 5.000000 +v 4.196651 4.787502 5.000000 +v 4.187500 4.796650 5.000000 +v 4.175003 4.799999 5.000000 +v 4.196651 4.775002 4.612499 +v 4.187500 4.775002 4.603348 +v 4.175003 4.775002 4.599998 +v 4.175003 4.787502 4.603348 +v 4.175003 4.796650 4.612499 +v 4.175003 4.799999 4.624996 +v 4.187500 4.796650 4.624996 +v 4.196651 4.787502 4.624996 +v 4.200001 4.775002 4.624996 +v 3.824997 4.799999 5.000000 +v 3.812500 4.796650 5.000000 +v 3.803349 4.787502 5.000000 +v 3.799999 4.775002 5.000000 +v 3.812500 4.775002 4.603348 +v 3.803349 4.775002 4.612499 +v 3.799999 4.775002 4.624996 +v 3.803349 4.787502 4.624996 +v 3.812500 4.796650 4.624996 +v 3.824997 4.799999 4.624996 +v 3.824997 4.796650 4.612499 +v 3.824997 4.787502 4.603348 +v 3.824997 4.775002 4.599998 +v 3.799999 4.424999 5.000000 +v 3.803349 4.412498 5.000000 +v 3.812500 4.403347 5.000000 +v 3.824997 4.400002 5.000000 +v 3.824997 4.412498 4.603348 +v 3.824997 4.403347 4.612499 +v 3.824997 4.400002 4.624996 +v 3.812500 4.403347 4.624996 +v 3.803349 4.412498 4.624996 +v 3.799999 4.424999 4.624996 +v 3.803349 4.424999 4.612499 +v 3.812500 4.424999 4.603348 +v 3.824997 4.424999 4.599998 +v 4.175003 4.400002 5.000000 +v 4.187500 4.403347 5.000000 +v 4.196651 4.412498 5.000000 +v 4.200001 4.424999 5.000000 +v 4.187500 4.424999 4.603348 +v 4.196651 4.424999 4.612499 +v 4.200001 4.424999 4.624996 +v 4.196651 4.412498 4.624996 +v 4.187500 4.403347 4.624996 +v 4.175003 4.400002 4.624996 +v 4.175003 4.403347 4.612499 +v 4.175003 4.412498 4.603348 +v 4.175003 4.424999 4.599998 +v 4.194771 4.785805 4.614197 +v 4.185806 4.785805 4.605228 +v 4.185806 4.794773 4.614197 +v 3.814198 4.785805 4.605228 +v 3.805229 4.785805 4.614197 +v 3.814198 4.794773 4.614197 +v 3.814198 4.414196 4.605228 +v 3.814198 4.405228 4.614197 +v 3.805229 4.414196 4.614197 +v 4.185806 4.414196 4.605228 +v 4.194771 4.414196 4.614197 +v 4.185806 4.405228 4.614197 +v 3.024998 4.000000 5.000000 +v 3.012499 3.996651 5.000000 +v 3.003349 3.987499 5.000000 +v 3.000000 3.975002 5.000000 +v 3.799999 3.975002 5.000000 +v 3.796650 3.987499 5.000000 +v 3.787502 3.996651 5.000000 +v 3.775002 4.000000 5.000000 +v 3.012499 3.975002 4.203350 +v 3.003349 3.975002 4.212502 +v 3.000000 3.975002 4.224998 +v 3.003349 3.987499 4.224998 +v 3.012499 3.996651 4.224998 +v 3.024998 4.000000 4.224998 +v 3.024998 3.996651 4.212502 +v 3.024998 3.987499 4.203350 +v 3.024998 3.975002 4.200001 +v 3.796650 3.975002 4.212502 +v 3.787502 3.975002 4.203350 +v 3.775002 3.975002 4.200001 +v 3.775002 3.987499 4.203350 +v 3.775002 3.996651 4.212502 +v 3.775002 4.000000 4.224998 +v 3.787502 3.996651 4.224998 +v 3.796650 3.987499 4.224998 +v 3.799999 3.975002 4.224998 +v 3.012499 3.203348 4.224998 +v 3.003349 3.212500 4.224998 +v 3.000000 3.224998 4.224998 +v 3.003349 3.224998 4.212502 +v 3.012499 3.224998 4.203350 +v 3.024998 3.224998 4.200001 +v 3.024998 3.212500 4.203350 +v 3.024998 3.203348 4.212502 +v 3.024998 3.200001 4.224998 +v 3.796650 3.212500 4.224998 +v 3.787502 3.203348 4.224998 +v 3.775002 3.200001 4.224998 +v 3.775002 3.203348 4.212502 +v 3.775002 3.212500 4.203350 +v 3.775002 3.224998 4.200001 +v 3.787502 3.224998 4.203350 +v 3.796650 3.224998 4.212502 +v 3.799999 3.224998 4.224998 +v 3.000000 3.224998 5.000000 +v 3.003349 3.212500 5.000000 +v 3.012499 3.203348 5.000000 +v 3.024998 3.200001 5.000000 +v 3.775002 3.200001 5.000000 +v 3.787502 3.203348 5.000000 +v 3.796650 3.212500 5.000000 +v 3.799999 3.224998 5.000000 +v 3.014196 3.985806 4.205231 +v 3.005228 3.985806 4.214195 +v 3.014196 3.994770 4.214195 +v 3.794773 3.985806 4.214195 +v 3.785805 3.985806 4.205231 +v 3.785805 3.994770 4.214195 +v 3.014196 3.205229 4.214195 +v 3.005228 3.214197 4.214195 +v 3.014196 3.214197 4.205231 +v 3.794773 3.214197 4.214195 +v 3.785805 3.205229 4.214195 +v 3.785805 3.214197 4.205231 +v -1.824997 1.200000 5.000000 +v -1.812498 1.203348 5.000000 +v -1.803349 1.212499 5.000000 +v -1.799999 1.224997 5.000000 +v -1.824997 1.203348 4.612499 +v -1.824997 1.212499 4.603348 +v -1.824997 1.224997 4.599998 +v -1.812498 1.224997 4.603348 +v -1.803349 1.224997 4.612499 +v -1.799999 1.224997 4.624996 +v -1.803349 1.212499 4.624996 +v -1.812498 1.203348 4.624996 +v -1.824997 1.200000 4.624996 +v -1.799999 1.575002 5.000000 +v -1.803349 1.587500 5.000000 +v -1.812498 1.596651 5.000000 +v -1.824997 1.600000 5.000000 +v -1.824997 1.587500 4.603348 +v -1.824997 1.596651 4.612499 +v -1.824997 1.600000 4.624996 +v -1.812498 1.596651 4.624996 +v -1.803349 1.587500 4.624996 +v -1.799999 1.575002 4.624996 +v -1.803349 1.575002 4.612499 +v -1.812498 1.575002 4.603348 +v -1.824997 1.575002 4.599998 +v -2.175003 1.600000 5.000000 +v -2.187502 1.596651 5.000000 +v -2.196651 1.587500 5.000000 +v -2.200001 1.575002 5.000000 +v -2.187502 1.575002 4.603348 +v -2.196651 1.575002 4.612499 +v -2.200001 1.575002 4.624996 +v -2.196651 1.587500 4.624996 +v -2.187502 1.596651 4.624996 +v -2.175003 1.600000 4.624996 +v -2.175003 1.596651 4.612499 +v -2.175003 1.587500 4.603348 +v -2.175003 1.575002 4.599998 +v -2.200001 1.224997 5.000000 +v -2.196651 1.212499 5.000000 +v -2.187502 1.203348 5.000000 +v -2.175003 1.200000 5.000000 +v -2.175003 1.212499 4.603348 +v -2.175003 1.203348 4.612499 +v -2.175003 1.200000 4.624996 +v -2.187502 1.203348 4.624996 +v -2.196651 1.212499 4.624996 +v -2.200001 1.224997 4.624996 +v -2.196651 1.224997 4.612499 +v -2.187502 1.224997 4.603348 +v -2.175003 1.224997 4.599998 +v -1.814196 1.205228 4.614197 +v -1.814196 1.214195 4.605228 +v -1.805229 1.214195 4.614197 +v -1.814196 1.585803 4.605228 +v -1.814196 1.594770 4.614197 +v -1.805229 1.585803 4.614197 +v -2.185804 1.585803 4.605228 +v -2.194771 1.585803 4.614197 +v -2.185804 1.594770 4.614197 +v -2.185804 1.214195 4.605228 +v -2.185804 1.205228 4.614197 +v -2.194771 1.214195 4.614197 +v -3.824997 0.000000 5.000000 +v -3.812500 0.003348 5.000000 +v -3.803349 0.012498 5.000000 +v -3.799999 0.024997 5.000000 +v -3.824997 0.003348 4.612499 +v -3.824997 0.012498 4.603348 +v -3.824997 0.024997 4.599998 +v -3.812500 0.024997 4.603348 +v -3.803349 0.024997 4.612499 +v -3.799999 0.024997 4.624996 +v -3.803349 0.012498 4.624996 +v -3.812500 0.003348 4.624996 +v -3.824997 0.000000 4.624996 +v -3.799999 0.375001 5.000000 +v -3.803349 0.387500 5.000000 +v -3.812500 0.396651 5.000000 +v -3.824997 0.400000 5.000000 +v -3.824997 0.387500 4.603348 +v -3.824997 0.396651 4.612499 +v -3.824997 0.400000 4.624996 +v -3.812500 0.396651 4.624996 +v -3.803349 0.387500 4.624996 +v -3.799999 0.375001 4.624996 +v -3.803349 0.375001 4.612499 +v -3.812500 0.375001 4.603348 +v -3.824997 0.375001 4.599998 +v -4.175003 0.400000 5.000000 +v -4.187500 0.396651 5.000000 +v -4.196651 0.387500 5.000000 +v -4.200001 0.375001 5.000000 +v -4.187500 0.375001 4.603348 +v -4.196651 0.375001 4.612499 +v -4.200001 0.375001 4.624996 +v -4.196651 0.387500 4.624996 +v -4.187500 0.396651 4.624996 +v -4.175003 0.400000 4.624996 +v -4.175003 0.396651 4.612499 +v -4.175003 0.387500 4.603348 +v -4.175003 0.375001 4.599998 +v -4.175003 0.012498 4.603348 +v -4.175003 0.003348 4.612499 +v -4.175003 0.000000 4.624996 +v -4.187500 0.003348 4.624996 +v -4.196651 0.012498 4.624996 +v -4.200001 0.024997 4.624996 +v -4.196651 0.024997 4.612499 +v -4.187500 0.024997 4.603348 +v -4.175003 0.024997 4.599998 +v -3.814198 0.005228 4.614197 +v -3.814198 0.014195 4.605228 +v -3.805229 0.014195 4.614197 +v -3.814198 0.385803 4.605228 +v -3.814198 0.394771 4.614197 +v -3.805229 0.385803 4.614197 +v -4.185802 0.385803 4.605228 +v -4.194771 0.385803 4.614197 +v -4.185802 0.394771 4.614197 +v -4.185802 0.014195 4.605228 +v -4.185802 0.005228 4.614197 +v -4.194771 0.014195 4.614197 +v 1.824999 1.600000 5.000000 +v 1.812498 1.603348 5.000000 +v 1.803349 1.612498 5.000000 +v 1.824999 1.603348 4.612499 +v 1.824997 1.612498 4.603348 +v 1.824997 1.624997 4.599998 +v 1.812498 1.624997 4.603348 +v 1.803349 1.624997 4.612499 +v 1.803349 1.612498 4.624996 +v 1.812498 1.603348 4.624996 +v 1.824997 1.600000 4.624996 +v 1.803349 1.987499 5.000000 +v 1.812498 1.996651 5.000000 +v 1.824997 2.000000 5.000000 +v 1.824997 1.987499 4.603348 +v 1.824997 1.996651 4.612499 +v 1.824997 2.000000 4.624996 +v 1.812498 1.996651 4.624996 +v 1.803349 1.987499 4.624996 +v 1.803349 1.975002 4.612499 +v 1.812498 1.975002 4.603348 +v 1.824997 1.975002 4.599998 +v 1.814196 1.605227 4.614197 +v 1.814196 1.614195 4.605228 +v 1.805229 1.614195 4.614197 +v 1.814196 1.985804 4.605228 +v 1.814196 1.994770 4.614197 +v 1.805229 1.985804 4.614197 +v 1.424997 1.200000 5.000000 +v 1.412498 1.203348 5.000000 +v 1.403349 1.212499 5.000000 +v 1.400000 1.224997 5.000000 +v 1.424997 1.203348 4.612499 +v 1.424997 1.212499 4.603348 +v 1.424997 1.224997 4.599998 +v 1.412498 1.224997 4.603348 +v 1.403349 1.224997 4.612499 +v 1.400000 1.224997 4.624996 +v 1.403349 1.212499 4.624996 +v 1.412498 1.203348 4.624996 +v 1.424997 1.200000 4.624996 +v 1.400000 1.575002 5.000000 +v 1.403349 1.587500 5.000000 +v 1.412498 1.596651 5.000000 +v 1.424997 1.587500 4.603348 +v 1.424997 1.596651 4.612499 +v 1.412498 1.596651 4.624996 +v 1.403349 1.587500 4.624996 +v 1.400000 1.575002 4.624996 +v 1.403349 1.575002 4.612499 +v 1.412498 1.575002 4.603348 +v 1.424997 1.575002 4.599998 +v 1.414196 1.205228 4.614197 +v 1.414196 1.214195 4.605228 +v 1.405229 1.214195 4.614197 +v 1.414196 1.585803 4.605228 +v 1.414196 1.594770 4.614197 +v 1.405229 1.585803 4.614197 +v 1.775002 1.200000 5.000000 +v 1.787500 1.203348 5.000000 +v 1.796652 1.212499 5.000000 +v 1.799999 1.224997 5.000000 +v 1.775002 1.203348 4.612499 +v 1.775002 1.212499 4.603348 +v 1.775002 1.224997 4.599998 +v 1.787500 1.224997 4.603348 +v 1.796652 1.224997 4.612499 +v 1.799999 1.224997 4.624996 +v 1.796652 1.212499 4.624996 +v 1.787500 1.203348 4.624996 +v 1.775002 1.200000 4.624996 +v 1.799999 1.575002 5.000000 +v 1.796652 1.587500 5.000000 +v 1.787500 1.596651 5.000000 +v 1.775002 1.587500 4.603348 +v 1.775002 1.596651 4.612499 +v 1.787500 1.596651 4.624996 +v 1.796652 1.587500 4.624996 +v 1.799999 1.575002 4.624996 +v 1.796652 1.575002 4.612499 +v 1.787500 1.575002 4.603348 +v 1.775002 1.575002 4.599998 +v 1.785803 1.205228 4.614197 +v 1.785803 1.214195 4.605228 +v 1.794771 1.214195 4.614197 +v 1.785803 1.585803 4.605228 +v 1.785803 1.594770 4.614197 +v 1.794771 1.585803 4.614197 +v -4.212498 0.803348 5.000000 +v -4.203350 0.812499 5.000000 +v -4.200001 0.824997 5.000000 +v -4.224998 0.800000 5.000000 +v -4.203350 1.587500 5.000000 +v -4.212498 1.596651 5.000000 +v -4.224998 1.600000 5.000000 +v -4.200001 1.575002 5.000000 +v -5.000000 1.600000 4.224998 +v -5.000000 1.596651 4.212498 +v -5.000000 1.587500 4.203350 +v -5.000000 1.575002 4.200001 +v -4.203350 1.575002 4.212498 +v -4.212498 1.575002 4.203350 +v -4.224998 1.575002 4.200001 +v -4.224998 1.587500 4.203350 +v -4.224998 1.596651 4.212498 +v -4.224998 1.600000 4.224998 +v -4.212498 1.596651 4.224998 +v -4.203350 1.587500 4.224998 +v -4.200001 1.575002 4.224998 +v -4.203350 0.812499 4.224998 +v -4.212498 0.803348 4.224998 +v -4.224998 0.800000 4.224998 +v -4.224998 0.803348 4.212498 +v -4.224998 0.812499 4.203350 +v -4.224998 0.824997 4.200001 +v -4.212498 0.824997 4.203350 +v -4.203350 0.824997 4.212498 +v -4.200001 0.824997 4.224998 +v -4.205227 1.585803 4.214195 +v -4.214195 1.585803 4.205227 +v -4.214195 1.594770 4.214195 +v -4.205227 0.814195 4.214195 +v -4.214195 0.805228 4.214195 +v -4.214195 0.814195 4.205227 +v -4.212498 1.603348 5.000000 +v -4.203350 1.612498 5.000000 +v -4.200001 1.624997 5.000000 +v -5.000000 2.400000 5.000000 +v -4.203350 2.387501 5.000000 +v -4.212498 2.396650 5.000000 +v -4.224998 2.400000 5.000000 +v -4.200001 2.375002 5.000000 +v -5.000000 2.400000 4.224998 +v -5.000000 2.396650 4.212498 +v -5.000000 2.387501 4.203350 +v -5.000000 2.375002 4.200001 +v -4.203350 2.375002 4.212498 +v -4.212498 2.375002 4.203350 +v -4.224998 2.375002 4.200001 +v -4.224998 2.387501 4.203350 +v -4.224998 2.396650 4.212498 +v -4.224998 2.400000 4.224998 +v -4.212498 2.396650 4.224998 +v -4.203350 2.387501 4.224998 +v -4.200001 2.375002 4.224998 +v -5.000000 1.624997 4.200001 +v -5.000000 1.612498 4.203350 +v -5.000000 1.603348 4.212498 +v -4.203350 1.612498 4.224998 +v -4.212498 1.603348 4.224998 +v -4.224998 1.603348 4.212498 +v -4.224998 1.612498 4.203350 +v -4.224998 1.624997 4.200001 +v -4.212498 1.624997 4.203350 +v -4.203350 1.624997 4.212498 +v -4.200001 1.624997 4.224998 +v -4.205227 2.385803 4.214195 +v -4.214195 2.385803 4.205227 +v -4.214195 2.394772 4.214195 +v -4.205227 1.614195 4.214195 +v -4.214195 1.605227 4.214195 +v -4.214195 1.614195 4.205227 +v -4.212498 0.003348 4.175003 +v -4.203350 0.012498 4.175003 +v -4.200001 0.024997 4.175003 +v -4.203350 0.024997 4.187500 +v -4.212498 0.024997 4.196651 +v -4.224998 0.024997 4.200001 +v -4.224998 0.012498 4.196651 +v -4.224998 0.003348 4.187500 +v -4.224998 0.000000 4.175003 +v -4.203350 0.787500 4.175003 +v -4.212498 0.796651 4.175003 +v -4.224998 0.800000 4.175003 +v -4.224998 0.796651 4.187500 +v -4.224998 0.787500 4.196651 +v -4.224998 0.775002 4.200001 +v -4.212498 0.775002 4.196651 +v -4.203350 0.775002 4.187500 +v -4.200001 0.775002 4.175003 +v -5.000000 0.800000 3.424997 +v -5.000000 0.796651 3.412498 +v -5.000000 0.787500 3.403349 +v -5.000000 0.775002 3.400000 +v -4.203350 0.775002 3.412498 +v -4.212498 0.775002 3.403349 +v -4.224998 0.775002 3.400000 +v -4.224998 0.787500 3.403349 +v -4.224998 0.796651 3.412498 +v -4.224998 0.800000 3.424997 +v -4.212498 0.796651 3.424997 +v -4.203350 0.787500 3.424997 +v -4.200001 0.775002 3.424997 +v -4.203350 0.012498 3.424997 +v -4.212498 0.003348 3.424997 +v -4.224998 0.000000 3.424997 +v -4.224998 0.003348 3.412498 +v -4.224998 0.012498 3.403349 +v -4.224998 0.024997 3.400000 +v -4.212498 0.024997 3.403349 +v -4.203350 0.024997 3.412498 +v -4.200001 0.024997 3.424997 +v -4.214195 0.005228 4.185802 +v -4.205227 0.014195 4.185802 +v -4.214195 0.014195 4.194771 +v -4.205227 0.785803 4.185802 +v -4.214195 0.794771 4.185802 +v -4.214195 0.785803 4.194771 +v -4.205227 0.785803 3.414196 +v -4.214195 0.785803 3.405230 +v -4.214195 0.794771 3.414196 +v -4.205227 0.014195 3.414196 +v -4.214195 0.005228 3.414196 +v -4.214195 0.014195 3.405230 +v -4.212498 0.803348 4.175003 +v -4.203350 0.812499 4.175003 +v -4.200001 0.824997 4.175003 +v -4.203350 0.824997 4.187500 +v -4.212498 0.824997 4.196651 +v -4.224998 0.812499 4.196651 +v -4.224998 0.803348 4.187500 +v -5.000000 1.587500 4.196651 +v -5.000000 1.596651 4.187500 +v -5.000000 1.600000 4.175003 +v -4.203350 1.587500 4.175003 +v -4.212498 1.596651 4.175003 +v -4.224998 1.600000 4.175003 +v -4.224998 1.596651 4.187500 +v -4.224998 1.587500 4.196651 +v -4.212498 1.575002 4.196651 +v -4.203350 1.575002 4.187500 +v -4.200001 1.575002 4.175003 +v -5.000000 1.600000 3.424997 +v -5.000000 1.596651 3.412498 +v -5.000000 1.587500 3.403349 +v -5.000000 1.575002 3.400000 +v -4.203350 1.575002 3.412498 +v -4.212498 1.575002 3.403349 +v -4.224998 1.575002 3.400000 +v -4.224998 1.587500 3.403349 +v -4.224998 1.596651 3.412498 +v -4.224998 1.600000 3.424997 +v -4.212498 1.596651 3.424997 +v -4.203350 1.587500 3.424997 +v -4.200001 1.575002 3.424997 +v -5.000000 0.824997 3.400000 +v -5.000000 0.812499 3.403349 +v -5.000000 0.803348 3.412498 +v -4.203350 0.812499 3.424997 +v -4.212498 0.803348 3.424997 +v -4.224998 0.803348 3.412498 +v -4.224998 0.812499 3.403349 +v -4.224998 0.824997 3.400000 +v -4.212498 0.824997 3.403349 +v -4.203350 0.824997 3.412498 +v -4.200001 0.824997 3.424997 +v -4.214195 0.805228 4.185802 +v -4.205227 0.814195 4.185802 +v -4.214195 0.814195 4.194771 +v -4.205227 1.585803 4.185802 +v -4.214195 1.594770 4.185802 +v -4.214195 1.585803 4.194771 +v -4.205227 1.585803 3.414196 +v -4.214195 1.585803 3.405230 +v -4.214195 1.594770 3.414196 +v -4.205227 0.814195 3.414196 +v -4.214195 0.805228 3.414196 +v -4.214195 0.814195 3.405230 +v -4.212498 0.003348 3.375002 +v -4.203350 0.012498 3.375002 +v -4.200001 0.024997 3.375002 +v -4.203350 0.024997 3.387501 +v -4.212498 0.024997 3.396650 +v -4.224998 0.012498 3.396650 +v -4.224998 0.003348 3.387501 +v -4.224998 0.000000 3.375002 +v -5.000000 0.775002 3.400000 +v -5.000000 0.787500 3.396650 +v -5.000000 0.796651 3.387501 +v -5.000000 0.800000 3.375002 +v -4.203350 0.787500 3.375002 +v -4.212498 0.796651 3.375002 +v -4.224998 0.800000 3.375002 +v -4.224998 0.796651 3.387501 +v -4.224998 0.787500 3.396650 +v -4.212498 0.775002 3.396650 +v -4.203350 0.775002 3.387501 +v -4.200001 0.775002 3.375002 +v -5.000000 0.800000 2.624998 +v -5.000000 0.796651 2.612499 +v -5.000000 0.787500 2.603350 +v -5.000000 0.775002 2.600000 +v -4.203350 0.775002 2.612499 +v -4.212498 0.775002 2.603350 +v -4.224998 0.775002 2.600000 +v -4.224998 0.787500 2.603350 +v -4.224998 0.796651 2.612499 +v -4.224998 0.800000 2.624998 +v -4.212498 0.796651 2.624998 +v -4.203350 0.787500 2.624998 +v -4.200001 0.775002 2.624998 +v -5.000000 0.024997 2.600000 +v -5.000000 0.012498 2.603350 +v -5.000000 0.003348 2.612499 +v -5.000000 0.000000 2.624998 +v -4.203350 0.012498 2.624998 +v -4.212498 0.003348 2.624998 +v -4.224998 0.000000 2.624998 +v -4.224998 0.003348 2.612499 +v -4.224998 0.012498 2.603350 +v -4.224998 0.024997 2.600000 +v -4.212498 0.024997 2.603350 +v -4.203350 0.024997 2.612499 +v -4.200001 0.024997 2.624998 +v -4.214195 0.005228 3.385803 +v -4.205227 0.014195 3.385803 +v -4.214195 0.014195 3.394772 +v -4.205227 0.785803 3.385803 +v -4.214195 0.794771 3.385803 +v -4.214195 0.785803 3.394772 +v -4.205227 0.785803 2.614197 +v -4.214195 0.785803 2.605228 +v -4.214195 0.794771 2.614197 +v -4.205227 0.014195 2.614197 +v -4.214195 0.005228 2.614197 +v -4.214195 0.014195 2.605228 +v -4.212498 0.003348 5.000000 +v -4.203350 0.012498 5.000000 +v -4.200001 0.024997 5.000000 +v -4.224998 0.000000 5.000000 +v -4.203350 0.787500 5.000000 +v -4.212498 0.796651 5.000000 +v -4.200001 0.775002 5.000000 +v -4.203350 0.775002 4.212498 +v -4.212498 0.775002 4.203350 +v -4.224998 0.787500 4.203350 +v -4.224998 0.796651 4.212498 +v -4.212498 0.796651 4.224998 +v -4.203350 0.787500 4.224998 +v -4.200001 0.775002 4.224998 +v -4.203350 0.012498 4.224998 +v -4.212498 0.003348 4.224998 +v -4.224998 0.000000 4.224998 +v -4.224998 0.003348 4.212498 +v -4.224998 0.012498 4.203350 +v -4.212498 0.024997 4.203350 +v -4.203350 0.024997 4.212498 +v -4.200001 0.024997 4.224998 +v -4.205227 0.785803 4.214195 +v -4.214195 0.785803 4.205227 +v -4.214195 0.794771 4.214195 +v -4.205227 0.014195 4.214195 +v -4.214195 0.005228 4.214195 +v -4.214195 0.014195 4.205227 +v -4.224998 0.799999 4.200001 +v -4.200001 5.975002 5.000000 +v -4.203350 5.987499 4.975002 +v -4.212498 5.996651 4.975002 +v -4.224998 6.000000 4.975002 +v -4.975002 6.000000 4.224998 +v -4.975002 5.996651 4.212502 +v -4.975002 5.987499 4.203350 +v -5.000000 5.975002 4.200001 +v -4.203350 5.975002 4.212502 +v -4.212498 5.975002 4.203350 +v -4.224998 5.975002 4.200001 +v -4.224998 5.987499 4.203350 +v -4.224998 5.996651 4.212502 +v -4.224998 6.000000 4.224998 +v -4.212498 5.996651 4.224998 +v -4.203350 5.987499 4.224998 +v -4.200001 5.975002 4.224998 +v -5.000000 5.224998 4.200001 +v -5.000000 5.212498 4.203350 +v -5.000000 5.203350 4.212502 +v -5.000000 5.200001 4.224998 +v -4.203350 5.212498 4.224998 +v -4.212498 5.203350 4.224998 +v -4.224998 5.200001 4.224998 +v -4.224998 5.203350 4.212502 +v -4.224998 5.212498 4.203350 +v -4.224998 5.224998 4.200001 +v -4.212498 5.224998 4.203350 +v -4.203350 5.224998 4.212502 +v -4.200001 5.224998 4.224998 +v -5.000000 5.200001 5.000000 +v -4.224998 5.200001 5.000000 +v -4.212498 5.203350 5.000000 +v -4.203350 5.212498 5.000000 +v -4.200001 5.224998 5.000000 +v -4.205227 5.985806 4.214195 +v -4.214195 5.985806 4.205231 +v -4.214195 5.994770 4.214195 +v -4.205227 5.214195 4.214195 +v -4.214195 5.205227 4.214195 +v -4.214195 5.214195 4.205231 +v 4.203350 0.012498 3.375002 +v 4.212498 0.003348 3.375002 +v 4.224998 0.000000 3.375002 +v 4.224998 0.003348 3.387501 +v 4.224998 0.012498 3.396650 +v 4.224998 0.024997 3.400000 +v 4.212498 0.024997 3.396650 +v 4.203350 0.024997 3.387501 +v 4.200001 0.024997 3.375002 +v 4.212498 0.796651 3.375002 +v 4.203350 0.787500 3.375002 +v 4.200001 0.775002 3.375002 +v 4.203350 0.775002 3.387501 +v 4.212498 0.775002 3.396650 +v 4.224998 0.775002 3.400000 +v 4.224998 0.787500 3.396650 +v 4.224998 0.796651 3.387501 +v 4.224998 0.800000 3.375002 +v 5.000000 0.800000 3.375002 +v 5.000000 0.796651 3.387501 +v 5.000000 0.787500 3.396650 +v 5.000000 0.775002 3.400000 +v 4.212498 0.775002 2.603350 +v 4.203350 0.775002 2.612499 +v 4.200001 0.775002 2.624998 +v 4.203350 0.787500 2.624998 +v 4.212498 0.796651 2.624998 +v 4.224998 0.800000 2.624998 +v 4.224998 0.796651 2.612499 +v 4.224998 0.787500 2.603350 +v 4.224998 0.775002 2.600000 +v 5.000000 0.775002 2.600000 +v 5.000000 0.787500 2.603350 +v 5.000000 0.796651 2.612499 +v 5.000000 0.800000 2.624998 +v 4.212498 0.003348 2.624998 +v 4.203350 0.012498 2.624998 +v 4.200001 0.024997 2.624998 +v 4.203350 0.024997 2.612499 +v 4.212498 0.024997 2.603350 +v 4.224998 0.024997 2.600000 +v 4.224998 0.012498 2.603350 +v 4.224998 0.003348 2.612499 +v 4.224998 0.000000 2.624998 +v 5.000000 0.000000 2.624998 +v 5.000000 0.003348 2.612499 +v 5.000000 0.012498 2.603350 +v 5.000000 0.024997 2.600000 +v 4.205231 0.014195 3.385803 +v 4.214195 0.005228 3.385803 +v 4.214195 0.014195 3.394772 +v 4.214195 0.794771 3.385803 +v 4.205231 0.785803 3.385803 +v 4.214195 0.785803 3.394772 +v 4.214195 0.785803 2.605228 +v 4.205227 0.785803 2.614197 +v 4.214195 0.794771 2.614197 +v 4.214195 0.005228 2.614197 +v 4.205227 0.014195 2.614197 +v 4.214195 0.014195 2.605228 +v 4.203350 0.012498 4.175003 +v 4.212498 0.003348 4.175003 +v 4.224998 0.000000 4.175003 +v 4.224998 0.003348 4.187500 +v 4.224998 0.012498 4.196651 +v 4.225002 0.024997 4.200001 +v 4.212498 0.024997 4.196651 +v 4.203350 0.024997 4.187500 +v 4.200001 0.024997 4.175003 +v 4.212498 0.796651 4.175003 +v 4.203350 0.787500 4.175003 +v 4.200001 0.775002 4.175003 +v 4.203350 0.775002 4.187500 +v 4.212498 0.775002 4.196651 +v 4.225002 0.775002 4.200001 +v 4.224998 0.787500 4.196651 +v 4.224998 0.796651 4.187500 +v 4.224998 0.800000 4.175003 +v 4.212498 0.775002 3.403349 +v 4.203350 0.775002 3.412498 +v 4.200001 0.775002 3.424997 +v 4.203350 0.787500 3.424997 +v 4.212498 0.796651 3.424997 +v 4.224998 0.800000 3.424997 +v 4.224998 0.796651 3.412498 +v 4.224998 0.787500 3.403349 +v 5.000000 0.787500 3.403349 +v 5.000000 0.796651 3.412498 +v 5.000000 0.800000 3.424997 +v 4.212498 0.003348 3.424997 +v 4.203350 0.012498 3.424997 +v 4.200001 0.024997 3.424997 +v 4.203350 0.024997 3.412498 +v 4.212498 0.024997 3.403349 +v 4.224998 0.012498 3.403349 +v 4.224998 0.003348 3.412498 +v 4.224998 0.000000 3.424997 +v 4.205231 0.014195 4.185802 +v 4.214195 0.005228 4.185802 +v 4.214195 0.014195 4.194771 +v 4.214195 0.794771 4.185802 +v 4.205231 0.785803 4.185802 +v 4.214195 0.785803 4.194771 +v 4.214195 0.785803 3.405230 +v 4.205231 0.785803 3.414196 +v 4.214195 0.794771 3.414196 +v 4.214195 0.005228 3.414196 +v 4.205231 0.014195 3.414196 +v 4.214195 0.014195 3.405230 +v 4.225002 0.800000 5.000000 +v 4.225002 0.800000 4.224998 +v 4.203350 0.812499 4.175003 +v 4.212498 0.803348 4.175003 +v 4.224998 0.803348 4.187500 +v 4.224998 0.812499 4.196651 +v 4.224998 0.824997 4.200001 +v 4.212498 0.824997 4.196651 +v 4.203350 0.824997 4.187500 +v 4.200001 0.824997 4.175003 +v 4.212498 1.596651 4.175003 +v 4.203350 1.587500 4.175003 +v 4.200001 1.575002 4.175003 +v 4.203350 1.575002 4.187500 +v 4.212498 1.575002 4.196651 +v 4.224998 1.575002 4.200001 +v 4.224998 1.587500 4.196651 +v 4.224998 1.596651 4.187500 +v 4.224998 1.600000 4.175003 +v 5.000000 1.600000 4.175003 +v 5.000000 1.596651 4.187500 +v 5.000000 1.587500 4.196651 +v 5.000000 1.575002 4.200001 +v 4.212498 1.575002 3.403349 +v 4.203350 1.575002 3.412498 +v 4.200001 1.575002 3.424997 +v 4.203350 1.587500 3.424997 +v 4.212498 1.596651 3.424997 +v 4.224998 1.600000 3.424997 +v 4.224998 1.596651 3.412498 +v 4.224998 1.587500 3.403349 +v 4.224998 1.575002 3.400000 +v 5.000000 1.575002 3.400000 +v 5.000000 1.587500 3.403349 +v 5.000000 1.596651 3.412498 +v 5.000000 1.600000 3.424997 +v 4.212498 0.803348 3.424997 +v 4.203350 0.812499 3.424997 +v 4.200001 0.824997 3.424997 +v 4.203350 0.824997 3.412498 +v 4.212498 0.824997 3.403349 +v 4.224998 0.824997 3.400000 +v 4.224998 0.812499 3.403349 +v 4.224998 0.803348 3.412498 +v 5.000000 0.803348 3.412498 +v 5.000000 0.812499 3.403349 +v 5.000000 0.824997 3.400000 +v 4.205231 0.814195 4.185802 +v 4.214195 0.805228 4.185802 +v 4.214195 0.814195 4.194771 +v 4.214195 1.594770 4.185802 +v 4.205231 1.585803 4.185802 +v 4.214195 1.585803 4.194771 +v 4.214195 1.585803 3.405230 +v 4.205231 1.585803 3.414196 +v 4.214195 1.594770 3.414196 +v 4.214195 0.805228 3.414196 +v 4.205231 0.814195 3.414196 +v 4.214195 0.814195 3.405230 +v 4.203350 1.612498 5.000000 +v 4.212498 1.603348 5.000000 +v 4.224998 1.600000 5.000000 +v 4.200001 1.624997 5.000000 +v 4.212498 2.396650 5.000000 +v 4.203350 2.387501 5.000000 +v 4.200001 2.375002 5.000000 +v 4.224998 2.400000 5.000000 +v 5.000000 2.400000 5.000000 +v 4.212498 2.375002 4.203350 +v 4.203350 2.375002 4.212498 +v 4.200001 2.375002 4.224998 +v 4.203350 2.387501 4.224998 +v 4.212498 2.396650 4.224998 +v 4.224998 2.400000 4.224998 +v 4.224998 2.396650 4.212498 +v 4.224998 2.387501 4.203350 +v 4.224998 2.375002 4.200001 +v 5.000000 2.375002 4.200001 +v 5.000000 2.387501 4.203350 +v 5.000000 2.396650 4.212498 +v 5.000000 2.400000 4.224998 +v 4.212498 1.603348 4.224998 +v 4.203350 1.612498 4.224998 +v 4.200001 1.624997 4.224998 +v 4.203350 1.624997 4.212498 +v 4.212498 1.624997 4.203350 +v 4.224998 1.624997 4.200001 +v 4.224998 1.612498 4.203350 +v 4.224998 1.603348 4.212498 +v 4.224998 1.600000 4.224998 +v 5.000000 1.600000 4.224998 +v 5.000000 1.603348 4.212498 +v 5.000000 1.612498 4.203350 +v 5.000000 1.624997 4.200001 +v 4.214195 2.385803 4.205227 +v 4.205227 2.385803 4.214195 +v 4.214195 2.394772 4.214195 +v 4.214195 1.605227 4.214195 +v 4.205231 1.614195 4.214195 +v 4.214195 1.614195 4.205227 +v 4.203350 0.812499 5.000000 +v 4.212498 0.803348 5.000000 +v 4.200001 0.824997 5.000000 +v 4.212498 1.596651 5.000000 +v 4.203350 1.587500 5.000000 +v 4.200001 1.575002 5.000000 +v 4.212498 1.575002 4.203350 +v 4.203350 1.575002 4.212498 +v 4.200001 1.575002 4.224998 +v 4.203350 1.587500 4.224998 +v 4.212498 1.596651 4.224998 +v 4.224998 1.596651 4.212498 +v 4.224998 1.587500 4.203350 +v 5.000000 1.587500 4.203350 +v 5.000000 1.596651 4.212498 +v 4.212498 0.803348 4.224998 +v 4.203350 0.812499 4.224998 +v 4.200001 0.824997 4.224998 +v 4.203350 0.824997 4.212498 +v 4.212498 0.824997 4.203350 +v 4.224998 0.812499 4.203350 +v 4.224998 0.803348 4.212498 +v 4.214195 1.585803 4.205227 +v 4.205231 1.585803 4.214195 +v 4.214195 1.594770 4.214195 +v 4.214195 0.805228 4.214195 +v 4.205231 0.814195 4.214195 +v 4.214195 0.814195 4.205227 +v 4.225006 0.787500 4.203350 +v 4.225006 0.796651 4.212498 +v 4.224998 0.799999 4.200001 +v -4.200001 0.024997 4.612499 +v -4.203350 0.012498 4.612499 +v -4.212498 0.003348 4.612499 +v -4.224998 0.000000 4.612499 +v -4.200001 0.399999 4.612499 +v -4.200001 0.399999 5.000000 +v 4.203350 0.012498 -1.024998 +v 4.212498 0.003348 -1.024998 +v 4.224998 0.000000 -1.024998 +v 4.224998 0.003348 -1.012499 +v 4.224998 0.012498 -1.003349 +v 4.224998 0.024997 -1.000000 +v 4.212498 0.024997 -1.003349 +v 4.203350 0.024997 -1.012499 +v 4.200001 0.024997 -1.024998 +v 4.212498 0.796651 -1.024998 +v 4.203350 0.787500 -1.024998 +v 4.200001 0.775002 -1.024998 +v 4.203350 0.775002 -1.012499 +v 4.212498 0.775002 -1.003349 +v 4.224998 0.775002 -1.000000 +v 4.224998 0.787500 -1.003349 +v 4.224998 0.796651 -1.012499 +v 4.224998 0.800000 -1.024998 +v 4.212498 0.775002 -1.796652 +v 4.203350 0.775002 -1.787500 +v 4.200001 0.775002 -1.775002 +v 4.203350 0.787500 -1.775002 +v 4.212498 0.796651 -1.775002 +v 4.224998 0.800000 -1.775002 +v 4.224998 0.796651 -1.787500 +v 4.224998 0.787500 -1.796652 +v 4.224998 0.775002 -1.799999 +v 5.000000 0.775002 -1.799999 +v 5.000000 0.787500 -1.796652 +v 5.000000 0.796651 -1.787500 +v 5.000000 0.800000 -1.775002 +v 4.212498 0.003348 -1.775002 +v 4.203350 0.012498 -1.775002 +v 4.200001 0.024997 -1.775002 +v 4.203350 0.024997 -1.787500 +v 4.212498 0.024997 -1.796652 +v 4.224998 0.024997 -1.799999 +v 4.224998 0.012498 -1.796652 +v 4.224998 0.003348 -1.787500 +v 4.224998 0.000000 -1.775002 +v 4.205227 0.014195 -1.014196 +v 4.214195 0.005228 -1.014196 +v 4.214195 0.014195 -1.005229 +v 4.214195 0.794771 -1.014196 +v 4.205227 0.785803 -1.014196 +v 4.214195 0.785803 -1.005229 +v 4.214195 0.785803 -1.794771 +v 4.205227 0.785803 -1.785803 +v 4.214195 0.794771 -1.785803 +v 4.214195 0.005228 -1.785803 +v 4.205227 0.014195 -1.785803 +v 4.214195 0.014195 -1.794771 +v 5.000000 4.424999 2.200001 +v 5.000000 4.412498 2.196651 +v 5.000000 4.403347 2.187502 +v 5.000000 4.400002 2.175003 +v 5.000000 4.799999 2.175003 +v 5.000000 4.796650 2.187502 +v 5.000000 4.787502 2.196651 +v 5.000000 4.775002 2.200001 +v 4.603348 4.412498 2.175003 +v 4.612499 4.403347 2.175003 +v 4.625000 4.400002 2.175003 +v 4.625000 4.403347 2.187502 +v 4.625000 4.412498 2.196651 +v 4.625000 4.424999 2.200001 +v 4.612499 4.424999 2.196651 +v 4.603348 4.424999 2.187502 +v 4.599998 4.424999 2.175003 +v 4.612499 4.796650 2.175003 +v 4.603348 4.787502 2.175003 +v 4.599998 4.775002 2.175003 +v 4.603348 4.775002 2.187502 +v 4.612499 4.775002 2.196651 +v 4.625000 4.775002 2.200001 +v 4.625000 4.787502 2.196651 +v 4.625000 4.796650 2.187502 +v 4.625000 4.799999 2.175003 +v 4.625000 4.412498 1.803349 +v 4.625000 4.403347 1.812498 +v 4.625000 4.400002 1.824997 +v 4.612499 4.403347 1.824997 +v 4.603348 4.412498 1.824997 +v 4.599998 4.424999 1.824997 +v 4.603348 4.424999 1.812498 +v 4.612499 4.424999 1.803349 +v 4.625000 4.424999 1.799999 +v 4.625000 4.796650 1.812498 +v 4.625000 4.787502 1.803349 +v 4.625000 4.775002 1.799999 +v 4.612499 4.775002 1.803349 +v 4.603348 4.775002 1.812498 +v 4.599998 4.775002 1.824997 +v 4.603348 4.787502 1.824997 +v 4.612499 4.796650 1.824997 +v 4.625000 4.799999 1.824997 +v 5.000000 4.400002 1.824997 +v 5.000000 4.403347 1.812498 +v 5.000000 4.412498 1.803349 +v 5.000000 4.424999 1.799999 +v 5.000000 4.775002 1.799999 +v 5.000000 4.787502 1.803349 +v 5.000000 4.796650 1.812498 +v 5.000000 4.799999 1.824997 +v 4.605228 4.414196 2.185804 +v 4.614197 4.405228 2.185804 +v 4.614197 4.414196 2.194771 +v 4.614197 4.794773 2.185804 +v 4.605228 4.785805 2.185804 +v 4.614197 4.785805 2.194771 +v 4.614197 4.414196 1.805229 +v 4.614197 4.405228 1.814196 +v 4.605228 4.414196 1.814196 +v 4.614197 4.794773 1.814196 +v 4.614197 4.785805 1.805229 +v 4.605228 4.785805 1.814196 +v 4.203350 0.012498 -0.224998 +v 4.212498 0.003348 -0.224998 +v 4.224998 0.000000 -0.224998 +v 4.224998 0.003348 -0.212499 +v 4.224998 0.012498 -0.203349 +v 4.224998 0.024997 -0.200000 +v 4.212498 0.024997 -0.203349 +v 4.203350 0.024997 -0.212499 +v 4.200001 0.024997 -0.224998 +v 5.000000 0.024997 -0.200000 +v 5.000000 0.012498 -0.203349 +v 5.000000 0.003348 -0.212499 +v 5.000000 0.000000 -0.224998 +v 4.212498 0.796651 -0.224998 +v 4.203350 0.787500 -0.224998 +v 4.200001 0.775002 -0.224998 +v 4.203350 0.775002 -0.212499 +v 4.212498 0.775002 -0.203349 +v 4.224998 0.775002 -0.200000 +v 4.224998 0.787500 -0.203349 +v 4.224998 0.796651 -0.212499 +v 4.224998 0.800000 -0.224998 +v 5.000000 0.800000 -0.224998 +v 5.000000 0.796651 -0.212499 +v 5.000000 0.787500 -0.203349 +v 5.000000 0.775002 -0.200000 +v 4.212498 0.775002 -0.996651 +v 4.203350 0.775002 -0.987501 +v 4.200001 0.775002 -0.975002 +v 4.203350 0.787500 -0.975002 +v 4.212498 0.796651 -0.975002 +v 4.224998 0.800000 -0.975002 +v 4.224998 0.796651 -0.987501 +v 4.224998 0.787500 -0.996651 +v 4.212498 0.003348 -0.975002 +v 4.203350 0.012498 -0.975002 +v 4.200001 0.024997 -0.975002 +v 4.203350 0.024997 -0.987501 +v 4.212498 0.024997 -0.996651 +v 4.224998 0.012498 -0.996651 +v 4.224998 0.003348 -0.987501 +v 4.224998 0.000000 -0.975002 +v 4.205227 0.014195 -0.214196 +v 4.214195 0.005228 -0.214196 +v 4.214195 0.014195 -0.205229 +v 4.214195 0.794771 -0.214196 +v 4.205227 0.785803 -0.214196 +v 4.214195 0.785803 -0.205229 +v 4.214195 0.785803 -0.994771 +v 4.205227 0.785803 -0.985804 +v 4.214195 0.794771 -0.985804 +v 4.214195 0.005228 -0.985804 +v 4.205227 0.014195 -0.985804 +v 4.214195 0.014195 -0.994771 +v 4.203350 0.012498 -1.824997 +v 4.212498 0.003348 -1.824997 +v 4.224998 0.000000 -1.824997 +v 4.224998 0.003348 -1.812498 +v 4.224998 0.012498 -1.803349 +v 4.212498 0.024997 -1.803349 +v 4.203350 0.024997 -1.812498 +v 4.200001 0.024997 -1.824997 +v 4.212498 0.796651 -1.824997 +v 4.203350 0.787500 -1.824997 +v 4.200001 0.775002 -1.824997 +v 4.203350 0.775002 -1.812498 +v 4.212498 0.775002 -1.803349 +v 4.224998 0.787500 -1.803349 +v 4.224998 0.796651 -1.812498 +v 4.224998 0.800000 -1.824997 +v 5.000000 0.800000 -1.824997 +v 5.000000 0.796651 -1.812498 +v 5.000000 0.787500 -1.803349 +v 4.212498 0.775002 -2.596651 +v 4.203350 0.775002 -2.587502 +v 4.200001 0.775002 -2.575003 +v 4.203350 0.787500 -2.575003 +v 4.212498 0.796651 -2.575003 +v 4.224998 0.800000 -2.575003 +v 4.224998 0.796651 -2.587502 +v 4.224998 0.787500 -2.596651 +v 4.224998 0.775002 -2.600000 +v 5.000000 0.775002 -2.600000 +v 5.000000 0.787500 -2.596651 +v 5.000000 0.796651 -2.587502 +v 5.000000 0.800000 -2.575003 +v 4.212498 0.003348 -2.575003 +v 4.203350 0.012498 -2.575003 +v 4.200001 0.024997 -2.575003 +v 4.203350 0.024997 -2.587502 +v 4.212498 0.024997 -2.596651 +v 4.224998 0.024997 -2.600000 +v 4.224998 0.012498 -2.596651 +v 4.224998 0.003348 -2.587502 +v 4.224998 0.000000 -2.575003 +v 5.000000 0.000000 -2.575003 +v 5.000000 0.003348 -2.587502 +v 5.000000 0.012498 -2.596651 +v 5.000000 0.024997 -2.600000 +v 4.205227 0.014195 -1.814196 +v 4.214195 0.005228 -1.814196 +v 4.214195 0.014195 -1.805229 +v 4.214195 0.794771 -1.814196 +v 4.205227 0.785803 -1.814196 +v 4.214195 0.785803 -1.805229 +v 4.214195 0.785803 -2.594770 +v 4.205227 0.785803 -2.585804 +v 4.214195 0.794771 -2.585804 +v 4.214195 0.005228 -2.585804 +v 4.205227 0.014195 -2.585804 +v 4.214195 0.014195 -2.594770 +v 5.000000 1.600000 -1.024998 +v 5.000000 1.596651 -1.012499 +v 5.000000 1.587502 -1.003349 +v 5.000000 1.575002 -1.000000 +v 4.203350 0.812499 -1.024998 +v 4.212502 0.803349 -1.024998 +v 4.224998 0.803349 -1.012499 +v 4.224998 0.812499 -1.003349 +v 4.224998 0.824997 -1.000000 +v 4.212502 0.824998 -1.003349 +v 4.203350 0.824998 -1.012499 +v 4.200001 0.824998 -1.024998 +v 4.212502 1.596651 -1.024998 +v 4.203350 1.587502 -1.024998 +v 4.200001 1.575003 -1.024998 +v 4.203350 1.575003 -1.012499 +v 4.212502 1.575003 -1.003349 +v 4.224998 1.575002 -1.000000 +v 4.224998 1.587502 -1.003349 +v 4.224998 1.596651 -1.012499 +v 4.224998 1.600000 -1.024998 +v 4.224998 0.812499 -1.796652 +v 4.224998 0.803349 -1.787500 +v 4.212502 0.803349 -1.775002 +v 4.203350 0.812499 -1.775002 +v 4.200001 0.824998 -1.775002 +v 4.203350 0.824998 -1.787500 +v 4.212502 0.824998 -1.796652 +v 4.224998 0.824998 -1.799999 +v 4.224998 1.596651 -1.787500 +v 4.224998 1.587502 -1.796652 +v 4.224998 1.575003 -1.799999 +v 4.212502 1.575003 -1.796652 +v 4.203350 1.575003 -1.787500 +v 4.200001 1.575003 -1.775002 +v 4.203350 1.587502 -1.775002 +v 4.212502 1.596651 -1.775002 +v 4.224998 1.600000 -1.775002 +v 5.000000 0.803349 -1.787500 +v 5.000000 0.812499 -1.796652 +v 5.000000 0.824998 -1.799999 +v 5.000000 1.575003 -1.799999 +v 5.000000 1.587502 -1.796652 +v 5.000000 1.596651 -1.787500 +v 5.000000 1.600000 -1.775002 +v 4.205231 0.814197 -1.014196 +v 4.214195 0.805229 -1.014196 +v 4.214195 0.814197 -1.005229 +v 4.214195 1.594771 -1.014196 +v 4.205231 1.585804 -1.014196 +v 4.214195 1.585804 -1.005229 +v 4.214195 0.814197 -1.794771 +v 4.214195 0.805229 -1.785803 +v 4.205231 0.814197 -1.785803 +v 4.214195 1.594771 -1.785803 +v 4.214195 1.585804 -1.794771 +v 4.205231 1.585804 -1.785803 +v 5.000000 4.024998 -1.799999 +v 5.000000 4.012501 -1.803349 +v 5.000000 4.003349 -1.812498 +v 5.000000 4.000000 -1.824997 +v 5.000000 4.400002 -1.824997 +v 5.000000 4.396652 -1.812498 +v 5.000000 4.387501 -1.803349 +v 5.000000 4.375004 -1.799999 +v 4.603348 4.012501 -1.824997 +v 4.612499 4.003349 -1.824997 +v 4.625000 4.000000 -1.824997 +v 4.625000 4.003349 -1.812498 +v 4.625000 4.012501 -1.803349 +v 4.625000 4.024998 -1.799999 +v 4.612499 4.024998 -1.803349 +v 4.603348 4.024998 -1.812498 +v 4.599998 4.024998 -1.824997 +v 4.612499 4.396652 -1.824997 +v 4.603348 4.387501 -1.824997 +v 4.599998 4.375004 -1.824997 +v 4.603348 4.375004 -1.812498 +v 4.612499 4.375004 -1.803349 +v 4.625000 4.375004 -1.799999 +v 4.625000 4.387501 -1.803349 +v 4.625000 4.396652 -1.812498 +v 4.625000 4.400002 -1.824997 +v 4.625000 4.012501 -2.196651 +v 4.625000 4.003349 -2.187502 +v 4.625000 4.000000 -2.175003 +v 4.612499 4.003349 -2.175003 +v 4.603348 4.012501 -2.175003 +v 4.599998 4.024998 -2.175003 +v 4.603348 4.024998 -2.187502 +v 4.612499 4.024998 -2.196651 +v 4.625000 4.024998 -2.200001 +v 4.625000 4.396652 -2.187502 +v 4.625000 4.387501 -2.196651 +v 4.625000 4.375004 -2.200001 +v 4.612499 4.375004 -2.196651 +v 4.603348 4.375004 -2.187502 +v 4.599998 4.375004 -2.175003 +v 4.603348 4.387501 -2.175003 +v 4.612499 4.396652 -2.175003 +v 4.625000 4.400002 -2.175003 +v 5.000000 4.000000 -2.175003 +v 5.000000 4.003349 -2.187502 +v 5.000000 4.012501 -2.196651 +v 5.000000 4.024998 -2.200001 +v 5.000000 4.375004 -2.200001 +v 5.000000 4.387501 -2.196651 +v 5.000000 4.396652 -2.187502 +v 5.000000 4.400002 -2.175003 +v 4.605228 4.014194 -1.814196 +v 4.614197 4.005230 -1.814196 +v 4.614197 4.014194 -1.805229 +v 4.614197 4.394772 -1.814196 +v 4.605228 4.385803 -1.814196 +v 4.614197 4.385803 -1.805229 +v 4.614197 4.014194 -2.194771 +v 4.614197 4.005230 -2.185804 +v 4.605228 4.014194 -2.185804 +v 4.614197 4.394772 -2.185804 +v 4.614197 4.385803 -2.194771 +v 4.605228 4.385803 -2.185804 +v 5.000000 4.024998 -1.400000 +v 5.000000 4.012501 -1.403349 +v 5.000000 4.003349 -1.412498 +v 5.000000 4.000000 -1.424997 +v 5.000000 4.400002 -1.424997 +v 5.000000 4.396652 -1.412498 +v 5.000000 4.387501 -1.403349 +v 5.000000 4.375004 -1.400000 +v 4.603348 4.012501 -1.424997 +v 4.612499 4.003349 -1.424997 +v 4.625000 4.000000 -1.424997 +v 4.625000 4.003349 -1.412498 +v 4.625000 4.012501 -1.403349 +v 4.625000 4.024998 -1.400000 +v 4.612499 4.024998 -1.403349 +v 4.603348 4.024998 -1.412498 +v 4.599998 4.024998 -1.424997 +v 4.612499 4.396652 -1.424997 +v 4.603348 4.387501 -1.424997 +v 4.599998 4.375004 -1.424997 +v 4.603348 4.375004 -1.412498 +v 4.612499 4.375004 -1.403349 +v 4.625000 4.375004 -1.400000 +v 4.625000 4.387501 -1.403349 +v 4.625000 4.396652 -1.412498 +v 4.625000 4.400002 -1.424997 +v 4.625000 4.012501 -1.796652 +v 4.625000 4.003349 -1.787500 +v 4.625000 4.000000 -1.775002 +v 4.612499 4.003349 -1.775002 +v 4.603348 4.012501 -1.775002 +v 4.599998 4.024998 -1.775002 +v 4.603348 4.024998 -1.787500 +v 4.612499 4.024998 -1.796652 +v 4.625000 4.396652 -1.787500 +v 4.625000 4.387501 -1.796652 +v 4.612499 4.375004 -1.796652 +v 4.603348 4.375004 -1.787500 +v 4.599998 4.375004 -1.775002 +v 4.603348 4.387501 -1.775002 +v 4.612499 4.396652 -1.775002 +v 4.625000 4.400002 -1.775002 +v 5.000000 4.000000 -1.775002 +v 5.000000 4.003349 -1.787500 +v 5.000000 4.012501 -1.796652 +v 5.000000 4.387501 -1.796652 +v 5.000000 4.396652 -1.787500 +v 5.000000 4.400002 -1.775002 +v 4.605228 4.014194 -1.414196 +v 4.614197 4.005230 -1.414196 +v 4.614197 4.014194 -1.405229 +v 4.614197 4.394772 -1.414196 +v 4.605228 4.385803 -1.414196 +v 4.614197 4.385803 -1.405229 +v 4.614197 4.014194 -1.794771 +v 4.614197 4.005230 -1.785803 +v 4.605228 4.014194 -1.785803 +v 4.614197 4.394772 -1.785803 +v 4.614197 4.385803 -1.794771 +v 4.605228 4.385803 -1.785803 +v 5.000000 3.624996 0.200000 +v 5.000000 3.612499 0.196651 +v 5.000000 3.603348 0.187501 +v 5.000000 3.599998 0.175002 +v 5.000000 4.400002 0.175002 +v 5.000000 4.396652 0.187501 +v 5.000000 4.387501 0.196651 +v 5.000000 4.375004 0.200000 +v 4.203350 3.612499 0.175002 +v 4.212502 3.603348 0.175002 +v 4.224998 3.599998 0.175002 +v 4.224998 3.603348 0.187501 +v 4.224998 3.612499 0.196651 +v 4.224998 3.624996 0.200000 +v 4.212502 3.624996 0.196651 +v 4.203350 3.624996 0.187501 +v 4.200001 3.624996 0.175002 +v 4.212502 4.396652 0.175002 +v 4.203350 4.387501 0.175002 +v 4.200001 4.375004 0.175002 +v 4.203350 4.375004 0.187501 +v 4.212502 4.375004 0.196651 +v 4.224998 4.375004 0.200000 +v 4.224998 4.387501 0.196651 +v 4.224998 4.396652 0.187501 +v 4.224998 4.400002 0.175002 +v 4.224998 3.612499 -0.596651 +v 4.224998 3.603348 -0.587501 +v 4.224998 3.599998 -0.575002 +v 4.212502 3.603348 -0.575002 +v 4.203350 3.612499 -0.575002 +v 4.200001 3.624996 -0.575002 +v 4.203350 3.624996 -0.587501 +v 4.212502 3.624996 -0.596651 +v 4.224998 3.624996 -0.600000 +v 4.224998 4.396652 -0.587501 +v 4.224998 4.387501 -0.596651 +v 4.224998 4.375004 -0.600000 +v 4.212502 4.375004 -0.596651 +v 4.203350 4.375004 -0.587501 +v 4.200001 4.375004 -0.575002 +v 4.203350 4.387501 -0.575002 +v 4.212502 4.396652 -0.575002 +v 4.224998 4.400002 -0.575002 +v 5.000000 3.599998 -0.575002 +v 5.000000 3.603348 -0.587501 +v 5.000000 3.612499 -0.596651 +v 5.000000 3.624996 -0.600000 +v 5.000000 4.375004 -0.600000 +v 5.000000 4.387501 -0.596651 +v 5.000000 4.396652 -0.587501 +v 5.000000 4.400002 -0.575002 +v 4.205231 3.614197 0.185804 +v 4.214195 3.605228 0.185804 +v 4.214195 3.614197 0.194771 +v 4.214195 4.394772 0.185804 +v 4.205231 4.385803 0.185804 +v 4.214195 4.385803 0.194771 +v 4.214195 3.614197 -0.594771 +v 4.214195 3.605228 -0.585804 +v 4.205231 3.614197 -0.585804 +v 4.214195 4.394772 -0.585804 +v 4.214195 4.385803 -0.594771 +v 4.205231 4.385803 -0.585804 +v 5.000000 4.424999 -1.400000 +v 5.000000 4.412498 -1.403349 +v 5.000000 4.403347 -1.412498 +v 5.000000 4.799999 -1.424997 +v 5.000000 4.796650 -1.412498 +v 5.000000 4.787502 -1.403349 +v 5.000000 4.775002 -1.400000 +v 4.603348 4.412498 -1.424997 +v 4.612499 4.403347 -1.424997 +v 4.625000 4.403347 -1.412498 +v 4.625000 4.412498 -1.403349 +v 4.625000 4.424999 -1.400000 +v 4.612499 4.424999 -1.403349 +v 4.603348 4.424999 -1.412498 +v 4.599998 4.424999 -1.424997 +v 4.612499 4.796650 -1.424997 +v 4.603348 4.787502 -1.424997 +v 4.599998 4.775002 -1.424997 +v 4.603348 4.775002 -1.412498 +v 4.612499 4.775002 -1.403349 +v 4.625000 4.775002 -1.400000 +v 4.625000 4.787502 -1.403349 +v 4.625000 4.796650 -1.412498 +v 4.625000 4.799999 -1.424997 +v 4.625000 4.412498 -1.796652 +v 4.625000 4.403347 -1.787500 +v 4.612499 4.403347 -1.775002 +v 4.603348 4.412498 -1.775002 +v 4.599998 4.424999 -1.775002 +v 4.603348 4.424999 -1.787500 +v 4.612499 4.424999 -1.796652 +v 4.625000 4.424999 -1.799999 +v 4.625000 4.796650 -1.787500 +v 4.625000 4.787502 -1.796652 +v 4.625000 4.775002 -1.799999 +v 4.612499 4.775002 -1.796652 +v 4.603348 4.775002 -1.787500 +v 4.599998 4.775002 -1.775002 +v 4.603348 4.787502 -1.775002 +v 4.612499 4.796650 -1.775002 +v 4.625000 4.799999 -1.775002 +v 5.000000 4.403347 -1.787500 +v 5.000000 4.412498 -1.796652 +v 5.000000 4.424999 -1.799999 +v 5.000000 4.775002 -1.799999 +v 5.000000 4.787502 -1.796652 +v 5.000000 4.796650 -1.787500 +v 5.000000 4.799999 -1.775002 +v 4.605228 4.414196 -1.414196 +v 4.614197 4.405228 -1.414196 +v 4.614197 4.414196 -1.405229 +v 4.614197 4.794773 -1.414196 +v 4.605228 4.785805 -1.414196 +v 4.614197 4.785805 -1.405229 +v 4.614197 4.414196 -1.794771 +v 4.614197 4.405228 -1.785803 +v 4.605228 4.414196 -1.785803 +v 4.614197 4.794773 -1.785803 +v 4.614197 4.785805 -1.794771 +v 4.605228 4.785805 -1.785803 +v 4.203350 0.812499 -0.224998 +v 4.212498 0.803348 -0.224998 +v 4.224998 0.803348 -0.212499 +v 4.224998 0.812499 -0.203349 +v 4.224998 0.824997 -0.200000 +v 4.212498 0.824997 -0.203349 +v 4.203350 0.824997 -0.212499 +v 4.200001 0.824997 -0.224998 +v 5.000000 0.824997 -0.200000 +v 5.000000 0.812499 -0.203349 +v 5.000000 0.803348 -0.212499 +v 4.212498 1.596651 -0.224998 +v 4.203350 1.587500 -0.224998 +v 4.200001 1.575002 -0.224998 +v 4.203350 1.575002 -0.212499 +v 4.212498 1.575002 -0.203349 +v 4.224998 1.575002 -0.200000 +v 4.224998 1.587500 -0.203349 +v 4.224998 1.596651 -0.212499 +v 4.224998 1.600000 -0.224998 +v 5.000000 1.600000 -0.224998 +v 5.000000 1.596651 -0.212499 +v 5.000000 1.587500 -0.203349 +v 5.000000 1.575002 -0.200000 +v 4.212498 1.575002 -0.996651 +v 4.203350 1.575002 -0.987501 +v 4.200001 1.575002 -0.975002 +v 4.203350 1.587500 -0.975002 +v 4.212498 1.596651 -0.975002 +v 4.224998 1.600000 -0.975002 +v 4.224998 1.596651 -0.987501 +v 4.224998 1.587500 -0.996651 +v 5.000000 1.587500 -0.996651 +v 5.000000 1.596651 -0.987501 +v 5.000000 1.600000 -0.975002 +v 4.212498 0.803348 -0.975002 +v 4.203350 0.812499 -0.975002 +v 4.200001 0.824997 -0.975002 +v 4.203350 0.824997 -0.987501 +v 4.212498 0.824997 -0.996651 +v 4.224998 0.812499 -0.996651 +v 4.224998 0.803348 -0.987501 +v 4.205227 0.814195 -0.214196 +v 4.214195 0.805228 -0.214196 +v 4.214195 0.814195 -0.205229 +v 4.214195 1.594770 -0.214196 +v 4.205227 1.585803 -0.214196 +v 4.214195 1.585803 -0.205229 +v 4.214195 1.585803 -0.994771 +v 4.205227 1.585803 -0.985804 +v 4.214195 1.594770 -0.985804 +v 4.214195 0.805228 -0.985804 +v 4.205227 0.814195 -0.985804 +v 4.214195 0.814195 -0.994771 +v 5.000000 0.824998 0.600000 +v 5.000000 0.812499 0.596651 +v 5.000000 0.803349 0.587501 +v 5.000000 0.800000 0.575002 +v 5.000000 1.600000 0.575002 +v 5.000000 1.596651 0.587501 +v 5.000000 1.587502 0.596651 +v 5.000000 1.575003 0.600000 +v 4.203350 0.812499 0.575002 +v 4.212502 0.803349 0.575002 +v 4.224998 0.800000 0.575002 +v 4.224998 0.803349 0.587501 +v 4.224998 0.812499 0.596651 +v 4.224998 0.824998 0.600000 +v 4.212502 0.824998 0.596651 +v 4.203350 0.824998 0.587501 +v 4.200001 0.824998 0.575002 +v 4.212502 1.596651 0.575002 +v 4.203350 1.587502 0.575002 +v 4.200001 1.575003 0.575002 +v 4.203350 1.575003 0.587501 +v 4.212502 1.575003 0.596651 +v 4.224998 1.575003 0.600000 +v 4.224998 1.587502 0.596651 +v 4.224998 1.596651 0.587501 +v 4.224998 1.600000 0.575002 +v 4.224998 0.812499 -0.196651 +v 4.224998 0.803349 -0.187501 +v 4.224998 0.800000 -0.175002 +v 4.212502 0.803349 -0.175002 +v 4.203350 0.812499 -0.175002 +v 4.200001 0.824998 -0.175002 +v 4.203350 0.824998 -0.187501 +v 4.212502 0.824998 -0.196651 +v 4.224998 1.596651 -0.187501 +v 4.224998 1.587502 -0.196651 +v 4.212502 1.575003 -0.196651 +v 4.203350 1.575003 -0.187501 +v 4.200001 1.575003 -0.175002 +v 4.203350 1.587502 -0.175002 +v 4.212502 1.596651 -0.175002 +v 4.224998 1.600000 -0.175002 +v 5.000000 0.800000 -0.175002 +v 5.000000 0.803349 -0.187501 +v 5.000000 0.812499 -0.196651 +v 5.000000 1.587502 -0.196651 +v 5.000000 1.596651 -0.187501 +v 5.000000 1.600000 -0.175002 +v 4.205231 0.814197 0.585804 +v 4.214195 0.805229 0.585804 +v 4.214195 0.814197 0.594771 +v 4.214195 1.594771 0.585804 +v 4.205231 1.585804 0.585804 +v 4.214195 1.585804 0.594771 +v 4.214195 0.814197 -0.194771 +v 4.214195 0.805229 -0.185804 +v 4.205231 0.814197 -0.185804 +v 4.214195 1.594771 -0.185804 +v 4.214195 1.585804 -0.194771 +v 4.205231 1.585804 -0.185804 +v 4.224998 0.800000 -1.000000 +v 5.000000 0.000000 5.000000 +v 5.000000 0.000000 -5.000000 +v 5.000000 6.000000 4.999920 +v 5.000000 6.000000 -5.000080 +v -5.000000 0.000000 -5.000000 +v -5.000000 6.000000 -5.000080 +v -5.000000 0.000000 5.000000 +v -5.000000 6.000000 4.999920 +v -3.000000 6.000000 2.999758 +v 3.000000 6.000000 2.999758 +v -3.000000 6.000000 -3.000242 +v 3.000000 6.000000 -3.000242 +v -3.000000 7.000000 2.999758 +v 3.000000 7.000000 2.999758 +v -3.000000 7.000000 -3.000242 +v 3.000000 7.000000 -3.000242 +v -0.420773 5.995846 0.920694 +v 1.007731 5.995846 0.095947 +v -0.420773 5.995846 0.780227 +v 0.886083 5.995846 0.025714 +v -0.029536 6.077560 0.017053 +v 0.000000 6.077560 0.034105 +v 0.029536 6.077560 0.017053 +v 0.029536 6.077560 -0.017053 +v 0.000000 6.077560 -0.034105 +v -0.029536 6.077560 -0.017053 +v -0.021385 6.088909 0.012347 +v 0.000000 6.088909 0.024693 +v 0.021385 6.088909 0.012347 +v 0.021385 6.088909 -0.012347 +v 0.000000 6.088909 -0.024693 +v -0.021385 6.088909 -0.012347 +v -0.021385 6.942329 0.012347 +v 0.000000 6.942329 0.024693 +v 0.021385 6.942329 0.012347 +v 0.021385 6.942329 -0.012347 +v 0.000000 6.942329 -0.024693 +v -0.021385 6.942329 -0.012347 +v -0.373408 5.958347 0.819373 +v -0.361159 5.969334 0.840589 +v -0.356086 5.995850 0.849377 +v -0.390731 5.995850 0.789369 +v -0.385657 5.969334 0.798157 +v 0.896302 5.958347 0.086306 +v 0.908551 5.969334 0.107522 +v 0.913625 5.995850 0.116310 +v 0.878978 5.995850 0.056302 +v 0.884052 5.969334 0.065090 +v -0.379046 5.965031 0.822628 +v -0.368969 5.974014 0.840083 +v -0.379046 5.995850 0.822628 +v -0.364769 5.995850 0.847357 +v -0.393323 5.995850 0.797899 +v -0.389124 5.974014 0.805173 +v 0.901941 5.965031 0.083050 +v 0.912019 5.974014 0.100504 +v 0.901941 5.995850 0.083050 +v 0.916219 5.995850 0.107779 +v 0.887664 5.995850 0.058321 +v 0.891864 5.974014 0.065596 +v -0.074251 6.985794 -0.066856 +v -0.091277 6.985794 -0.040639 +v -0.099368 6.985794 -0.010444 +v -0.097732 6.985794 0.020774 +v -0.086529 6.985794 0.049958 +v -0.066856 6.985794 0.074251 +v -0.040639 6.985794 0.091277 +v -0.010444 6.985794 0.099368 +v 0.020774 6.985794 0.097732 +v 0.049958 6.985794 0.086529 +v 0.074251 6.985794 0.066856 +v 0.091277 6.985794 0.040639 +v 0.099368 6.985794 0.010444 +v 0.097732 6.985794 -0.020774 +v 0.086529 6.985794 -0.049958 +v 0.066856 6.985794 -0.074251 +v 0.040639 6.985794 -0.091277 +v 0.010444 6.985794 -0.099368 +v -0.020774 6.985794 -0.097732 +v -0.049958 6.985794 -0.086529 +v -0.023142 6.942329 -0.020837 +v -0.028449 6.942329 -0.012666 +v 0.000000 6.942329 0.000000 +v -0.030970 6.942329 -0.003255 +v -0.030460 6.942329 0.006475 +v -0.026969 6.942329 0.015570 +v -0.020837 6.942329 0.023142 +v -0.012666 6.942329 0.028449 +v -0.003255 6.942329 0.030970 +v 0.006475 6.942329 0.030460 +v 0.015570 6.942329 0.026969 +v 0.023142 6.942329 0.020837 +v 0.028448 6.942329 0.012666 +v 0.030970 6.942329 0.003255 +v 0.030460 6.942329 -0.006474 +v 0.026969 6.942329 -0.015570 +v 0.020837 6.942329 -0.023142 +v 0.012666 6.942329 -0.028448 +v 0.003255 6.942329 -0.030970 +v -0.006474 6.942329 -0.030460 +v -0.015570 6.942329 -0.026969 +v -0.019250 6.020546 0.011114 +v 0.000000 6.020546 0.022228 +v 0.019250 6.020546 0.011114 +v 0.019250 6.020546 -0.011114 +v 0.000000 6.020546 -0.022228 +v -0.019250 6.020546 -0.011114 +v 0.000000 6.020546 0.000000 +v -0.420773 5.995846 0.850461 +v 0.946907 5.995846 0.060830 +v -0.029536 6.053177 0.017053 +v 0.000000 6.053177 0.034105 +v 0.029536 6.053177 0.017053 +v 0.029536 6.053177 -0.017053 +v 0.000000 6.053177 -0.034105 +v -0.029536 6.053177 -0.017053 +v -0.029536 6.036861 0.017053 +v 0.000000 6.036861 0.034105 +v 0.029536 6.036861 0.017053 +v 0.029536 6.036861 -0.017053 +v 0.000000 6.036861 -0.034105 +v -0.029536 6.036861 -0.017053 +v -0.420773 6.101368 0.780227 +v 0.886083 6.101368 0.025714 +v 0.221059 6.053177 0.416992 +v 0.250596 6.053177 0.399939 +v 0.221059 6.036861 0.416992 +v 0.250596 6.036861 0.399939 +v -0.471655 6.053177 -0.017053 +v -0.471655 6.053177 0.017053 +v -0.471655 6.036861 -0.017053 +v -0.471655 6.036861 0.017053 +v 0.250596 6.053177 -0.399939 +v 0.221059 6.053177 -0.416992 +v 0.250596 6.036861 -0.399939 +v 0.221059 6.036861 -0.416992 +v 1.007731 5.995846 -0.095947 +v -0.420773 5.995846 -0.920694 +v 0.886083 5.995846 -0.025714 +v -0.420773 5.995846 -0.780228 +v 0.896302 5.958347 -0.086305 +v 0.908551 5.969334 -0.107521 +v 0.913625 5.995850 -0.116309 +v 0.878979 5.995850 -0.056302 +v 0.884053 5.969334 -0.065090 +v -0.373408 5.958347 -0.819373 +v -0.361158 5.969334 -0.840590 +v -0.356085 5.995850 -0.849378 +v -0.390730 5.995850 -0.789368 +v -0.385657 5.969334 -0.798156 +v 0.901940 5.965031 -0.083050 +v 0.912017 5.974014 -0.100505 +v 0.901939 5.995850 -0.083050 +v 0.916217 5.995850 -0.107779 +v 0.887662 5.995850 -0.058321 +v 0.891862 5.974014 -0.065596 +v -0.379047 5.965031 -0.822629 +v -0.368970 5.974014 -0.840083 +v -0.379047 5.995850 -0.822629 +v -0.364770 5.995850 -0.847358 +v -0.393324 5.995850 -0.797900 +v -0.389124 5.974014 -0.805175 +v 0.946907 5.995846 -0.060830 +v -0.420773 5.995846 -0.850461 +v 0.886083 6.101368 -0.025714 +v -0.420773 6.101368 -0.780228 +v -0.586958 5.995846 -0.824748 +v -0.586958 5.995846 0.824748 +v -0.465310 5.995846 -0.754514 +v -0.465311 5.995846 0.754514 +v -0.522894 5.958347 -0.733068 +v -0.547392 5.969334 -0.733068 +v -0.557539 5.995850 -0.733068 +v -0.488248 5.995850 -0.733068 +v -0.498395 5.969334 -0.733068 +v -0.522894 5.958347 0.733067 +v -0.547393 5.969334 0.733067 +v -0.557540 5.995850 0.733067 +v -0.488247 5.995850 0.733067 +v -0.498395 5.969334 0.733067 +v -0.522894 5.965031 -0.739578 +v -0.543049 5.974014 -0.739578 +v -0.522894 5.995850 -0.739577 +v -0.551448 5.995850 -0.739578 +v -0.494339 5.995850 -0.739577 +v -0.502739 5.974014 -0.739578 +v -0.522894 5.965031 0.739579 +v -0.543048 5.974014 0.739579 +v -0.522894 5.995850 0.739579 +v -0.551448 5.995850 0.739579 +v -0.494340 5.995850 0.739579 +v -0.502739 5.974014 0.739579 +v -0.526134 5.995846 -0.789631 +v -0.526134 5.995846 0.789631 +v -0.465310 6.101368 -0.754514 +v -0.465311 6.101368 0.754514 +v -0.029536 6.032745 0.017053 +v 0.000000 6.032745 0.034105 +v 0.029536 6.032745 0.017053 +v 0.029536 6.032745 -0.017053 +v 0.000000 6.032745 -0.034105 +v -0.029536 6.032745 -0.017053 +v -0.029536 6.053177 0.000000 +v -0.471655 6.053177 0.000000 +v 0.014768 6.053177 0.025579 +v 0.235827 6.053177 0.408465 +v 0.014768 6.053177 -0.025579 +v 0.235827 6.053177 -0.408465 +vt 0.659933 0.542983 +vt 0.660468 0.543515 +vt 0.645078 0.558938 +vt 0.644422 0.558426 +vt 0.661006 0.544049 +vt 0.645663 0.559526 +vt 0.661542 0.544584 +vt 0.646179 0.560177 +vt 0.661641 0.596454 +vt 0.661108 0.596990 +vt 0.645685 0.581598 +vt 0.646195 0.580940 +vt 0.660574 0.597528 +vt 0.645099 0.582186 +vt 0.660039 0.598064 +vt 0.644449 0.582703 +vt 0.644243 0.559119 +vt 0.623904 0.559070 +vt 0.623721 0.558369 +vt 0.644130 0.559818 +vt 0.624016 0.559774 +vt 0.644077 0.560523 +vt 0.624069 0.560479 +vt 0.644804 0.580651 +vt 0.644102 0.580598 +vt 0.644779 0.560471 +vt 0.645503 0.580763 +vt 0.645481 0.560359 +vt 0.644154 0.581301 +vt 0.624038 0.581386 +vt 0.624092 0.580681 +vt 0.644267 0.582005 +vt 0.623925 0.582087 +vt 0.623746 0.582781 +vt 0.607596 0.543536 +vt 0.608131 0.542999 +vt 0.623072 0.558880 +vt 0.607062 0.544073 +vt 0.622487 0.559460 +vt 0.606529 0.544608 +vt 0.621976 0.560111 +vt 0.622687 0.580861 +vt 0.621989 0.581052 +vt 0.622668 0.560297 +vt 0.623389 0.580741 +vt 0.623366 0.560417 +vt 0.607161 0.597168 +vt 0.606625 0.596633 +vt 0.622506 0.581695 +vt 0.607699 0.597702 +vt 0.623090 0.582275 +vt 0.608234 0.598233 +vt 0.644671 0.559936 +vt 0.644776 0.559316 +vt 0.645286 0.559819 +vt 0.644805 0.581808 +vt 0.644688 0.581193 +vt 0.645306 0.581296 +vt 0.622864 0.559767 +vt 0.623365 0.559260 +vt 0.623483 0.559877 +vt 0.623393 0.581895 +vt 0.622882 0.581398 +vt 0.623497 0.581274 +vt 0.160162 0.744348 +vt 0.160532 0.745113 +vt 0.159423 0.745303 +vt 0.159454 0.744606 +vt 0.158358 0.745093 +vt 0.158568 0.744452 +vt 0.157377 0.744545 +vt 0.157990 0.743956 +vt 0.158633 0.743403 +vt 0.159120 0.743886 +vt 0.159306 0.742891 +vt 0.159755 0.743607 +vt 0.133251 0.708672 +vt 0.132517 0.709096 +vt 0.132326 0.708175 +vt 0.133013 0.708095 +vt 0.132525 0.707255 +vt 0.133175 0.707338 +vt 0.133141 0.706447 +vt 0.133691 0.706821 +vt 0.134201 0.707251 +vt 0.133719 0.707713 +vt 0.134662 0.707736 +vt 0.133967 0.708220 +vt 0.196054 0.717700 +vt 0.196730 0.717573 +vt 0.196948 0.718562 +vt 0.196293 0.718368 +vt 0.196739 0.719454 +vt 0.196153 0.719118 +vt 0.196250 0.720208 +vt 0.195716 0.719550 +vt 0.195213 0.718866 +vt 0.195637 0.718506 +vt 0.194748 0.718156 +vt 0.195388 0.717888 +vt 0.171216 0.667108 +vt 0.170866 0.666308 +vt 0.171870 0.666347 +vt 0.171862 0.666914 +vt 0.172864 0.666496 +vt 0.172719 0.667034 +vt 0.173841 0.666740 +vt 0.173291 0.667418 +vt 0.172696 0.668026 +vt 0.172216 0.667579 +vt 0.172067 0.668578 +vt 0.171619 0.667862 +vt 0.179700 0.607683 +vt 0.180631 0.607870 +vt 0.181565 0.608049 +vt 0.182499 0.608224 +vt 0.199128 0.718330 +vt 0.199321 0.719159 +vt 0.198262 0.719026 +vt 0.198437 0.718363 +vt 0.197366 0.718484 +vt 0.197697 0.717927 +vt 0.197332 0.717240 +vt 0.197966 0.716954 +vt 0.198286 0.717576 +vt 0.198626 0.716723 +vt 0.198899 0.717520 +vt 0.174744 0.667093 +vt 0.174615 0.666050 +vt 0.174979 0.666519 +vt 0.175439 0.665570 +vt 0.175653 0.666061 +vt 0.176268 0.665222 +vt 0.176344 0.665931 +vt 0.176426 0.666639 +vt 0.175741 0.666724 +vt 0.176505 0.667346 +vt 0.175637 0.667283 +vt 0.241926 0.697420 +vt 0.242499 0.697127 +vt 0.242756 0.697927 +vt 0.242247 0.697981 +vt 0.242920 0.698765 +vt 0.242367 0.698710 +vt 0.242972 0.699635 +vt 0.242163 0.699203 +vt 0.241445 0.698675 +vt 0.241734 0.698285 +vt 0.240814 0.698083 +vt 0.241366 0.697739 +vt 0.219270 0.661123 +vt 0.219316 0.660427 +vt 0.219964 0.660698 +vt 0.219755 0.661143 +vt 0.220567 0.661043 +vt 0.220294 0.661436 +vt 0.221124 0.661450 +vt 0.220592 0.661853 +vt 0.220030 0.662203 +vt 0.219793 0.661756 +vt 0.219439 0.662503 +vt 0.219311 0.661817 +vt 0.267910 0.645799 +vt 0.283313 0.668066 +vt 0.231829 0.677797 +vt 0.231099 0.678239 +vt 0.230367 0.678678 +vt 0.229634 0.679112 +vt 0.221113 0.712094 +vt 0.220688 0.711356 +vt 0.220259 0.710616 +vt 0.219827 0.709873 +vt 0.208355 0.687492 +vt 0.183431 0.608393 +vt 0.184372 0.608554 +vt 0.185317 0.608711 +vt 0.242103 0.624865 +vt 0.243003 0.625453 +vt 0.243900 0.626046 +vt 0.244792 0.626643 +vt 0.283664 0.668862 +vt 0.284011 0.669653 +vt 0.284353 0.670438 +vt 0.132763 0.705913 +vt 0.132165 0.707040 +vt 0.132130 0.706373 +vt 0.131131 0.707114 +vt 0.131279 0.706471 +vt 0.130132 0.706811 +vt 0.130675 0.706161 +vt 0.131252 0.705532 +vt 0.131762 0.705825 +vt 0.131862 0.704936 +vt 0.132339 0.705403 +vt 0.095174 0.674959 +vt 0.094315 0.675198 +vt 0.094522 0.674284 +vt 0.095066 0.674384 +vt 0.094844 0.673429 +vt 0.095309 0.673642 +vt 0.095244 0.672634 +vt 0.095750 0.673146 +vt 0.096236 0.673672 +vt 0.095759 0.674109 +vt 0.096701 0.674213 +vt 0.095966 0.674623 +vt 0.168675 0.664811 +vt 0.168952 0.664152 +vt 0.169652 0.664727 +vt 0.169294 0.665133 +vt 0.170305 0.665433 +vt 0.169828 0.665766 +vt 0.169884 0.666404 +vt 0.168966 0.666318 +vt 0.169041 0.665756 +vt 0.168110 0.666123 +vt 0.168396 0.665468 +vt 0.129316 0.647367 +vt 0.128899 0.646868 +vt 0.129513 0.646597 +vt 0.129684 0.647043 +vt 0.130161 0.646418 +vt 0.130254 0.646887 +vt 0.130831 0.646331 +vt 0.130721 0.647011 +vt 0.130528 0.647662 +vt 0.130100 0.647465 +vt 0.130260 0.648277 +vt 0.129770 0.647838 +vt 0.116791 0.603285 +vt 0.176878 0.607083 +vt 0.066900 0.640451 +vt 0.067405 0.639759 +vt 0.067918 0.639064 +vt 0.068439 0.638366 +vt 0.113388 0.603872 +vt 0.114521 0.603673 +vt 0.115656 0.603477 +vt 0.177822 0.607287 +vt 0.178763 0.607488 +vt 0.068366 0.474697 +vt 0.043714 0.500857 +vt 0.042678 0.500344 +vt 0.067063 0.474710 +vt 0.041618 0.499822 +vt 0.065831 0.474511 +vt 0.040534 0.499285 +vt 0.064684 0.474168 +vt 0.015711 0.469459 +vt 0.015098 0.467966 +vt 0.041915 0.460064 +vt 0.042236 0.460920 +vt 0.014498 0.466462 +vt 0.041742 0.459158 +vt 0.013920 0.464956 +vt 0.041706 0.458221 +vt 0.020076 0.428475 +vt 0.020564 0.427376 +vt 0.049414 0.431259 +vt 0.048653 0.432203 +vt 0.021056 0.426304 +vt 0.050304 0.430376 +vt 0.021548 0.425261 +vt 0.051337 0.429577 +vt 0.065286 0.473429 +vt 0.042916 0.460246 +vt 0.065896 0.472695 +vt 0.043517 0.459523 +vt 0.066528 0.471968 +vt 0.044035 0.458747 +vt 0.050687 0.432728 +vt 0.051715 0.432955 +vt 0.043280 0.458490 +vt 0.049668 0.432480 +vt 0.042502 0.458314 +vt 0.080210 0.443904 +vt 0.079770 0.444942 +vt 0.051737 0.431868 +vt 0.080704 0.442894 +vt 0.051630 0.430739 +vt 0.081248 0.441912 +vt 0.081822 0.445910 +vt 0.082889 0.446310 +vt 0.067846 0.473669 +vt 0.080780 0.445457 +vt 0.067227 0.472763 +vt 0.043036 0.459143 +vt 0.042498 0.459789 +vt 0.042321 0.459002 +vt 0.050803 0.430939 +vt 0.050944 0.431905 +vt 0.050020 0.431681 +vt 0.067100 0.473990 +vt 0.066047 0.473875 +vt 0.066587 0.473182 +vt 0.082340 0.443151 +vt 0.081539 0.443596 +vt 0.082869 0.444655 +vt 0.082001 0.444827 +vt 0.080987 0.444508 +vt 0.689898 0.953190 +vt 0.689462 0.954139 +vt 0.674620 0.939428 +vt 0.675153 0.938746 +vt 0.688754 0.954856 +vt 0.674010 0.940036 +vt 0.687808 0.955295 +vt 0.673334 0.940572 +vt 0.637354 0.955278 +vt 0.636399 0.954859 +vt 0.651103 0.940027 +vt 0.651786 0.940560 +vt 0.635686 0.954153 +vt 0.650495 0.939416 +vt 0.635264 0.953202 +vt 0.649959 0.938740 +vt 0.674433 0.938559 +vt 0.674446 0.917386 +vt 0.675173 0.917197 +vt 0.673707 0.938440 +vt 0.673715 0.917501 +vt 0.672974 0.938383 +vt 0.672984 0.917556 +vt 0.652090 0.939113 +vt 0.652148 0.938381 +vt 0.673029 0.939115 +vt 0.651972 0.939839 +vt 0.673145 0.939846 +vt 0.651416 0.938435 +vt 0.651424 0.917495 +vt 0.652155 0.917553 +vt 0.650686 0.938551 +vt 0.650696 0.917377 +vt 0.649976 0.917190 +vt 0.689443 0.901777 +vt 0.689864 0.902730 +vt 0.674637 0.916520 +vt 0.688733 0.901067 +vt 0.674029 0.915910 +vt 0.687784 0.900630 +vt 0.673346 0.915377 +vt 0.651985 0.916091 +vt 0.651796 0.915364 +vt 0.673160 0.916097 +vt 0.652101 0.916821 +vt 0.673042 0.916824 +vt 0.636376 0.901093 +vt 0.637328 0.900670 +vt 0.651119 0.915900 +vt 0.635665 0.901802 +vt 0.650509 0.916508 +vt 0.635228 0.902751 +vt 0.673584 0.939003 +vt 0.674227 0.939113 +vt 0.673706 0.939643 +vt 0.650887 0.939112 +vt 0.651527 0.938991 +vt 0.651418 0.939634 +vt 0.673714 0.916302 +vt 0.674244 0.916825 +vt 0.673604 0.916946 +vt 0.650902 0.916823 +vt 0.651424 0.916292 +vt 0.651546 0.916932 +vt 0.125776 0.501388 +vt 0.125700 0.502001 +vt 0.125070 0.501669 +vt 0.125268 0.501231 +vt 0.124440 0.501337 +vt 0.124680 0.500933 +vt 0.123805 0.501011 +vt 0.124293 0.500606 +vt 0.124892 0.500277 +vt 0.125214 0.500654 +vt 0.125586 0.500035 +vt 0.125768 0.500740 +vt 0.165365 0.539151 +vt 0.164487 0.539643 +vt 0.164410 0.538962 +vt 0.165136 0.538713 +vt 0.164315 0.538287 +vt 0.165026 0.538069 +vt 0.164220 0.537612 +vt 0.165115 0.537479 +vt 0.166055 0.537472 +vt 0.165833 0.538125 +vt 0.167028 0.537627 +vt 0.166233 0.538512 +vt 0.100390 0.525420 +vt 0.099873 0.525737 +vt 0.099637 0.525123 +vt 0.100073 0.525037 +vt 0.099550 0.524484 +vt 0.100012 0.524484 +vt 0.099602 0.523847 +vt 0.100265 0.524102 +vt 0.100873 0.524413 +vt 0.100560 0.524733 +vt 0.101423 0.524777 +vt 0.100906 0.525101 +vt 0.119491 0.555676 +vt 0.119469 0.556275 +vt 0.118707 0.556154 +vt 0.118935 0.555767 +vt 0.118008 0.555928 +vt 0.118322 0.555582 +vt 0.117380 0.555613 +vt 0.118008 0.555229 +vt 0.118643 0.554868 +vt 0.118890 0.555243 +vt 0.119285 0.554530 +vt 0.119430 0.555092 +vt 0.081008 0.469303 +vt 0.081881 0.468621 +vt 0.082755 0.467942 +vt 0.083625 0.467265 +vt 0.158899 0.595233 +vt 0.158004 0.595333 +vt 0.157098 0.595439 +vt 0.156185 0.595548 +vt 0.096000 0.585890 +vt 0.094994 0.585272 +vt 0.093989 0.584645 +vt 0.092987 0.584010 +vt 0.056783 0.531421 +vt 0.056896 0.530170 +vt 0.057016 0.528919 +vt 0.057142 0.527670 +vt 0.151600 0.470558 +vt 0.151424 0.471126 +vt 0.150913 0.470751 +vt 0.151185 0.470422 +vt 0.150452 0.470322 +vt 0.150758 0.470049 +vt 0.150048 0.469841 +vt 0.150556 0.469622 +vt 0.151090 0.469461 +vt 0.151250 0.469893 +vt 0.151645 0.469354 +vt 0.151677 0.469964 +vt 0.194337 0.485105 +vt 0.194896 0.485842 +vt 0.194036 0.486161 +vt 0.193923 0.485561 +vt 0.193195 0.486289 +vt 0.193205 0.485711 +vt 0.192392 0.486292 +vt 0.192617 0.485509 +vt 0.192843 0.484731 +vt 0.193405 0.485000 +vt 0.193081 0.483961 +vt 0.193725 0.484486 +vt 0.126304 0.499868 +vt 0.125364 0.499296 +vt 0.125956 0.499421 +vt 0.125277 0.498586 +vt 0.125849 0.498801 +vt 0.125282 0.497908 +vt 0.126024 0.498359 +vt 0.126760 0.498822 +vt 0.126520 0.499203 +vt 0.127497 0.499292 +vt 0.126951 0.499623 +vt 0.169822 0.536618 +vt 0.170403 0.537320 +vt 0.169267 0.537555 +vt 0.169155 0.536999 +vt 0.168138 0.537646 +vt 0.168190 0.537087 +vt 0.167486 0.536839 +vt 0.167985 0.536099 +vt 0.168613 0.536428 +vt 0.168517 0.535402 +vt 0.169192 0.535979 +vt 0.131672 0.426057 +vt 0.132847 0.425776 +vt 0.134023 0.425501 +vt 0.135199 0.425232 +vt 0.191643 0.432759 +vt 0.192554 0.432890 +vt 0.193461 0.433024 +vt 0.194361 0.433158 +vt 0.161565 0.594966 +vt 0.160681 0.595052 +vt 0.159792 0.595141 +vt 0.084499 0.466601 +vt 0.085366 0.465923 +vt 0.086236 0.465246 +vt 0.254013 0.497433 +vt 0.253587 0.498218 +vt 0.252780 0.497686 +vt 0.253294 0.497168 +vt 0.252003 0.497095 +vt 0.252618 0.496649 +vt 0.251254 0.496450 +vt 0.252369 0.496089 +vt 0.253517 0.495855 +vt 0.253598 0.496440 +vt 0.254681 0.495722 +vt 0.254386 0.496605 +vt 0.303186 0.538451 +vt 0.302734 0.539093 +vt 0.302172 0.538485 +vt 0.302645 0.538075 +vt 0.301610 0.537871 +vt 0.302121 0.537521 +vt 0.301046 0.537249 +vt 0.301874 0.537008 +vt 0.302800 0.536881 +vt 0.302923 0.537426 +vt 0.303812 0.536889 +vt 0.303566 0.537728 +vt 0.228072 0.548179 +vt 0.227743 0.548895 +vt 0.227128 0.548364 +vt 0.227523 0.547887 +vt 0.226564 0.547741 +vt 0.227059 0.547320 +vt 0.226073 0.547011 +vt 0.227007 0.546754 +vt 0.227897 0.546680 +vt 0.227818 0.547219 +vt 0.228732 0.546729 +vt 0.228396 0.547455 +vt 0.269252 0.566572 +vt 0.269570 0.567155 +vt 0.268898 0.567269 +vt 0.268820 0.566786 +vt 0.268223 0.567346 +vt 0.268202 0.566865 +vt 0.267544 0.567392 +vt 0.267720 0.566751 +vt 0.267995 0.566142 +vt 0.268445 0.566331 +vt 0.268355 0.565572 +vt 0.268844 0.566041 +vt 0.244668 0.436049 +vt 0.245400 0.435997 +vt 0.246134 0.435930 +vt 0.246867 0.435859 +vt 0.329747 0.588952 +vt 0.328875 0.589201 +vt 0.328004 0.589467 +vt 0.327133 0.589731 +vt 0.275350 0.610419 +vt 0.274342 0.610539 +vt 0.273334 0.610653 +vt 0.272325 0.610759 +vt 0.218167 0.603464 +vt 0.217322 0.603319 +vt 0.216479 0.603173 +vt 0.215640 0.603028 +vt 0.196962 0.486859 +vt 0.196716 0.487529 +vt 0.196055 0.487048 +vt 0.196397 0.486635 +vt 0.195447 0.486482 +vt 0.195870 0.486135 +vt 0.195699 0.485603 +vt 0.196510 0.485488 +vt 0.196570 0.486013 +vt 0.197318 0.485477 +vt 0.197161 0.486175 +vt 0.250313 0.495847 +vt 0.250210 0.496880 +vt 0.249881 0.496312 +vt 0.249153 0.497123 +vt 0.248999 0.496578 +vt 0.248105 0.497250 +vt 0.248185 0.496544 +vt 0.248278 0.495839 +vt 0.249066 0.495918 +vt 0.248384 0.495131 +vt 0.249348 0.495421 +vt 0.173103 0.538204 +vt 0.172871 0.538912 +vt 0.172006 0.538508 +vt 0.172372 0.538036 +vt 0.171175 0.537987 +vt 0.171672 0.537560 +vt 0.171453 0.536988 +vt 0.172490 0.536829 +vt 0.172548 0.537377 +vt 0.173502 0.536779 +vt 0.173311 0.537493 +vt 0.225557 0.546361 +vt 0.225195 0.547228 +vt 0.225079 0.546689 +vt 0.224328 0.547328 +vt 0.224330 0.546801 +vt 0.223479 0.547340 +vt 0.223714 0.546654 +vt 0.223987 0.545979 +vt 0.224572 0.546187 +vt 0.224306 0.545319 +vt 0.224966 0.545793 +vt 0.195253 0.433285 +vt 0.196147 0.433412 +vt 0.197041 0.433540 +vt 0.242440 0.436177 +vt 0.243185 0.436140 +vt 0.243929 0.436097 +vt 0.214805 0.602894 +vt 0.213967 0.602759 +vt 0.213126 0.602625 +vt 0.164221 0.594740 +vt 0.163337 0.594813 +vt 0.162451 0.594888 +vt 0.294213 0.469772 +vt 0.293705 0.470385 +vt 0.293380 0.469789 +vt 0.293835 0.469495 +vt 0.293151 0.469143 +vt 0.293620 0.468937 +vt 0.293028 0.468459 +vt 0.293711 0.468405 +vt 0.294384 0.468399 +vt 0.294230 0.468926 +vt 0.295045 0.468439 +vt 0.294661 0.469123 +vt 0.330257 0.485249 +vt 0.330434 0.485884 +vt 0.329637 0.485966 +vt 0.329757 0.485516 +vt 0.328901 0.485904 +vt 0.329117 0.485494 +vt 0.328233 0.485734 +vt 0.328701 0.485220 +vt 0.329155 0.484699 +vt 0.329539 0.485002 +vt 0.329612 0.484184 +vt 0.329979 0.484680 +vt 0.255796 0.495691 +vt 0.255196 0.494754 +vt 0.255810 0.495066 +vt 0.255828 0.493971 +vt 0.256301 0.494363 +vt 0.256507 0.493300 +vt 0.256935 0.493931 +vt 0.257367 0.494560 +vt 0.256710 0.494947 +vt 0.257801 0.495193 +vt 0.256840 0.495506 +vt 0.305962 0.535705 +vt 0.306743 0.536231 +vt 0.305825 0.536553 +vt 0.305489 0.536091 +vt 0.304843 0.536771 +vt 0.304646 0.536292 +vt 0.303902 0.536145 +vt 0.304096 0.535450 +vt 0.304789 0.535669 +vt 0.304357 0.534792 +vt 0.305168 0.535221 +vt 0.300531 0.425215 +vt 0.301547 0.425212 +vt 0.302564 0.425214 +vt 0.303584 0.425224 +vt 0.332390 0.588194 +vt 0.331504 0.588436 +vt 0.330623 0.588693 +vt 0.247598 0.435789 +vt 0.248335 0.435702 +vt 0.249075 0.435613 +vt 0.331728 0.487105 +vt 0.331165 0.487727 +vt 0.330828 0.487195 +vt 0.331326 0.486817 +vt 0.330579 0.486578 +vt 0.331124 0.486263 +vt 0.331296 0.485748 +vt 0.332092 0.485745 +vt 0.331816 0.486234 +vt 0.332824 0.485831 +vt 0.332276 0.486471 +vt 0.369415 0.505636 +vt 0.369578 0.506219 +vt 0.368893 0.506039 +vt 0.368969 0.505644 +vt 0.368225 0.505837 +vt 0.368358 0.505476 +vt 0.367573 0.505611 +vt 0.367892 0.505219 +vt 0.368271 0.504864 +vt 0.368708 0.505153 +vt 0.368702 0.504550 +vt 0.369123 0.505072 +vt 0.309587 0.536707 +vt 0.309713 0.537477 +vt 0.308761 0.537236 +vt 0.308854 0.536699 +vt 0.307762 0.536843 +vt 0.308011 0.536334 +vt 0.307592 0.535708 +vt 0.308483 0.535381 +vt 0.308735 0.535983 +vt 0.309380 0.535177 +vt 0.309476 0.535941 +vt 0.353293 0.535569 +vt 0.353946 0.535711 +vt 0.353526 0.536149 +vt 0.353141 0.535946 +vt 0.352993 0.536492 +vt 0.352675 0.536239 +vt 0.352367 0.536726 +vt 0.352155 0.536243 +vt 0.352026 0.535759 +vt 0.352530 0.535807 +vt 0.351980 0.535285 +vt 0.352639 0.535428 +vt 0.406585 0.490802 +vt 0.406923 0.492078 +vt 0.407255 0.493358 +vt 0.407580 0.494641 +vt 0.393379 0.563093 +vt 0.392476 0.564071 +vt 0.391572 0.565046 +vt 0.390667 0.566018 +vt 0.335106 0.587454 +vt 0.334193 0.587700 +vt 0.333287 0.587946 +vt 0.359867 0.444481 +vt 0.360764 0.445031 +vt 0.358069 0.443390 +vt 0.358969 0.443934 +vt 0.361662 0.445571 +vt 0.362564 0.446121 +vt 0.363470 0.446673 +vt 0.755469 0.767802 +vt 0.756003 0.768328 +vt 0.740772 0.783697 +vt 0.740119 0.783192 +vt 0.756538 0.768856 +vt 0.741355 0.784276 +vt 0.757073 0.769385 +vt 0.741870 0.784918 +vt 0.757346 0.820825 +vt 0.756820 0.821359 +vt 0.741452 0.806128 +vt 0.741957 0.805475 +vt 0.756291 0.821895 +vt 0.740872 0.806711 +vt 0.755762 0.822429 +vt 0.740229 0.807226 +vt 0.739944 0.783880 +vt 0.719746 0.783964 +vt 0.719562 0.783271 +vt 0.739835 0.784573 +vt 0.719859 0.784661 +vt 0.739783 0.785272 +vt 0.719915 0.785357 +vt 0.740574 0.805191 +vt 0.739877 0.805139 +vt 0.740481 0.785217 +vt 0.741269 0.805300 +vt 0.741177 0.785103 +vt 0.739931 0.805837 +vt 0.719956 0.805926 +vt 0.720007 0.805227 +vt 0.740046 0.806533 +vt 0.719846 0.806620 +vt 0.719672 0.807307 +vt 0.703499 0.768603 +vt 0.704029 0.768068 +vt 0.718919 0.783786 +vt 0.702971 0.769139 +vt 0.718340 0.784369 +vt 0.702444 0.769672 +vt 0.717835 0.785022 +vt 0.718613 0.805396 +vt 0.717921 0.805581 +vt 0.718523 0.785197 +vt 0.719310 0.805283 +vt 0.719217 0.785307 +vt 0.703252 0.821642 +vt 0.702717 0.821112 +vt 0.718435 0.806223 +vt 0.703788 0.822170 +vt 0.719019 0.806802 +vt 0.704321 0.822697 +vt 0.740372 0.784687 +vt 0.740473 0.784073 +vt 0.740982 0.784568 +vt 0.740579 0.806338 +vt 0.740460 0.805728 +vt 0.741075 0.805829 +vt 0.718716 0.784667 +vt 0.719211 0.784159 +vt 0.719330 0.784769 +vt 0.719317 0.806426 +vt 0.718809 0.805931 +vt 0.719419 0.805812 +vt 0.417585 0.819373 +vt 0.418291 0.819330 +vt 0.418472 0.820075 +vt 0.417839 0.820044 +vt 0.418354 0.820739 +vt 0.417728 0.820757 +vt 0.417880 0.821294 +vt 0.417203 0.821149 +vt 0.416701 0.820816 +vt 0.417182 0.820276 +vt 0.416355 0.820217 +vt 0.416924 0.819690 +vt 0.403501 0.786624 +vt 0.404062 0.786106 +vt 0.404689 0.786317 +vt 0.404089 0.786689 +vt 0.405175 0.786728 +vt 0.404588 0.787152 +vt 0.405525 0.787335 +vt 0.404866 0.787770 +vt 0.404178 0.788007 +vt 0.403883 0.787394 +vt 0.403443 0.787972 +vt 0.403304 0.787234 +vt 0.453243 0.814193 +vt 0.453697 0.814826 +vt 0.453175 0.815407 +vt 0.453007 0.814767 +vt 0.452500 0.815797 +vt 0.452264 0.815131 +vt 0.451732 0.816008 +vt 0.451599 0.815172 +vt 0.451589 0.814332 +vt 0.452337 0.814332 +vt 0.451712 0.813563 +vt 0.452522 0.813765 +vt 0.445614 0.761782 +vt 0.445205 0.761198 +vt 0.446219 0.760884 +vt 0.446308 0.761406 +vt 0.447280 0.760650 +vt 0.447224 0.761176 +vt 0.448329 0.760573 +vt 0.447743 0.761420 +vt 0.447015 0.762258 +vt 0.446707 0.761918 +vt 0.446295 0.762990 +vt 0.445993 0.762405 +vt 0.388069 0.852745 +vt 0.387104 0.852074 +vt 0.386317 0.851242 +vt 0.385652 0.850279 +vt 0.365127 0.789204 +vt 0.365172 0.788045 +vt 0.365272 0.786890 +vt 0.365430 0.785728 +vt 0.394082 0.731254 +vt 0.394587 0.730424 +vt 0.395165 0.729650 +vt 0.395797 0.728951 +vt 0.453233 0.868838 +vt 0.452154 0.869049 +vt 0.451060 0.869096 +vt 0.449969 0.868995 +vt 0.451678 0.755827 +vt 0.452390 0.756112 +vt 0.451831 0.756914 +vt 0.451424 0.756541 +vt 0.451191 0.757649 +vt 0.450854 0.757185 +vt 0.450430 0.758272 +vt 0.450267 0.757323 +vt 0.450220 0.756343 +vt 0.450751 0.756328 +vt 0.450251 0.755376 +vt 0.450975 0.755591 +vt 0.463963 0.710301 +vt 0.464682 0.710007 +vt 0.465093 0.710644 +vt 0.464415 0.710776 +vt 0.465258 0.711352 +vt 0.464598 0.711500 +vt 0.465168 0.712111 +vt 0.464404 0.712155 +vt 0.463701 0.711953 +vt 0.463884 0.711297 +vt 0.463090 0.711500 +vt 0.463431 0.710805 +vt 0.513149 0.761757 +vt 0.514016 0.762039 +vt 0.513369 0.762811 +vt 0.512912 0.762395 +vt 0.512677 0.763485 +vt 0.512304 0.763022 +vt 0.511878 0.764106 +vt 0.511646 0.763223 +vt 0.511485 0.762337 +vt 0.512129 0.762221 +vt 0.511395 0.761426 +vt 0.512284 0.761554 +vt 0.509328 0.700308 +vt 0.509155 0.699569 +vt 0.510105 0.699560 +vt 0.510075 0.700134 +vt 0.511076 0.699635 +vt 0.510910 0.700201 +vt 0.512009 0.699820 +vt 0.511364 0.700569 +vt 0.510603 0.701198 +vt 0.510266 0.700811 +vt 0.509774 0.701745 +vt 0.509530 0.701027 +vt 0.397666 0.726934 +vt 0.398271 0.726245 +vt 0.398856 0.725521 +vt 0.399411 0.724772 +vt 0.431641 0.678907 +vt 0.432383 0.678193 +vt 0.433146 0.677489 +vt 0.433925 0.676800 +vt 0.482828 0.648749 +vt 0.483641 0.648303 +vt 0.484440 0.647835 +vt 0.485224 0.647351 +vt 0.555948 0.806837 +vt 0.555291 0.807449 +vt 0.554634 0.808071 +vt 0.553988 0.808694 +vt 0.449648 0.758957 +vt 0.450714 0.759095 +vt 0.450044 0.759344 +vt 0.450927 0.759969 +vt 0.450290 0.760087 +vt 0.451074 0.760847 +vt 0.450171 0.760789 +vt 0.449277 0.760693 +vt 0.449475 0.760044 +vt 0.448976 0.759709 +vt 0.454821 0.813866 +vt 0.455589 0.813675 +vt 0.455749 0.814489 +vt 0.455079 0.814490 +vt 0.455786 0.815225 +vt 0.455029 0.815283 +vt 0.455658 0.815977 +vt 0.454850 0.815806 +vt 0.454148 0.815434 +vt 0.454398 0.814857 +vt 0.454171 0.814238 +vt 0.493346 0.811357 +vt 0.493583 0.810585 +vt 0.494313 0.810719 +vt 0.493992 0.811346 +vt 0.494948 0.811073 +vt 0.494643 0.811711 +vt 0.495432 0.811639 +vt 0.494996 0.812281 +vt 0.494378 0.812733 +vt 0.494041 0.812118 +vt 0.493668 0.812934 +vt 0.493378 0.812179 +vt 0.510467 0.766533 +vt 0.509796 0.766252 +vt 0.510411 0.765470 +vt 0.510811 0.765804 +vt 0.511105 0.764724 +vt 0.511410 0.765193 +vt 0.511954 0.765108 +vt 0.511877 0.766156 +vt 0.511426 0.766093 +vt 0.511730 0.767172 +vt 0.511096 0.766834 +vt 0.553370 0.809304 +vt 0.552815 0.809893 +vt 0.552295 0.810506 +vt 0.517780 0.853667 +vt 0.516996 0.854352 +vt 0.516170 0.854866 +vt 0.515221 0.855272 +vt 0.456382 0.868389 +vt 0.455333 0.868457 +vt 0.454292 0.868608 +vt 0.396426 0.728279 +vt 0.397051 0.727608 +vt 0.513459 0.698337 +vt 0.514339 0.697667 +vt 0.514406 0.698639 +vt 0.513749 0.698824 +vt 0.514468 0.699559 +vt 0.513809 0.699674 +vt 0.514508 0.700510 +vt 0.513659 0.700350 +vt 0.512816 0.700117 +vt 0.513084 0.699456 +vt 0.512703 0.699032 +vt 0.515445 0.760644 +vt 0.516255 0.760058 +vt 0.516489 0.760744 +vt 0.515740 0.761035 +vt 0.516761 0.761391 +vt 0.516002 0.761666 +vt 0.517060 0.762054 +vt 0.516047 0.762148 +vt 0.515003 0.762167 +vt 0.515125 0.761656 +vt 0.514662 0.761304 +vt 0.561371 0.747320 +vt 0.561292 0.746583 +vt 0.562072 0.746394 +vt 0.562012 0.747059 +vt 0.562891 0.746479 +vt 0.562774 0.747116 +vt 0.563625 0.746817 +vt 0.563378 0.747508 +vt 0.562876 0.748099 +vt 0.562362 0.747710 +vt 0.562203 0.748490 +vt 0.561683 0.747971 +vt 0.568002 0.709490 +vt 0.567202 0.709263 +vt 0.567443 0.708523 +vt 0.568074 0.708829 +vt 0.567867 0.707906 +vt 0.568452 0.708183 +vt 0.568517 0.707503 +vt 0.569075 0.707950 +vt 0.569383 0.708679 +vt 0.568859 0.708792 +vt 0.569465 0.709487 +vt 0.568733 0.709558 +vt 0.617770 0.708448 +vt 0.617563 0.709513 +vt 0.617458 0.710560 +vt 0.617449 0.711617 +vt 0.603682 0.770450 +vt 0.603242 0.771410 +vt 0.602699 0.772245 +vt 0.601988 0.773008 +vt 0.557834 0.805209 +vt 0.557205 0.805714 +vt 0.556590 0.806249 +vt 0.486001 0.646865 +vt 0.486777 0.646371 +vt 0.487549 0.645869 +vt 0.516159 0.695349 +vt 0.516722 0.695706 +vt 0.515985 0.696396 +vt 0.515658 0.696002 +vt 0.515173 0.697086 +vt 0.515002 0.696559 +vt 0.514473 0.696632 +vt 0.514769 0.695587 +vt 0.515172 0.695644 +vt 0.515126 0.694574 +vt 0.515643 0.694969 +vt 0.542433 0.655996 +vt 0.543114 0.656180 +vt 0.543113 0.656950 +vt 0.542573 0.656608 +vt 0.542916 0.657572 +vt 0.542246 0.657318 +vt 0.542443 0.658171 +vt 0.541818 0.657810 +vt 0.541370 0.657266 +vt 0.541884 0.656788 +vt 0.541204 0.656608 +vt 0.541799 0.656147 +vt 0.568857 0.705431 +vt 0.569650 0.705575 +vt 0.569483 0.706365 +vt 0.568871 0.706131 +vt 0.569128 0.707034 +vt 0.568542 0.706813 +vt 0.567946 0.707032 +vt 0.567589 0.706241 +vt 0.568097 0.706198 +vt 0.567421 0.705424 +vt 0.568137 0.705391 +vt 0.572785 0.667365 +vt 0.573388 0.666842 +vt 0.573926 0.667258 +vt 0.573312 0.667640 +vt 0.574267 0.667798 +vt 0.573752 0.668251 +vt 0.574414 0.668484 +vt 0.573756 0.668887 +vt 0.572992 0.668997 +vt 0.573078 0.668297 +vt 0.572282 0.668839 +vt 0.572391 0.668099 +vt 0.488305 0.645373 +vt 0.489042 0.644885 +vt 0.489779 0.644397 +vt 0.539453 0.615580 +vt 0.540519 0.615280 +vt 0.541574 0.615091 +vt 0.542722 0.615021 +vt 0.609018 0.637526 +vt 0.609987 0.638233 +vt 0.610713 0.639092 +vt 0.611182 0.640175 +vt 0.618336 0.705247 +vt 0.618178 0.706316 +vt 0.617990 0.707378 +vt 0.712313 0.681711 +vt 0.711614 0.681770 +vt 0.711675 0.681071 +vt 0.712208 0.681184 +vt 0.711789 0.680375 +vt 0.712313 0.680572 +vt 0.711966 0.679687 +vt 0.712608 0.680198 +vt 0.713188 0.680779 +vt 0.712816 0.681067 +vt 0.713702 0.681419 +vt 0.713011 0.681598 +vt 0.712606 0.726369 +vt 0.711966 0.726884 +vt 0.711788 0.726193 +vt 0.712318 0.725998 +vt 0.711675 0.725495 +vt 0.712201 0.725389 +vt 0.711615 0.724796 +vt 0.712315 0.724856 +vt 0.713011 0.724971 +vt 0.712814 0.725494 +vt 0.713699 0.725147 +vt 0.713187 0.725790 +vt 0.667193 0.681590 +vt 0.666505 0.681414 +vt 0.667017 0.680771 +vt 0.667390 0.681067 +vt 0.667598 0.680192 +vt 0.667887 0.680563 +vt 0.668238 0.679677 +vt 0.668417 0.680369 +vt 0.668529 0.681066 +vt 0.668003 0.681171 +vt 0.668588 0.681765 +vt 0.667889 0.681705 +vt 0.668415 0.726186 +vt 0.668238 0.726874 +vt 0.667595 0.726363 +vt 0.667892 0.725989 +vt 0.667017 0.725781 +vt 0.667387 0.725494 +vt 0.666502 0.725142 +vt 0.667193 0.724963 +vt 0.667890 0.724850 +vt 0.667996 0.725377 +vt 0.668590 0.724791 +vt 0.668529 0.725490 +vt 0.743733 0.648024 +vt 0.744263 0.648554 +vt 0.744794 0.649084 +vt 0.745326 0.649615 +vt 0.745362 0.756914 +vt 0.744832 0.757443 +vt 0.744302 0.757975 +vt 0.743771 0.758506 +vt 0.636471 0.758537 +vt 0.635942 0.758008 +vt 0.635410 0.757477 +vt 0.634879 0.756947 +vt 0.634842 0.649649 +vt 0.635371 0.649118 +vt 0.635901 0.648586 +vt 0.636432 0.648055 +vt 0.690170 0.822015 +vt 0.689642 0.822547 +vt 0.674306 0.807283 +vt 0.674813 0.806631 +vt 0.689113 0.823081 +vt 0.673726 0.807865 +vt 0.688582 0.823615 +vt 0.673083 0.808378 +vt 0.637142 0.823777 +vt 0.636610 0.823250 +vt 0.651874 0.807914 +vt 0.652526 0.808421 +vt 0.636076 0.822719 +vt 0.651292 0.807333 +vt 0.635542 0.822189 +vt 0.650779 0.806690 +vt 0.674125 0.806455 +vt 0.674085 0.786256 +vt 0.674778 0.786074 +vt 0.673432 0.806343 +vt 0.673388 0.786368 +vt 0.672733 0.806291 +vt 0.672691 0.786423 +vt 0.652813 0.807039 +vt 0.652866 0.806342 +vt 0.672787 0.806989 +vt 0.652702 0.807733 +vt 0.672899 0.807685 +vt 0.652169 0.806395 +vt 0.652122 0.786419 +vt 0.652820 0.786472 +vt 0.651472 0.806507 +vt 0.651429 0.786308 +vt 0.650742 0.786131 +vt 0.689480 0.770043 +vt 0.690014 0.770574 +vt 0.674264 0.785431 +vt 0.688946 0.769514 +vt 0.673683 0.784850 +vt 0.688414 0.768986 +vt 0.673031 0.784343 +vt 0.652655 0.785077 +vt 0.652472 0.784385 +vt 0.672855 0.785031 +vt 0.652767 0.785775 +vt 0.672744 0.785725 +vt 0.636442 0.769681 +vt 0.636973 0.769148 +vt 0.651829 0.784898 +vt 0.635913 0.770215 +vt 0.651248 0.785480 +vt 0.635385 0.770747 +vt 0.673317 0.806881 +vt 0.673931 0.806983 +vt 0.673435 0.807491 +vt 0.651666 0.807042 +vt 0.652276 0.806925 +vt 0.652173 0.807538 +vt 0.673383 0.785225 +vt 0.673891 0.785722 +vt 0.673281 0.785840 +vt 0.651623 0.785779 +vt 0.652120 0.785272 +vt 0.652238 0.785882 +vt 0.046316 0.953458 +vt 0.046416 0.953033 +vt 0.046770 0.953283 +vt 0.046602 0.953548 +vt 0.047101 0.953558 +vt 0.046903 0.953791 +vt 0.047409 0.953856 +vt 0.047054 0.954070 +vt 0.046673 0.954234 +vt 0.046565 0.953936 +vt 0.046271 0.954347 +vt 0.046266 0.953898 +vt 0.065644 0.933895 +vt 0.066003 0.933925 +vt 0.065868 0.934464 +vt 0.065545 0.934364 +vt 0.065686 0.934973 +vt 0.065309 0.934700 +vt 0.064944 0.934416 +vt 0.065213 0.934112 +vt 0.064590 0.934120 +vt 0.065043 0.933816 +vt 0.065538 0.933560 +vt 0.037130 0.913723 +vt 0.037535 0.913361 +vt 0.036723 0.914087 +vt 0.019938 0.946357 +vt 0.020073 0.945694 +vt 0.019807 0.947020 +vt 0.019680 0.947682 +vt 0.059998 0.980037 +vt 0.022518 0.984388 +vt 0.086130 0.954205 +vt 0.061942 0.979289 +vt 0.060647 0.979790 +vt 0.061294 0.979540 +vt 0.086404 0.953732 +vt 0.086673 0.953262 +vt 0.066064 0.933377 +vt 0.037934 0.913004 +vt 0.086938 0.952793 +vt 0.408829 0.922204 +vt 0.385099 0.902551 +vt 0.385963 0.901296 +vt 0.409135 0.921395 +vt 0.408656 0.923077 +vt 0.384242 0.903811 +vt 0.383394 0.905050 +vt 0.408638 0.924022 +vt 0.423546 0.904024 +vt 0.424095 0.904827 +vt 0.409857 0.921942 +vt 0.424720 0.905557 +vt 0.410572 0.922514 +vt 0.425410 0.906217 +vt 0.411291 0.923100 +vt 0.425171 0.903723 +vt 0.421158 0.877422 +vt 0.422682 0.876993 +vt 0.426013 0.903739 +vt 0.424346 0.903823 +vt 0.419637 0.877870 +vt 0.418121 0.878338 +vt 0.409339 0.923253 +vt 0.409628 0.923858 +vt 0.410125 0.923014 +vt 0.410517 0.923542 +vt 0.409467 0.922476 +vt 0.425108 0.905114 +vt 0.425708 0.905415 +vt 0.425301 0.904377 +vt 0.425910 0.904588 +vt 0.424563 0.904462 +vt 0.458802 0.884816 +vt 0.448668 0.910739 +vt 0.448221 0.911635 +vt 0.447798 0.912543 +vt 0.447381 0.913460 +vt 0.436215 0.945873 +vt 0.435760 0.946841 +vt 0.435377 0.947872 +vt 0.435111 0.948988 +vt 0.437520 0.948364 +vt 0.438644 0.947804 +vt 0.448669 0.981194 +vt 0.447262 0.981430 +vt 0.436335 0.948748 +vt 0.445855 0.981682 +vt 0.444455 0.981946 +vt 0.437871 0.947084 +vt 0.449277 0.913410 +vt 0.450283 0.913088 +vt 0.437063 0.946437 +vt 0.448305 0.913516 +vt 0.449290 0.911419 +vt 0.460127 0.885346 +vt 0.449832 0.912203 +vt 0.461444 0.885888 +vt 0.462751 0.886437 +vt 0.436217 0.948034 +vt 0.436522 0.947120 +vt 0.437245 0.947700 +vt 0.448437 0.912818 +vt 0.448815 0.911983 +vt 0.449277 0.912691 +vt 0.469387 0.946651 +vt 0.469771 0.945874 +vt 0.493179 0.957911 +vt 0.492042 0.959191 +vt 0.468854 0.947341 +vt 0.490887 0.960458 +vt 0.489721 0.961703 +vt 0.468196 0.947939 +vt 0.469021 0.945769 +vt 0.473978 0.925323 +vt 0.474979 0.925376 +vt 0.468265 0.945691 +vt 0.472998 0.925220 +vt 0.467502 0.945646 +vt 0.472034 0.925061 +vt 0.474100 0.923923 +vt 0.473441 0.923309 +vt 0.495922 0.911539 +vt 0.496462 0.913123 +vt 0.474611 0.924624 +vt 0.496985 0.914718 +vt 0.497486 0.916323 +vt 0.467849 0.947194 +vt 0.468441 0.946982 +vt 0.467619 0.946425 +vt 0.468200 0.946311 +vt 0.468910 0.946384 +vt 0.472430 0.924437 +vt 0.473106 0.924686 +vt 0.472902 0.923852 +vt 0.473533 0.924151 +vt 0.473985 0.924757 +vt 0.715302 0.874003 +vt 0.715953 0.874510 +vt 0.700534 0.889831 +vt 0.700004 0.889302 +vt 0.714722 0.873421 +vt 0.699470 0.888771 +vt 0.698939 0.888242 +vt 0.714209 0.872774 +vt 0.716299 0.872432 +vt 0.715601 0.872483 +vt 0.715617 0.852507 +vt 0.716315 0.852562 +vt 0.714903 0.872593 +vt 0.714924 0.852394 +vt 0.714237 0.852216 +vt 0.716131 0.873823 +vt 0.736329 0.873840 +vt 0.736509 0.874534 +vt 0.716244 0.873129 +vt 0.736218 0.873143 +vt 0.736167 0.872445 +vt 0.737736 0.873443 +vt 0.738245 0.872792 +vt 0.753550 0.888228 +vt 0.753021 0.888758 +vt 0.737154 0.874023 +vt 0.752490 0.889291 +vt 0.751957 0.889823 +vt 0.737558 0.872614 +vt 0.737580 0.852415 +vt 0.738274 0.852235 +vt 0.736865 0.872500 +vt 0.736883 0.852525 +vt 0.736185 0.852577 +vt 0.737182 0.851007 +vt 0.736531 0.850499 +vt 0.751968 0.835194 +vt 0.752498 0.835723 +vt 0.737762 0.851590 +vt 0.753031 0.836255 +vt 0.753563 0.836787 +vt 0.716154 0.851168 +vt 0.715974 0.850474 +vt 0.736353 0.851186 +vt 0.716264 0.851864 +vt 0.736241 0.851879 +vt 0.714745 0.851565 +vt 0.698932 0.836780 +vt 0.699461 0.836250 +vt 0.715328 0.850985 +vt 0.699992 0.835717 +vt 0.700525 0.835185 +vt 0.715096 0.873129 +vt 0.715707 0.873013 +vt 0.715603 0.873627 +vt 0.736748 0.873037 +vt 0.737362 0.873142 +vt 0.736864 0.873648 +vt 0.736777 0.851996 +vt 0.736882 0.851382 +vt 0.737388 0.851880 +vt 0.715734 0.851970 +vt 0.715120 0.851865 +vt 0.715618 0.851360 +vt 0.789339 0.723950 +vt 0.790038 0.723890 +vt 0.789979 0.724589 +vt 0.789445 0.724476 +vt 0.789865 0.725285 +vt 0.789342 0.725089 +vt 0.789690 0.725974 +vt 0.789046 0.725463 +vt 0.788466 0.724882 +vt 0.788837 0.724594 +vt 0.787950 0.724243 +vt 0.788642 0.724064 +vt 0.788991 0.679292 +vt 0.789630 0.678776 +vt 0.789810 0.679467 +vt 0.789279 0.679662 +vt 0.789923 0.680165 +vt 0.789397 0.680271 +vt 0.789983 0.680864 +vt 0.789284 0.680805 +vt 0.788588 0.680691 +vt 0.788784 0.680167 +vt 0.787899 0.680515 +vt 0.788410 0.679871 +vt 0.834459 0.724002 +vt 0.835148 0.724178 +vt 0.834638 0.724822 +vt 0.834264 0.724525 +vt 0.834056 0.725401 +vt 0.833769 0.725031 +vt 0.833417 0.725916 +vt 0.833238 0.725226 +vt 0.833124 0.724528 +vt 0.833650 0.724422 +vt 0.833064 0.723829 +vt 0.833763 0.723888 +vt 0.833182 0.679408 +vt 0.833357 0.678719 +vt 0.834002 0.679230 +vt 0.833705 0.679604 +vt 0.834581 0.679811 +vt 0.834210 0.680099 +vt 0.835097 0.680450 +vt 0.834405 0.680629 +vt 0.833708 0.680743 +vt 0.833603 0.680217 +vt 0.833009 0.680803 +vt 0.833068 0.680104 +vt 0.757968 0.757681 +vt 0.757436 0.757152 +vt 0.756905 0.756622 +vt 0.756373 0.756092 +vt 0.756193 0.648793 +vt 0.756721 0.648262 +vt 0.757251 0.647730 +vt 0.757781 0.647198 +vt 0.865080 0.647012 +vt 0.865611 0.647541 +vt 0.866143 0.648071 +vt 0.866675 0.648601 +vt 0.866855 0.755900 +vt 0.866326 0.756431 +vt 0.865796 0.756964 +vt 0.865266 0.757495 +vt 0.673661 0.850499 +vt 0.673010 0.849993 +vt 0.688398 0.834641 +vt 0.688930 0.835169 +vt 0.674242 0.851080 +vt 0.689465 0.835699 +vt 0.689996 0.836228 +vt 0.674756 0.851726 +vt 0.672668 0.852072 +vt 0.673366 0.852019 +vt 0.673389 0.871995 +vt 0.672690 0.871941 +vt 0.674063 0.851907 +vt 0.674082 0.872107 +vt 0.674769 0.872284 +vt 0.672833 0.850680 +vt 0.652635 0.850703 +vt 0.652453 0.850010 +vt 0.672721 0.851373 +vt 0.652746 0.851399 +vt 0.652799 0.852097 +vt 0.651227 0.851103 +vt 0.650720 0.851754 +vt 0.635385 0.836348 +vt 0.635913 0.835817 +vt 0.651809 0.850522 +vt 0.636444 0.835284 +vt 0.636975 0.834751 +vt 0.651407 0.851932 +vt 0.651426 0.872130 +vt 0.650733 0.872311 +vt 0.652101 0.852043 +vt 0.652123 0.872018 +vt 0.652820 0.871965 +vt 0.651826 0.873537 +vt 0.652478 0.874044 +vt 0.637072 0.889379 +vt 0.636541 0.888851 +vt 0.651246 0.872955 +vt 0.636007 0.888321 +vt 0.635474 0.887789 +vt 0.672855 0.873336 +vt 0.673036 0.874029 +vt 0.652655 0.873357 +vt 0.672743 0.872639 +vt 0.652767 0.872663 +vt 0.674262 0.872936 +vt 0.690105 0.887690 +vt 0.689577 0.888220 +vt 0.673680 0.873516 +vt 0.689046 0.888754 +vt 0.688515 0.889287 +vt 0.673868 0.851372 +vt 0.673258 0.851489 +vt 0.673362 0.850875 +vt 0.652217 0.851506 +vt 0.651603 0.851403 +vt 0.652100 0.850896 +vt 0.652230 0.872548 +vt 0.652127 0.873161 +vt 0.651620 0.872665 +vt 0.673273 0.872532 +vt 0.673887 0.872635 +vt 0.673390 0.873142 +vt 0.333841 0.608213 +vt 0.334043 0.609374 +vt 0.306171 0.629917 +vt 0.305762 0.628785 +vt 0.333798 0.606990 +vt 0.305364 0.627675 +vt 0.304978 0.626601 +vt 0.333952 0.605705 +vt 0.336442 0.607948 +vt 0.335749 0.607123 +vt 0.365552 0.595228 +vt 0.365934 0.596277 +vt 0.334930 0.606362 +vt 0.365233 0.594160 +vt 0.364973 0.593073 +vt 0.334846 0.608910 +vt 0.345416 0.631520 +vt 0.344639 0.632158 +vt 0.335643 0.608433 +vt 0.346235 0.630969 +vt 0.347094 0.630503 +vt 0.346294 0.632891 +vt 0.347210 0.633053 +vt 0.336675 0.660039 +vt 0.335277 0.659275 +vt 0.345434 0.632585 +vt 0.333884 0.658496 +vt 0.332499 0.657704 +vt 0.347252 0.632203 +vt 0.373161 0.629865 +vt 0.373302 0.630877 +vt 0.347214 0.631351 +vt 0.373041 0.628858 +vt 0.372946 0.627851 +vt 0.375328 0.629559 +vt 0.376254 0.628658 +vt 0.376525 0.658490 +vt 0.375434 0.658816 +vt 0.374331 0.630285 +vt 0.374311 0.659142 +vt 0.373159 0.659463 +vt 0.368095 0.595674 +vt 0.369158 0.595280 +vt 0.375148 0.628224 +vt 0.367021 0.596010 +vt 0.374042 0.627964 +vt 0.334508 0.607057 +vt 0.335252 0.607665 +vt 0.334511 0.608108 +vt 0.346518 0.631517 +vt 0.346557 0.632288 +vt 0.345802 0.632021 +vt 0.373885 0.628732 +vt 0.374835 0.628984 +vt 0.374011 0.629646 +vt 0.366536 0.595166 +vt 0.366332 0.594125 +vt 0.366635 0.593266 +vt 0.368042 0.594046 +vt 0.367505 0.594741 +vt 0.439765 0.948491 +vt 0.450083 0.980964 +vt 0.440897 0.948884 +vt 0.451522 0.980746 +vt 0.452978 0.980524 +vt 0.441999 0.949092 +vt 0.450693 0.914042 +vt 0.439583 0.947168 +vt 0.451254 0.914810 +vt 0.440544 0.946728 +vt 0.451898 0.915441 +vt 0.441507 0.946462 +vt 0.452329 0.912692 +vt 0.465369 0.887542 +vt 0.466681 0.888113 +vt 0.453281 0.912720 +vt 0.451325 0.912809 +vt 0.464057 0.886984 +vt 0.440972 0.948244 +vt 0.441826 0.948218 +vt 0.440846 0.947408 +vt 0.441667 0.947341 +vt 0.440031 0.947841 +vt 0.451731 0.914219 +vt 0.452361 0.914539 +vt 0.452167 0.913394 +vt 0.452823 0.913636 +vt 0.451285 0.913518 +vt 0.393670 0.945276 +vt 0.365556 0.949156 +vt 0.365305 0.947359 +vt 0.393794 0.944458 +vt 0.393752 0.946079 +vt 0.365823 0.950957 +vt 0.366111 0.952750 +vt 0.394012 0.946843 +vt 0.405654 0.925065 +vt 0.406609 0.925584 +vt 0.394444 0.944718 +vt 0.407551 0.926098 +vt 0.395055 0.945041 +vt 0.408495 0.926599 +vt 0.395616 0.945438 +vt 0.407508 0.924228 +vt 0.382541 0.906294 +vt 0.406516 0.924595 +vt 0.381676 0.907550 +vt 0.380809 0.908820 +vt 0.394212 0.945939 +vt 0.394568 0.946399 +vt 0.394735 0.945523 +vt 0.395106 0.945933 +vt 0.394165 0.945236 +vt 0.407908 0.925551 +vt 0.408692 0.925820 +vt 0.407936 0.924785 +vt 0.408756 0.924962 +vt 0.407057 0.925062 +vt 0.433914 0.949013 +vt 0.432793 0.949198 +vt 0.431753 0.949534 +vt 0.409281 0.961090 +vt 0.408425 0.961677 +vt 0.407601 0.962317 +vt 0.406800 0.963007 +vt 0.397122 0.984802 +vt 0.408541 0.963273 +vt 0.409481 0.963179 +vt 0.401923 0.986997 +vt 0.400316 0.986289 +vt 0.407641 0.963213 +vt 0.398712 0.985558 +vt 0.409500 0.962460 +vt 0.432722 0.951313 +vt 0.433196 0.952217 +vt 0.409434 0.961762 +vt 0.432240 0.950422 +vt 0.434612 0.950283 +vt 0.443058 0.982216 +vt 0.433940 0.951332 +vt 0.441646 0.982507 +vt 0.440222 0.982802 +vt 0.408023 0.962672 +vt 0.408740 0.962083 +vt 0.408806 0.962725 +vt 0.432979 0.949982 +vt 0.433961 0.949877 +vt 0.433440 0.950806 +vt 0.481498 0.559388 +vt 0.481875 0.558568 +vt 0.482660 0.559040 +vt 0.482187 0.559586 +vt 0.483391 0.559610 +vt 0.482846 0.560084 +vt 0.484093 0.560239 +vt 0.483077 0.560662 +vt 0.482026 0.560960 +vt 0.481932 0.560366 +vt 0.480934 0.561145 +vt 0.481193 0.560252 +vt 0.504637 0.512178 +vt 0.503786 0.511989 +vt 0.504153 0.511245 +vt 0.504853 0.511499 +vt 0.504571 0.510570 +vt 0.505319 0.510821 +vt 0.504984 0.509943 +vt 0.505941 0.510427 +vt 0.506407 0.511304 +vt 0.505717 0.511544 +vt 0.506282 0.512335 +vt 0.505477 0.512269 +vt 0.495504 0.614645 +vt 0.494735 0.614840 +vt 0.493980 0.615040 +vt 0.493237 0.615246 +vt 0.455522 0.493217 +vt 0.455708 0.492514 +vt 0.455329 0.493912 +vt 0.455129 0.494601 +vt 0.434684 0.530140 +vt 0.434116 0.530706 +vt 0.433553 0.531290 +vt 0.433001 0.531891 +vt 0.441201 0.587572 +vt 0.441723 0.586971 +vt 0.442380 0.587394 +vt 0.441833 0.587802 +vt 0.442863 0.588008 +vt 0.442305 0.588391 +vt 0.443128 0.588757 +vt 0.442396 0.589069 +vt 0.441611 0.589187 +vt 0.441541 0.588507 +vt 0.440819 0.589108 +vt 0.440896 0.588305 +vt 0.478318 0.562539 +vt 0.477903 0.561915 +vt 0.478863 0.561513 +vt 0.478998 0.562106 +vt 0.479879 0.561270 +vt 0.479890 0.561885 +vt 0.480474 0.562109 +vt 0.479900 0.562986 +vt 0.479404 0.562673 +vt 0.479199 0.563752 +vt 0.478748 0.563157 +vt 0.492506 0.615459 +vt 0.491778 0.615679 +vt 0.491050 0.615902 +vt 0.447495 0.634093 +vt 0.446547 0.634325 +vt 0.445588 0.634478 +vt 0.444621 0.634549 +vt 0.393472 0.628766 +vt 0.398867 0.577395 +vt 0.432461 0.532511 +vt 0.431936 0.533152 +vt 0.431423 0.533808 +vt 0.399947 0.574586 +vt 0.399520 0.575519 +vt 0.399162 0.576456 +vt 0.507966 0.456376 +vt 0.509003 0.456183 +vt 0.509115 0.456962 +vt 0.508341 0.456936 +vt 0.509201 0.457784 +vt 0.508489 0.457753 +vt 0.509166 0.458636 +vt 0.508384 0.458498 +vt 0.507629 0.458292 +vt 0.507717 0.457513 +vt 0.506906 0.458067 +vt 0.507179 0.457058 +vt 0.509025 0.508725 +vt 0.509832 0.508873 +vt 0.509577 0.509663 +vt 0.508878 0.509447 +vt 0.509218 0.510383 +vt 0.508473 0.510164 +vt 0.508828 0.511043 +vt 0.507869 0.510578 +vt 0.507372 0.509690 +vt 0.508046 0.509436 +vt 0.507463 0.508642 +vt 0.508227 0.508675 +vt 0.565461 0.523773 +vt 0.565395 0.522822 +vt 0.566360 0.523035 +vt 0.566208 0.523745 +vt 0.567372 0.523230 +vt 0.567059 0.523910 +vt 0.568365 0.523416 +vt 0.567518 0.524280 +vt 0.566594 0.525033 +vt 0.566283 0.524573 +vt 0.565574 0.525666 +vt 0.565525 0.524719 +vt 0.545165 0.459458 +vt 0.544548 0.459833 +vt 0.544255 0.459017 +vt 0.544890 0.458730 +vt 0.544108 0.458202 +vt 0.544784 0.457912 +vt 0.544081 0.457397 +vt 0.545072 0.457257 +vt 0.545966 0.457699 +vt 0.545504 0.458238 +vt 0.546186 0.458643 +vt 0.545707 0.459036 +vt 0.594185 0.575878 +vt 0.593374 0.576273 +vt 0.592578 0.576657 +vt 0.591792 0.577032 +vt 0.507752 0.510952 +vt 0.508766 0.511806 +vt 0.507999 0.511595 +vt 0.508676 0.512593 +vt 0.507954 0.512408 +vt 0.508486 0.513388 +vt 0.507693 0.513089 +vt 0.506966 0.512715 +vt 0.507233 0.511989 +vt 0.506819 0.511408 +vt 0.486047 0.559468 +vt 0.487067 0.559307 +vt 0.487043 0.560066 +vt 0.486237 0.560032 +vt 0.486971 0.560827 +vt 0.486184 0.560738 +vt 0.486852 0.561579 +vt 0.485885 0.561283 +vt 0.484968 0.560821 +vt 0.485367 0.560339 +vt 0.485055 0.559789 +vt 0.530508 0.561205 +vt 0.530881 0.560503 +vt 0.531619 0.560763 +vt 0.531178 0.561288 +vt 0.532243 0.561240 +vt 0.531786 0.561746 +vt 0.532702 0.561890 +vt 0.532055 0.562372 +vt 0.531309 0.562673 +vt 0.531065 0.562041 +vt 0.530508 0.562783 +vt 0.530386 0.561987 +vt 0.563350 0.527783 +vt 0.562771 0.527288 +vt 0.563637 0.526659 +vt 0.563921 0.527195 +vt 0.564579 0.526134 +vt 0.564746 0.526738 +vt 0.565358 0.526775 +vt 0.565010 0.527809 +vt 0.564459 0.527645 +vt 0.564503 0.528747 +vt 0.563926 0.528277 +vt 0.591025 0.577398 +vt 0.590267 0.577759 +vt 0.589526 0.578116 +vt 0.548756 0.604118 +vt 0.547888 0.604518 +vt 0.547006 0.604874 +vt 0.546104 0.605183 +vt 0.497907 0.614060 +vt 0.497091 0.614257 +vt 0.496290 0.614452 +vt 0.545434 0.456643 +vt 0.546023 0.455688 +vt 0.546624 0.456249 +vt 0.546058 0.456734 +vt 0.547237 0.456913 +vt 0.546731 0.457282 +vt 0.547742 0.457749 +vt 0.547190 0.458010 +vt 0.546671 0.458321 +vt 0.546129 0.457637 +vt 0.545494 0.457754 +vt 0.569061 0.521337 +vt 0.569514 0.520338 +vt 0.570099 0.520886 +vt 0.569609 0.521543 +vt 0.570680 0.521367 +vt 0.570162 0.522007 +vt 0.571264 0.521803 +vt 0.570427 0.522506 +vt 0.569439 0.523032 +vt 0.569332 0.522451 +vt 0.568682 0.522369 +vt 0.594057 0.480987 +vt 0.593556 0.480388 +vt 0.594115 0.479816 +vt 0.594434 0.480417 +vt 0.594811 0.479417 +vt 0.595104 0.480031 +vt 0.595595 0.479205 +vt 0.595782 0.479995 +vt 0.595751 0.480796 +vt 0.595080 0.480802 +vt 0.595484 0.481559 +vt 0.594719 0.481388 +vt 0.578480 0.439251 +vt 0.577782 0.439474 +vt 0.577532 0.438554 +vt 0.578155 0.438546 +vt 0.577516 0.437601 +vt 0.578136 0.437689 +vt 0.577708 0.436652 +vt 0.578518 0.437166 +vt 0.579231 0.437805 +vt 0.578801 0.438251 +vt 0.579812 0.438564 +vt 0.579161 0.438943 +vt 0.627694 0.422224 +vt 0.627943 0.423078 +vt 0.628192 0.423936 +vt 0.628432 0.424805 +vt 0.639657 0.474159 +vt 0.639718 0.475122 +vt 0.639752 0.476104 +vt 0.639758 0.477107 +vt 0.630562 0.528425 +vt 0.630462 0.529290 +vt 0.630340 0.530173 +vt 0.630216 0.531081 +vt 0.505064 0.508427 +vt 0.505153 0.507615 +vt 0.505986 0.507911 +vt 0.505799 0.508599 +vt 0.506749 0.508271 +vt 0.506547 0.509004 +vt 0.506970 0.509588 +vt 0.506064 0.510057 +vt 0.505803 0.509413 +vt 0.505029 0.509208 +vt 0.505387 0.457995 +vt 0.504615 0.457860 +vt 0.504808 0.456996 +vt 0.505480 0.457241 +vt 0.505186 0.456218 +vt 0.505874 0.456502 +vt 0.505628 0.455486 +vt 0.506458 0.456109 +vt 0.506923 0.457030 +vt 0.506285 0.457262 +vt 0.506158 0.458042 +vt 0.485088 0.450255 +vt 0.484901 0.451100 +vt 0.484733 0.451956 +vt 0.484583 0.452828 +vt 0.482319 0.476477 +vt 0.456055 0.491083 +vt 0.456221 0.490355 +vt 0.455884 0.491803 +vt 0.506918 0.510500 +vt 0.048656 0.605866 +vt 0.048436 0.605367 +vt 0.048899 0.605309 +vt 0.048959 0.605714 +vt 0.049363 0.605265 +vt 0.049378 0.605669 +vt 0.049831 0.605239 +vt 0.049712 0.605767 +vt 0.049534 0.606290 +vt 0.049216 0.606119 +vt 0.049293 0.606804 +vt 0.048937 0.606350 +vt 0.043833 0.579588 +vt 0.043400 0.579601 +vt 0.043549 0.579191 +vt 0.043842 0.579279 +vt 0.043750 0.578798 +vt 0.044016 0.578932 +vt 0.044000 0.578425 +vt 0.044276 0.578740 +vt 0.044504 0.579088 +vt 0.044226 0.579232 +vt 0.044685 0.579461 +vt 0.044262 0.579541 +vt 0.069560 0.564374 +vt 0.069967 0.564928 +vt 0.070375 0.565485 +vt 0.070780 0.566044 +vt 0.077521 0.600105 +vt 0.076600 0.600816 +vt 0.076576 0.601357 +vt 0.076548 0.601895 +vt 0.016698 0.608736 +vt 0.016553 0.608220 +vt 0.016406 0.607698 +vt 0.015176 0.607234 +vt 0.018197 0.571617 +vt 0.018446 0.570985 +vt 0.018697 0.570354 +vt 0.018952 0.569724 +vt 0.041684 0.540777 +vt 0.114564 0.736181 +vt 0.114057 0.735668 +vt 0.114716 0.735170 +vt 0.115077 0.735719 +vt 0.115413 0.734764 +vt 0.115738 0.735341 +vt 0.116161 0.734455 +vt 0.116342 0.735389 +vt 0.116126 0.736333 +vt 0.115600 0.736158 +vt 0.115550 0.737169 +vt 0.115073 0.736684 +vt 0.073021 0.772186 +vt 0.072495 0.771376 +vt 0.073160 0.771124 +vt 0.073411 0.771840 +vt 0.073845 0.770883 +vt 0.074069 0.771599 +vt 0.074535 0.770627 +vt 0.074638 0.771572 +vt 0.074615 0.772551 +vt 0.074041 0.772435 +vt 0.074465 0.773493 +vt 0.073688 0.772901 +vt 0.059569 0.727043 +vt 0.060005 0.726419 +vt 0.060703 0.726785 +vt 0.060214 0.727273 +vt 0.061245 0.727375 +vt 0.060722 0.727808 +vt 0.061564 0.728092 +vt 0.060922 0.728489 +vt 0.060171 0.728662 +vt 0.060014 0.727999 +vt 0.059408 0.728555 +vt 0.059356 0.727785 +vt 0.091094 0.697738 +vt 0.091998 0.697650 +vt 0.091781 0.698544 +vt 0.091198 0.698348 +vt 0.091394 0.699348 +vt 0.090861 0.699084 +vt 0.090837 0.700038 +vt 0.090298 0.699555 +vt 0.089848 0.699034 +vt 0.090404 0.698553 +vt 0.089491 0.698428 +vt 0.090259 0.697984 +vt 0.058045 0.667629 +vt 0.058647 0.667076 +vt 0.057328 0.668117 +vt 0.056555 0.668597 +vt 0.015967 0.711247 +vt 0.016471 0.710352 +vt 0.015657 0.712173 +vt 0.015492 0.713191 +vt 0.019956 0.771576 +vt 0.020124 0.772448 +vt 0.020235 0.773344 +vt 0.020326 0.774282 +vt 0.149996 0.766659 +vt 0.149362 0.766199 +vt 0.149861 0.765605 +vt 0.150338 0.766082 +vt 0.150406 0.765096 +vt 0.150856 0.765605 +vt 0.151016 0.764621 +vt 0.151431 0.765467 +vt 0.151532 0.766405 +vt 0.150969 0.766405 +vt 0.151348 0.767355 +vt 0.150650 0.767018 +vt 0.121749 0.802788 +vt 0.120806 0.802537 +vt 0.121060 0.801859 +vt 0.121711 0.802188 +vt 0.121336 0.801171 +vt 0.121971 0.801492 +vt 0.121723 0.800519 +vt 0.122399 0.800973 +vt 0.122981 0.801515 +vt 0.122533 0.802029 +vt 0.123465 0.802112 +vt 0.122647 0.802630 +vt 0.074390 0.774476 +vt 0.075250 0.773829 +vt 0.074973 0.774465 +vt 0.076015 0.774249 +vt 0.075679 0.774830 +vt 0.076747 0.774717 +vt 0.076126 0.775336 +vt 0.075451 0.775903 +vt 0.075069 0.775341 +vt 0.074740 0.776391 +vt 0.074484 0.775438 +vt 0.117265 0.736638 +vt 0.118163 0.736991 +vt 0.117769 0.737689 +vt 0.117220 0.737278 +vt 0.117312 0.738377 +vt 0.116803 0.737981 +vt 0.116728 0.738993 +vt 0.116239 0.738433 +vt 0.115853 0.737795 +vt 0.116423 0.737363 +vt 0.116336 0.736695 +vt 0.020411 0.775239 +vt 0.020488 0.776199 +vt 0.020562 0.777154 +vt 0.120158 0.804694 +vt 0.119424 0.804409 +vt 0.119823 0.803715 +vt 0.120430 0.804047 +vt 0.120311 0.803081 +vt 0.120933 0.803416 +vt 0.121521 0.803124 +vt 0.121790 0.803968 +vt 0.121193 0.804177 +vt 0.121598 0.804929 +vt 0.120920 0.804839 +vt 0.101552 0.854501 +vt 0.100659 0.854120 +vt 0.101077 0.853521 +vt 0.101683 0.853968 +vt 0.101553 0.852933 +vt 0.102104 0.853435 +vt 0.102044 0.852385 +vt 0.102612 0.853163 +vt 0.103100 0.854033 +vt 0.102540 0.854184 +vt 0.103495 0.854956 +vt 0.102502 0.854780 +vt 0.067163 0.823818 +vt 0.067169 0.823032 +vt 0.067935 0.822953 +vt 0.067813 0.823642 +vt 0.068681 0.823114 +vt 0.068540 0.823790 +vt 0.069325 0.823518 +vt 0.069054 0.824246 +vt 0.068558 0.824818 +vt 0.068055 0.824362 +vt 0.067870 0.825163 +vt 0.067397 0.824556 +vt 0.074067 0.777062 +vt 0.075043 0.777312 +vt 0.074473 0.777491 +vt 0.075210 0.778259 +vt 0.074650 0.778342 +vt 0.075247 0.779209 +vt 0.074512 0.779072 +vt 0.073787 0.778895 +vt 0.073970 0.778168 +vt 0.073096 0.778682 +vt 0.073505 0.777840 +vt 0.020631 0.778095 +vt 0.020682 0.779002 +vt 0.020697 0.779893 +vt 0.024079 0.834867 +vt 0.023836 0.833939 +vt 0.024375 0.835773 +vt 0.024707 0.836708 +vt 0.054111 0.884946 +vt 0.054609 0.885679 +vt 0.055115 0.886398 +vt 0.055620 0.887108 +vt 0.119716 0.901972 +vt 0.119341 0.901293 +vt 0.119916 0.900800 +vt 0.120149 0.901456 +vt 0.120616 0.900550 +vt 0.120836 0.901195 +vt 0.121384 0.900571 +vt 0.121515 0.901324 +vt 0.121392 0.902065 +vt 0.120729 0.901936 +vt 0.121007 0.902733 +vt 0.120288 0.902460 +vt 0.105106 0.858444 +vt 0.105304 0.857477 +vt 0.106035 0.858152 +vt 0.105666 0.858624 +vt 0.106673 0.858895 +vt 0.106252 0.859269 +vt 0.107206 0.859694 +vt 0.106513 0.859969 +vt 0.105779 0.860198 +vt 0.105596 0.859485 +vt 0.105052 0.860369 +vt 0.105018 0.859420 +vt 0.057577 0.889977 +vt 0.057092 0.889254 +vt 0.058071 0.890702 +vt 0.058585 0.891419 +vt 0.092196 0.935752 +vt 0.091464 0.935105 +vt 0.092929 0.936380 +vt 0.093679 0.936987 +vt 0.164304 0.912363 +vt 0.142965 0.962634 +vt 0.162256 0.859138 +vt 0.164773 0.909557 +vt 0.164507 0.911435 +vt 0.164667 0.910501 +vt 0.162235 0.858341 +vt 0.162173 0.857575 +vt 0.162097 0.856851 +vt 0.103986 0.855885 +vt 0.104380 0.854938 +vt 0.104475 0.855623 +vt 0.105277 0.854956 +vt 0.105271 0.855614 +vt 0.106164 0.855010 +vt 0.105918 0.855841 +vt 0.105627 0.856669 +vt 0.105017 0.856348 +vt 0.104587 0.856719 +vt 0.122880 0.803562 +vt 0.123856 0.803499 +vt 0.123826 0.804250 +vt 0.123117 0.804147 +vt 0.123737 0.805045 +vt 0.123081 0.804954 +vt 0.123519 0.805849 +vt 0.122817 0.805634 +vt 0.122179 0.805303 +vt 0.122437 0.804612 +vt 0.122124 0.804090 +vt 0.056117 0.887820 +vt 0.056608 0.888535 +vt 0.167561 0.812390 +vt 0.161861 0.854731 +vt 0.162026 0.856138 +vt 0.161952 0.855433 +vt 0.167675 0.811614 +vt 0.167791 0.810839 +vt 0.167908 0.810055 +vt 0.122251 0.803284 +vt 0.123034 0.802740 +vt 0.123130 0.803228 +vt 0.458708 0.470746 +vt 0.461434 0.448009 +vt 0.461563 0.447129 +vt 0.461713 0.446257 +vt 0.461882 0.445395 +vt 0.343437 0.819880 +vt 0.343433 0.819002 +vt 0.344296 0.819020 +vt 0.344236 0.819876 +vt 0.345157 0.819155 +vt 0.345088 0.820041 +vt 0.346008 0.819252 +vt 0.345782 0.820399 +vt 0.344885 0.821405 +vt 0.344442 0.820808 +vt 0.343626 0.821563 +vt 0.343537 0.820708 +vt 0.294434 0.818860 +vt 0.294301 0.817510 +vt 0.295116 0.817415 +vt 0.295053 0.818369 +vt 0.295955 0.817327 +vt 0.295933 0.818218 +vt 0.296801 0.817291 +vt 0.296749 0.818274 +vt 0.296610 0.819232 +vt 0.295731 0.819213 +vt 0.296437 0.820173 +vt 0.295180 0.819821 +vt 0.296559 0.757423 +vt 0.297605 0.756843 +vt 0.297693 0.757884 +vt 0.296860 0.758024 +vt 0.297663 0.758963 +vt 0.296871 0.758984 +vt 0.297563 0.760012 +vt 0.296568 0.759763 +vt 0.295585 0.759434 +vt 0.295969 0.758708 +vt 0.294668 0.759001 +vt 0.295536 0.758159 +vt 0.352057 0.775407 +vt 0.351944 0.776597 +vt 0.351060 0.776477 +vt 0.351284 0.775593 +vt 0.350161 0.776341 +vt 0.350373 0.775565 +vt 0.349268 0.776090 +vt 0.349559 0.775309 +vt 0.349876 0.774585 +vt 0.350794 0.774731 +vt 0.350186 0.773848 +vt 0.351428 0.774243 +vt 0.265994 0.708990 +vt 0.266884 0.708469 +vt 0.265142 0.709560 +vt 0.264313 0.710198 +vt 0.751407 0.900057 +vt 0.752264 0.900744 +vt 0.739336 0.913775 +vt 0.738553 0.913301 +vt 0.753053 0.901523 +vt 0.739972 0.914422 +vt 0.753700 0.902389 +vt 0.740453 0.915198 +vt 0.753545 0.952436 +vt 0.752858 0.953291 +vt 0.739990 0.940527 +vt 0.740463 0.939744 +vt 0.752078 0.954085 +vt 0.739342 0.941164 +vt 0.751209 0.954725 +vt 0.738566 0.941645 +vt 0.738175 0.914108 +vt 0.714385 0.914119 +vt 0.714006 0.913303 +vt 0.737926 0.914966 +vt 0.714620 0.914979 +vt 0.737898 0.915845 +vt 0.714652 0.915859 +vt 0.738798 0.939118 +vt 0.737920 0.939089 +vt 0.738777 0.915812 +vt 0.739656 0.939367 +vt 0.739638 0.915576 +vt 0.737952 0.939969 +vt 0.714645 0.939984 +vt 0.714674 0.939106 +vt 0.738188 0.940829 +vt 0.714396 0.940843 +vt 0.714018 0.941649 +vt 0.700352 0.900878 +vt 0.701237 0.900253 +vt 0.713229 0.913784 +vt 0.699560 0.901657 +vt 0.712582 0.914420 +vt 0.698855 0.902498 +vt 0.712109 0.915203 +vt 0.712934 0.939374 +vt 0.712118 0.939752 +vt 0.712915 0.915581 +vt 0.713794 0.939137 +vt 0.713774 0.915830 +vt 0.699673 0.953424 +vt 0.699049 0.952541 +vt 0.712599 0.940529 +vt 0.700452 0.954218 +vt 0.713234 0.941175 +vt 0.701291 0.954922 +vt 0.738640 0.915114 +vt 0.738852 0.914313 +vt 0.739443 0.914884 +vt 0.738881 0.940635 +vt 0.738650 0.939832 +vt 0.739451 0.940044 +vt 0.713121 0.914904 +vt 0.713691 0.914314 +vt 0.713922 0.915116 +vt 0.713719 0.940637 +vt 0.713128 0.940067 +vt 0.713930 0.939836 +vt 0.342022 0.868965 +vt 0.341996 0.868198 +vt 0.342975 0.868179 +vt 0.342604 0.868902 +vt 0.343853 0.868342 +vt 0.343533 0.868891 +vt 0.344789 0.868682 +vt 0.344088 0.869372 +vt 0.343407 0.869947 +vt 0.342914 0.869534 +vt 0.342511 0.870382 +vt 0.342207 0.869702 +vt 0.295050 0.881256 +vt 0.293949 0.880916 +vt 0.294821 0.880180 +vt 0.295329 0.880648 +vt 0.295744 0.879546 +vt 0.296148 0.880072 +vt 0.296789 0.879044 +vt 0.297028 0.879827 +vt 0.297198 0.880610 +vt 0.296314 0.880782 +vt 0.297283 0.881408 +vt 0.296139 0.881425 +vt 0.295150 0.820360 +vt 0.296492 0.821111 +vt 0.295584 0.821055 +vt 0.296530 0.822055 +vt 0.295707 0.822029 +vt 0.296518 0.823001 +vt 0.295630 0.822896 +vt 0.294780 0.822732 +vt 0.294807 0.821811 +vt 0.293956 0.822545 +vt 0.294288 0.821215 +vt 0.345859 0.822781 +vt 0.346102 0.823997 +vt 0.345199 0.824043 +vt 0.345229 0.823128 +vt 0.344275 0.824110 +vt 0.344373 0.823292 +vt 0.343365 0.824082 +vt 0.343475 0.823230 +vt 0.343554 0.822409 +vt 0.344483 0.822362 +vt 0.344945 0.821736 +vt 0.316770 0.932496 +vt 0.315934 0.932940 +vt 0.317647 0.932136 +vt 0.318547 0.931787 +vt 0.365109 0.909190 +vt 0.364334 0.909688 +vt 0.365873 0.908695 +vt 0.366617 0.908295 +vt 0.350519 0.772313 +vt 0.350731 0.771508 +vt 0.351619 0.771812 +vt 0.351348 0.772588 +vt 0.352429 0.772223 +vt 0.352135 0.773051 +vt 0.353247 0.772585 +vt 0.352649 0.773637 +vt 0.351417 0.774227 +vt 0.351231 0.773519 +vt 0.350375 0.773079 +vt 0.298073 0.754568 +vt 0.298610 0.753497 +vt 0.299221 0.753930 +vt 0.298655 0.754690 +vt 0.299822 0.754401 +vt 0.299197 0.755111 +vt 0.300427 0.754910 +vt 0.299552 0.755695 +vt 0.298618 0.756321 +vt 0.298381 0.755718 +vt 0.297754 0.755676 +vt 0.329932 0.717002 +vt 0.330665 0.717023 +vt 0.330661 0.717729 +vt 0.330512 0.717098 +vt 0.330481 0.718384 +vt 0.330012 0.717890 +vt 0.330135 0.719040 +vt 0.329576 0.718649 +vt 0.329110 0.718208 +vt 0.329632 0.717536 +vt 0.328709 0.717668 +vt 0.329285 0.717233 +vt 0.370968 0.731630 +vt 0.371656 0.732366 +vt 0.370668 0.732649 +vt 0.370410 0.732080 +vt 0.369668 0.732733 +vt 0.369594 0.732166 +vt 0.368586 0.732601 +vt 0.368734 0.731872 +vt 0.368962 0.731123 +vt 0.369810 0.731407 +vt 0.369263 0.730439 +vt 0.370197 0.730971 +vt 0.381423 0.679822 +vt 0.380473 0.679691 +vt 0.379470 0.679489 +vt 0.378436 0.679320 +vt 0.320247 0.676674 +vt 0.321401 0.676393 +vt 0.319098 0.676967 +vt 0.317951 0.677271 +vt 0.269293 0.706613 +vt 0.268519 0.707282 +vt 0.267734 0.707918 +vt 0.291739 0.817978 +vt 0.291741 0.817022 +vt 0.292635 0.817147 +vt 0.292561 0.818017 +vt 0.293484 0.817321 +vt 0.293460 0.818237 +vt 0.293978 0.818844 +vt 0.293120 0.819690 +vt 0.292681 0.818996 +vt 0.291828 0.819868 +vt 0.291777 0.818928 +vt 0.241232 0.814788 +vt 0.241205 0.813781 +vt 0.241977 0.813792 +vt 0.241857 0.814678 +vt 0.242731 0.813909 +vt 0.242545 0.814785 +vt 0.243492 0.814135 +vt 0.243133 0.815082 +vt 0.242604 0.815895 +vt 0.242065 0.815555 +vt 0.241911 0.816589 +vt 0.241462 0.815724 +vt 0.291504 0.759480 +vt 0.291354 0.758703 +vt 0.292487 0.758609 +vt 0.292384 0.759251 +vt 0.293580 0.758717 +vt 0.293365 0.759330 +vt 0.293883 0.759785 +vt 0.293012 0.760457 +vt 0.292596 0.759939 +vt 0.292010 0.761003 +vt 0.291726 0.760241 +vt 0.250585 0.773198 +vt 0.249927 0.772965 +vt 0.250238 0.772329 +vt 0.250847 0.772418 +vt 0.250657 0.771801 +vt 0.251293 0.771591 +vt 0.251262 0.771404 +vt 0.251718 0.771971 +vt 0.251951 0.772613 +vt 0.251375 0.772533 +vt 0.251971 0.773313 +vt 0.251253 0.773323 +vt 0.192340 0.805423 +vt 0.192608 0.804395 +vt 0.192908 0.803359 +vt 0.193182 0.802306 +vt 0.213884 0.749853 +vt 0.214570 0.748922 +vt 0.215269 0.747980 +vt 0.215983 0.747023 +vt 0.261591 0.711800 +vt 0.262543 0.711301 +vt 0.263460 0.710789 +vt 0.626531 0.889036 +vt 0.626496 0.890368 +vt 0.595301 0.889697 +vt 0.595527 0.888653 +vt 0.626278 0.891772 +vt 0.594813 0.890626 +vt 0.626006 0.893226 +vt 0.594022 0.891315 +vt 0.533221 0.860838 +vt 0.534213 0.859918 +vt 0.558049 0.883571 +vt 0.558214 0.884814 +vt 0.535147 0.859030 +vt 0.558049 0.882320 +vt 0.535977 0.858140 +vt 0.558376 0.881126 +vt 0.594438 0.888499 +vt 0.596980 0.866156 +vt 0.597779 0.865617 +vt 0.593372 0.888535 +vt 0.595980 0.866334 +vt 0.592336 0.888626 +vt 0.594911 0.866236 +vt 0.560168 0.883412 +vt 0.560946 0.882527 +vt 0.592591 0.889745 +vt 0.559236 0.884151 +vt 0.593164 0.890678 +vt 0.560075 0.881988 +vt 0.573302 0.860525 +vt 0.574226 0.860887 +vt 0.559219 0.881502 +vt 0.572613 0.859849 +vt 0.572175 0.858964 +vt 0.614171 0.846855 +vt 0.614978 0.847919 +vt 0.597476 0.864610 +vt 0.613322 0.845862 +vt 0.596746 0.863885 +vt 0.612269 0.845055 +vt 0.595824 0.863443 +vt 0.574996 0.858944 +vt 0.574917 0.857946 +vt 0.595227 0.864290 +vt 0.574729 0.859947 +vt 0.594949 0.865245 +vt 0.568991 0.834196 +vt 0.570309 0.834020 +vt 0.573896 0.857841 +vt 0.567738 0.834410 +vt 0.572955 0.858255 +vt 0.566541 0.834801 +vt 0.593408 0.889467 +vt 0.594438 0.889399 +vt 0.593970 0.890315 +vt 0.558781 0.882359 +vt 0.559608 0.882787 +vt 0.558816 0.883481 +vt 0.596119 0.864538 +vt 0.596855 0.865233 +vt 0.595884 0.865453 +vt 0.573224 0.859118 +vt 0.574136 0.858708 +vt 0.573878 0.859750 +vt 0.612520 0.936120 +vt 0.611817 0.937161 +vt 0.590540 0.916914 +vt 0.590970 0.916019 +vt 0.610975 0.938046 +vt 0.589855 0.917632 +vt 0.609979 0.938796 +vt 0.588969 0.918096 +vt 0.572375 0.953487 +vt 0.571100 0.953674 +vt 0.566133 0.923778 +vt 0.567220 0.923809 +vt 0.569752 0.953963 +vt 0.565184 0.923344 +vt 0.568345 0.954287 +vt 0.564477 0.922598 +vt 0.590074 0.915400 +vt 0.594440 0.894056 +vt 0.595437 0.893975 +vt 0.589067 0.915112 +vt 0.593368 0.893940 +vt 0.588045 0.915207 +vt 0.592270 0.893603 +vt 0.567073 0.921743 +vt 0.566680 0.920670 +vt 0.587992 0.916238 +vt 0.567256 0.922795 +vt 0.588323 0.917227 +vt 0.565746 0.921063 +vt 0.558065 0.888105 +vt 0.559188 0.888156 +vt 0.564968 0.921702 +vt 0.556980 0.887953 +vt 0.555925 0.887671 +vt 0.625499 0.896045 +vt 0.625385 0.897333 +vt 0.595343 0.892883 +vt 0.625736 0.894671 +vt 0.594828 0.891954 +vt 0.558674 0.885877 +vt 0.593172 0.891856 +vt 0.558986 0.886996 +vt 0.592605 0.892663 +vt 0.532187 0.861773 +vt 0.557274 0.885621 +vt 0.531136 0.862701 +vt 0.556505 0.886571 +vt 0.530081 0.863614 +vt 0.588869 0.916007 +vt 0.589849 0.916263 +vt 0.589189 0.916974 +vt 0.565446 0.922490 +vt 0.566217 0.921876 +vt 0.566364 0.922930 +vt 0.594000 0.892285 +vt 0.594522 0.893151 +vt 0.593464 0.893088 +vt 0.557153 0.887070 +vt 0.557856 0.886183 +vt 0.558158 0.887199 +vt 0.952400 0.725700 +vt 0.952403 0.724855 +vt 0.953244 0.724861 +vt 0.953102 0.725573 +vt 0.954028 0.725015 +vt 0.953837 0.725716 +vt 0.954717 0.725386 +vt 0.954327 0.726174 +vt 0.953707 0.726788 +vt 0.953265 0.726303 +vt 0.952913 0.727174 +vt 0.952549 0.726487 +vt 0.905356 0.726050 +vt 0.904968 0.725257 +vt 0.905658 0.724892 +vt 0.905841 0.725608 +vt 0.906444 0.724743 +vt 0.906572 0.725444 +vt 0.907289 0.724745 +vt 0.907285 0.725587 +vt 0.907130 0.726371 +vt 0.906430 0.726181 +vt 0.906759 0.727060 +vt 0.905971 0.726669 +vt 0.952678 0.678118 +vt 0.953050 0.677431 +vt 0.953837 0.677819 +vt 0.953379 0.678308 +vt 0.954452 0.678439 +vt 0.953967 0.678880 +vt 0.954837 0.679231 +vt 0.954150 0.679596 +vt 0.953364 0.679744 +vt 0.953237 0.679044 +vt 0.952519 0.679743 +vt 0.952524 0.678902 +vt 0.905781 0.679473 +vt 0.905095 0.679102 +vt 0.905482 0.678314 +vt 0.905971 0.678773 +vt 0.906102 0.677699 +vt 0.906543 0.678185 +vt 0.906895 0.677311 +vt 0.907259 0.678000 +vt 0.907408 0.678787 +vt 0.906707 0.678915 +vt 0.907406 0.679632 +vt 0.906565 0.679627 +vt 0.985027 0.755066 +vt 0.984387 0.756147 +vt 0.983554 0.756984 +vt 0.982474 0.757625 +vt 0.877084 0.757370 +vt 0.876004 0.756730 +vt 0.875171 0.755895 +vt 0.874533 0.754814 +vt 0.874768 0.649423 +vt 0.875412 0.648345 +vt 0.876251 0.647513 +vt 0.877333 0.646876 +vt 0.982729 0.647107 +vt 0.983809 0.647750 +vt 0.984644 0.648587 +vt 0.985285 0.649668 +vt 0.566939 0.954611 +vt 0.563839 0.923438 +vt 0.565571 0.954875 +vt 0.562938 0.924013 +vt 0.564251 0.954940 +vt 0.561889 0.924314 +vt 0.524721 0.945277 +vt 0.523638 0.944459 +vt 0.537056 0.928346 +vt 0.538104 0.928487 +vt 0.522575 0.943611 +vt 0.536207 0.927749 +vt 0.521557 0.942701 +vt 0.535731 0.926796 +vt 0.563761 0.921802 +vt 0.555451 0.888798 +vt 0.562801 0.921316 +vt 0.554826 0.889848 +vt 0.561663 0.921162 +vt 0.554008 0.890750 +vt 0.538595 0.926663 +vt 0.538400 0.925644 +vt 0.561632 0.922199 +vt 0.538527 0.927642 +vt 0.561677 0.923250 +vt 0.537357 0.925806 +vt 0.533219 0.904112 +vt 0.534039 0.903566 +vt 0.536430 0.926179 +vt 0.532254 0.904464 +vt 0.531183 0.904530 +vt 0.529041 0.864502 +vt 0.554675 0.887647 +vt 0.528048 0.865370 +vt 0.553468 0.887812 +vt 0.527160 0.866257 +vt 0.552337 0.888209 +vt 0.532800 0.901944 +vt 0.531860 0.901659 +vt 0.552821 0.889111 +vt 0.533555 0.902616 +vt 0.553397 0.889950 +vt 0.505313 0.902012 +vt 0.505616 0.900716 +vt 0.531251 0.902507 +vt 0.505108 0.903302 +vt 0.531053 0.903512 +vt 0.505148 0.904608 +vt 0.562556 0.922163 +vt 0.563466 0.922629 +vt 0.562587 0.923195 +vt 0.536757 0.927065 +vt 0.537666 0.926658 +vt 0.537585 0.927631 +vt 0.553630 0.888621 +vt 0.554735 0.888431 +vt 0.554180 0.889386 +vt 0.531965 0.903611 +vt 0.532140 0.902617 +vt 0.532893 0.903231 +vt 0.290891 0.880855 +vt 0.290991 0.879823 +vt 0.292013 0.880097 +vt 0.291697 0.880856 +vt 0.293032 0.880456 +vt 0.292631 0.881155 +vt 0.293046 0.881714 +vt 0.291961 0.882404 +vt 0.291690 0.881796 +vt 0.290893 0.882946 +vt 0.290826 0.881913 +vt 0.235068 0.863273 +vt 0.234967 0.862340 +vt 0.235816 0.862275 +vt 0.235668 0.863021 +vt 0.236632 0.862415 +vt 0.236456 0.863177 +vt 0.237442 0.862731 +vt 0.237069 0.863574 +vt 0.236525 0.864308 +vt 0.235976 0.863838 +vt 0.235845 0.864912 +vt 0.235365 0.864144 +vt 0.241241 0.817274 +vt 0.242386 0.817422 +vt 0.241761 0.817678 +vt 0.242667 0.818332 +vt 0.242036 0.818518 +vt 0.242764 0.819309 +vt 0.241959 0.819356 +vt 0.241181 0.819253 +vt 0.241304 0.818423 +vt 0.240416 0.818985 +vt 0.240744 0.818073 +vt 0.293828 0.821196 +vt 0.293137 0.822634 +vt 0.293210 0.821680 +vt 0.292289 0.822706 +vt 0.292319 0.821821 +vt 0.291428 0.822720 +vt 0.291497 0.821749 +vt 0.291649 0.820801 +vt 0.292532 0.820836 +vt 0.293088 0.820232 +vt 0.192079 0.806445 +vt 0.191855 0.807473 +vt 0.191609 0.808484 +vt 0.183360 0.863144 +vt 0.183293 0.864250 +vt 0.183217 0.865376 +vt 0.183207 0.866508 +vt 0.314258 0.933846 +vt 0.313369 0.934224 +vt 0.315102 0.933423 +vt 0.259307 0.918128 +vt 0.259676 0.917554 +vt 0.260144 0.917951 +vt 0.259884 0.918635 +vt 0.260509 0.918385 +vt 0.260516 0.919182 +vt 0.260745 0.918945 +vt 0.260151 0.919326 +vt 0.259511 0.919463 +vt 0.259622 0.919212 +vt 0.258870 0.919358 +vt 0.259037 0.918713 +vt 0.226597 0.905958 +vt 0.226478 0.905339 +vt 0.227016 0.905121 +vt 0.226264 0.905353 +vt 0.227587 0.905050 +vt 0.227173 0.905612 +vt 0.228223 0.905135 +vt 0.228010 0.905754 +vt 0.227733 0.906291 +vt 0.226897 0.905973 +vt 0.227389 0.906820 +vt 0.226916 0.906450 +vt 0.289851 0.883405 +vt 0.290666 0.884094 +vt 0.290058 0.884013 +vt 0.290277 0.885181 +vt 0.289720 0.885027 +vt 0.289663 0.886222 +vt 0.289100 0.885758 +vt 0.288544 0.885261 +vt 0.289215 0.884577 +vt 0.287980 0.884730 +vt 0.288895 0.883983 +vt 0.235119 0.867524 +vt 0.234333 0.867348 +vt 0.234654 0.866406 +vt 0.235268 0.866629 +vt 0.235160 0.865609 +vt 0.235738 0.865825 +vt 0.236338 0.865772 +vt 0.236605 0.866673 +vt 0.235939 0.866717 +vt 0.236675 0.867685 +vt 0.235886 0.867639 +vt 0.260923 0.956946 +vt 0.259700 0.957030 +vt 0.258446 0.957073 +vt 0.257165 0.957071 +vt 0.199547 0.932855 +vt 0.198625 0.931890 +vt 0.197776 0.930859 +vt 0.196986 0.929786 +vt 0.183342 0.869992 +vt 0.183282 0.868815 +vt 0.183218 0.867651 +vt 0.312508 0.934628 +vt 0.311683 0.935119 +vt 0.310851 0.935634 +vt 0.294136 0.820029 +vt 0.347527 0.409268 +vt 0.347527 0.212515 +vt 0.675449 0.212515 +vt 0.675449 0.409268 +vt 0.009165 0.203046 +vt 0.009165 0.009345 +vt 0.337087 0.009345 +vt 0.337087 0.203046 +vt 0.348104 0.203319 +vt 0.348105 0.009618 +vt 0.676026 0.009618 +vt 0.676026 0.203319 +vt 0.008588 0.409268 +vt 0.008588 0.212515 +vt 0.336509 0.212515 +vt 0.336509 0.409268 +vt 0.927314 0.387813 +vt 0.988224 0.326903 +vt 0.988224 0.631455 +vt 0.927313 0.570545 +vt 0.756954 0.558172 +vt 0.756954 0.400185 +vt 0.914941 0.400185 +vt 0.914941 0.558172 +vt 0.683671 0.631454 +vt 0.744581 0.570544 +vt 0.958563 0.916489 +vt 0.933688 0.916489 +vt 0.933688 0.767237 +vt 0.958563 0.767237 +vt 0.965307 0.767987 +vt 0.990184 0.767987 +vt 0.990184 0.917240 +vt 0.965307 0.917240 +vt 0.773628 0.796598 +vt 0.922440 0.796598 +vt 0.922440 0.819668 +vt 0.773628 0.819668 +vt 0.922440 0.766208 +vt 0.922440 0.791083 +vt 0.773188 0.791083 +vt 0.773188 0.766208 +vt 0.683672 0.326902 +vt 0.744582 0.387813 +vt 0.990655 0.317891 +vt 0.684126 0.317891 +vt 0.684126 0.011362 +vt 0.990655 0.011362 +vt 0.787773 0.977407 +vt 0.926800 0.976853 +vt 0.920927 0.989967 +vt 0.793826 0.990481 +vt 0.777123 0.959310 +vt 0.772528 0.977241 +vt 0.770114 0.973284 +vt 0.918805 0.840025 +vt 0.920346 0.840020 +vt 0.913467 0.852030 +vt 0.912692 0.850699 +vt 0.912618 0.829395 +vt 0.913383 0.828058 +vt 0.900318 0.829438 +vt 0.899543 0.828106 +vt 0.894205 0.840111 +vt 0.892665 0.840116 +vt 0.900392 0.850742 +vt 0.899627 0.852078 +vt 0.755359 0.987233 +vt 0.633867 0.987227 +vt 0.633867 0.983713 +vt 0.755359 0.983716 +vt 0.755358 0.969655 +vt 0.633867 0.969651 +vt 0.633867 0.966136 +vt 0.755358 0.966140 +vt 0.755359 0.973172 +vt 0.633867 0.973166 +vt 0.755359 0.976686 +vt 0.633867 0.976682 +vt 0.755359 0.980201 +vt 0.633867 0.980197 +vt 0.797087 0.971483 +vt 0.796805 0.973157 +vt 0.795192 0.971435 +vt 0.795821 0.974581 +vt 0.795778 0.968415 +vt 0.796815 0.969804 +vt 0.917673 0.972649 +vt 0.917343 0.970969 +vt 0.919244 0.970921 +vt 0.918712 0.974072 +vt 0.917569 0.969299 +vt 0.918558 0.967916 +vt 0.916810 0.970981 +vt 0.917123 0.972947 +vt 0.797358 0.973456 +vt 0.797620 0.971491 +vt 0.918082 0.974868 +vt 0.796474 0.975372 +vt 0.917821 0.967086 +vt 0.916992 0.969013 +vt 0.797386 0.969515 +vt 0.796488 0.967575 +vt 0.839717 0.916303 +vt 0.843144 0.910957 +vt 0.854161 0.920651 +vt 0.853190 0.922119 +vt 0.838111 0.922448 +vt 0.852722 0.923814 +vt 0.838482 0.928788 +vt 0.852801 0.925573 +vt 0.840794 0.934703 +vt 0.853417 0.927220 +vt 0.844819 0.939614 +vt 0.854514 0.928598 +vt 0.850166 0.943040 +vt 0.855982 0.929567 +vt 0.856311 0.944648 +vt 0.857678 0.930037 +vt 0.862651 0.944277 +vt 0.859437 0.929958 +vt 0.868566 0.941965 +vt 0.861083 0.929340 +vt 0.873477 0.937938 +vt 0.862459 0.928244 +vt 0.876903 0.932591 +vt 0.863430 0.926777 +vt 0.878510 0.926447 +vt 0.863900 0.925080 +vt 0.878139 0.920107 +vt 0.863821 0.923322 +vt 0.875828 0.914193 +vt 0.863203 0.921674 +vt 0.871801 0.909281 +vt 0.862107 0.920298 +vt 0.866454 0.905855 +vt 0.860638 0.919327 +vt 0.860310 0.904248 +vt 0.858943 0.918859 +vt 0.853970 0.904618 +vt 0.857185 0.918937 +vt 0.848055 0.906931 +vt 0.855537 0.919554 +vt 0.858311 0.924448 +vt 0.910018 0.840056 +vt 0.908272 0.843105 +vt 0.906505 0.840068 +vt 0.908251 0.837020 +vt 0.904738 0.837032 +vt 0.902992 0.840080 +vt 0.904760 0.843116 +vt 0.794480 0.965878 +vt 0.919766 0.965367 +vt 0.923632 0.970862 +vt 0.790848 0.971415 +vt 0.783904 0.959549 +vt 0.790655 0.958899 +vt 0.798057 0.956822 +vt 0.799754 0.959990 +vt 0.795623 0.876640 +vt 0.797255 0.877639 +vt 0.771323 0.919938 +vt 0.769691 0.918938 +vt 0.789239 0.872725 +vt 0.790800 0.873682 +vt 0.764868 0.915980 +vt 0.763307 0.915023 +vt 0.794063 0.875683 +vt 0.768130 0.917981 +vt 0.792509 0.866989 +vt 0.790877 0.865990 +vt 0.816793 0.823681 +vt 0.818425 0.824680 +vt 0.798896 0.870902 +vt 0.797335 0.869945 +vt 0.823249 0.827636 +vt 0.824811 0.828592 +vt 0.794071 0.867945 +vt 0.819986 0.825637 +vt 0.762361 0.882958 +vt 0.760729 0.881958 +vt 0.786660 0.839660 +vt 0.788292 0.840660 +vt 0.768744 0.886872 +vt 0.767184 0.885915 +vt 0.793116 0.843617 +vt 0.794676 0.844574 +vt 0.763921 0.883915 +vt 0.789853 0.841617 +vt 0.937170 0.958627 +vt 0.867348 0.838555 +vt 0.881667 0.837129 +vt 0.945499 0.946903 +vt 0.944614 0.971958 +vt 0.942376 0.976009 +vt 0.927380 0.953476 +vt 0.928975 0.952892 +vt 0.928284 0.955146 +vt 0.930704 0.953043 +vt 0.925364 0.956128 +vt 0.926057 0.954543 +vt 0.868241 0.848547 +vt 0.866944 0.849665 +vt 0.865956 0.848042 +vt 0.868962 0.846940 +vt 0.865379 0.850298 +vt 0.863684 0.850128 +vt 0.867219 0.850123 +vt 0.868773 0.848875 +vt 0.928959 0.952264 +vt 0.927121 0.953009 +vt 0.869968 0.847090 +vt 0.931064 0.952084 +vt 0.863330 0.851178 +vt 0.865417 0.850941 +vt 0.925521 0.954190 +vt 0.924278 0.955927 +vt 0.923800 0.958497 +vt 0.860864 0.850346 +vt 0.863721 0.844269 +vt 0.930443 0.958935 +vt 0.916090 0.956988 +vt 0.859023 0.857855 +vt 0.914165 0.960044 +vt 0.846368 0.838561 +vt 0.768756 0.947569 +vt 0.832067 0.837186 +vt 0.854334 0.825488 +vt 0.858962 0.825441 +vt 0.846779 0.849633 +vt 0.845478 0.848541 +vt 0.847775 0.848017 +vt 0.844748 0.846967 +vt 0.850078 0.850070 +vt 0.848363 0.850247 +vt 0.785357 0.953466 +vt 0.786981 0.954017 +vt 0.786073 0.955698 +vt 0.783601 0.953659 +vt 0.788320 0.955045 +vt 0.789034 0.956593 +vt 0.787237 0.953546 +vt 0.785370 0.952840 +vt 0.844942 0.848869 +vt 0.846502 0.850089 +vt 0.783221 0.952717 +vt 0.843739 0.847133 +vt 0.790129 0.956362 +vt 0.788859 0.954686 +vt 0.848322 0.850889 +vt 0.850444 0.851115 +vt 0.852901 0.850264 +vt 0.849985 0.844260 +vt 0.855411 0.857712 +vt 0.912671 0.840047 +vt 0.909607 0.845398 +vt 0.909570 0.834717 +vt 0.903403 0.834739 +vt 0.900339 0.840090 +vt 0.903441 0.845419 +vt 0.800528 0.871900 +vt 0.826443 0.829592 +vt 0.787608 0.871725 +vt 0.761675 0.914023 +vt 0.770376 0.887872 +vt 0.796308 0.845574 +vn 0.000000 0.965911 0.258874 +vn 0.000000 0.965911 0.258874 +vn 0.000000 0.965911 0.258874 +vn 0.000000 0.965911 0.258874 +vn 0.000000 0.866027 0.499997 +vn 0.000000 0.499997 0.866027 +vn 0.006507 0.499892 0.866063 +vn 0.006507 0.866063 0.499892 +vn 0.000000 0.499997 0.866027 +vn 0.000000 0.009238 0.999957 +vn 0.008568 0.009164 0.999921 +vn 0.006507 0.499892 0.866063 +vn 0.000000 -0.009238 0.999957 +vn 0.000000 -0.499998 0.866027 +vn 0.006507 -0.499894 0.866062 +vn 0.008568 -0.009164 0.999921 +vn 0.000000 -0.499998 0.866027 +vn 0.000000 -0.866027 0.499997 +vn 0.006507 -0.866064 0.499891 +vn 0.006507 -0.499894 0.866062 +vn 0.000000 -0.866027 0.499997 +vn 0.000000 -0.999957 0.009238 +vn 0.008568 -0.999921 0.009164 +vn 0.006507 -0.866064 0.499891 +vn 0.008568 0.999921 0.009164 +vn 0.499875 0.866070 0.006959 +vn 0.499875 0.866070 -0.006959 +vn 0.008568 0.999921 -0.009164 +vn 0.499875 0.866070 0.006959 +vn 0.866048 0.499913 0.006959 +vn 0.866048 0.499913 -0.006959 +vn 0.499875 0.866070 -0.006959 +vn 0.866048 0.499913 -0.006959 +vn 0.866048 0.499913 0.006959 +vn 0.999916 0.009159 0.009160 +vn 0.999916 0.009159 -0.009160 +vn 0.866042 -0.006958 0.499924 +vn 0.999916 -0.009159 0.009160 +vn 0.999916 0.009159 0.009160 +vn 0.866041 0.006958 0.499924 +vn 0.499880 -0.006958 0.866067 +vn 0.866042 -0.006958 0.499924 +vn 0.866041 0.006958 0.499924 +vn 0.499880 0.006958 0.866067 +vn 0.008568 -0.009164 0.999921 +vn 0.499880 -0.006958 0.866067 +vn 0.499880 0.006958 0.866067 +vn 0.008568 0.009164 0.999921 +vn 0.999916 -0.009159 0.009160 +vn 0.866055 -0.499900 0.006959 +vn 0.866055 -0.499900 -0.006959 +vn 0.999916 -0.009159 -0.009160 +vn 0.866055 -0.499900 0.006959 +vn 0.499882 -0.866066 0.006959 +vn 0.499882 -0.866066 -0.006959 +vn 0.866055 -0.499900 -0.006959 +vn 0.499882 -0.866066 0.006959 +vn 0.008568 -0.999921 0.009164 +vn 0.008568 -0.999921 -0.009164 +vn 0.499882 -0.866066 -0.006959 +vn 0.000000 0.866027 -0.499997 +vn 0.000000 0.999957 -0.009238 +vn 0.008568 0.999921 -0.009164 +vn 0.006508 0.866063 -0.499892 +vn 0.000000 0.499997 -0.866027 +vn 0.000000 0.866027 -0.499997 +vn 0.006508 0.866063 -0.499892 +vn 0.006507 0.499892 -0.866063 +vn 0.000000 0.258809 -0.965929 +vn 0.000000 0.499997 -0.866027 +vn 0.006507 0.499892 -0.866063 +vn 0.128599 0.137540 -0.982113 +vn 0.499880 -0.006958 -0.866067 +vn 0.128599 -0.137540 -0.982113 +vn 0.128599 0.137540 -0.982113 +vn 0.499880 0.006959 -0.866067 +vn 0.866041 -0.006958 -0.499924 +vn 0.499880 -0.006958 -0.866067 +vn 0.499880 0.006959 -0.866067 +vn 0.866042 0.006959 -0.499924 +vn 0.999916 -0.009159 -0.009160 +vn 0.866041 -0.006958 -0.499924 +vn 0.866042 0.006959 -0.499924 +vn 0.999916 0.009159 -0.009160 +vn 0.000000 -0.499997 -0.866027 +vn 0.000000 -0.258809 -0.965929 +vn 0.128599 -0.137540 -0.982113 +vn 0.006507 -0.499892 -0.866063 +vn 0.000000 -0.866027 -0.499997 +vn 0.000000 -0.499997 -0.866027 +vn 0.006507 -0.499892 -0.866063 +vn 0.006507 -0.866065 -0.499890 +vn 0.000000 -0.999957 -0.009238 +vn 0.000000 -0.866027 -0.499997 +vn 0.006507 -0.866065 -0.499890 +vn 0.008568 -0.999921 -0.009164 +vn 0.008568 0.009164 0.999921 +vn 0.000000 0.009238 0.999957 +vn 0.000000 -0.009238 0.999957 +vn 0.008568 -0.009164 0.999921 +vn 0.000000 -0.999957 0.009238 +vn 0.000000 -0.999957 -0.009238 +vn 0.008568 -0.999921 -0.009164 +vn 0.008568 -0.999921 0.009164 +vn 0.000000 0.999957 -0.009238 +vn 0.000000 0.999957 0.009238 +vn 0.008568 0.999921 0.009164 +vn 0.008568 0.999921 -0.009164 +vn 0.866041 0.006958 0.499924 +vn 0.999916 0.009159 0.009160 +vn 0.866048 0.499913 0.006959 +vn 0.809117 0.415527 0.415533 +vn 0.809117 0.415527 0.415533 +vn 0.866048 0.499913 0.006959 +vn 0.499875 0.866070 0.006959 +vn 0.415517 0.809129 0.415518 +vn 0.499875 0.866070 0.006959 +vn 0.008568 0.999921 0.009164 +vn 0.006507 0.866063 0.499892 +vn 0.415517 0.809129 0.415518 +vn 0.415517 0.809129 0.415518 +vn 0.006507 0.866063 0.499892 +vn 0.006507 0.499892 0.866063 +vn 0.415515 0.415522 0.809128 +vn 0.006507 0.499892 0.866063 +vn 0.008568 0.009164 0.999921 +vn 0.499880 0.006958 0.866067 +vn 0.415515 0.415522 0.809128 +vn 0.415515 0.415522 0.809128 +vn 0.499880 0.006958 0.866067 +vn 0.866041 0.006958 0.499924 +vn 0.809117 0.415527 0.415533 +vn 0.809117 0.415527 0.415533 +vn 0.415517 0.809129 0.415518 +vn 0.415515 0.415522 0.809128 +vn 0.006507 -0.866064 0.499891 +vn 0.008568 -0.999921 0.009164 +vn 0.499882 -0.866066 0.006959 +vn 0.415520 -0.809127 0.415519 +vn 0.415520 -0.809127 0.415519 +vn 0.499882 -0.866066 0.006959 +vn 0.866055 -0.499900 0.006959 +vn 0.809125 -0.415512 0.415531 +vn 0.866055 -0.499900 0.006959 +vn 0.999916 -0.009159 0.009160 +vn 0.866042 -0.006958 0.499924 +vn 0.809125 -0.415512 0.415531 +vn 0.809125 -0.415512 0.415531 +vn 0.866042 -0.006958 0.499924 +vn 0.499880 -0.006958 0.866067 +vn 0.415520 -0.415513 0.809130 +vn 0.499880 -0.006958 0.866067 +vn 0.008568 -0.009164 0.999921 +vn 0.006507 -0.499894 0.866062 +vn 0.415520 -0.415513 0.809130 +vn 0.415520 -0.415513 0.809130 +vn 0.006507 -0.499894 0.866062 +vn 0.006507 -0.866064 0.499891 +vn 0.415520 -0.809127 0.415519 +vn 0.415520 -0.809127 0.415519 +vn 0.809125 -0.415512 0.415531 +vn 0.415520 -0.415513 0.809130 +vn 0.499880 0.006959 -0.866067 +vn 0.128599 0.137540 -0.982113 +vn 0.006507 0.499892 -0.866063 +vn 0.415514 0.415526 -0.809127 +vn 0.415514 0.415526 -0.809127 +vn 0.006507 0.499892 -0.866063 +vn 0.006508 0.866063 -0.499892 +vn 0.415521 0.809126 -0.415520 +vn 0.006508 0.866063 -0.499892 +vn 0.008568 0.999921 -0.009164 +vn 0.499875 0.866070 -0.006959 +vn 0.415521 0.809126 -0.415520 +vn 0.415521 0.809126 -0.415520 +vn 0.499875 0.866070 -0.006959 +vn 0.866048 0.499913 -0.006959 +vn 0.809115 0.415536 -0.415528 +vn 0.866048 0.499913 -0.006959 +vn 0.999916 0.009159 -0.009160 +vn 0.866042 0.006959 -0.499924 +vn 0.809115 0.415536 -0.415528 +vn 0.809115 0.415536 -0.415528 +vn 0.866042 0.006959 -0.499924 +vn 0.499880 0.006959 -0.866067 +vn 0.415514 0.415526 -0.809127 +vn 0.415514 0.415526 -0.809127 +vn 0.415521 0.809126 -0.415520 +vn 0.809115 0.415536 -0.415528 +vn 0.499882 -0.866066 -0.006959 +vn 0.008568 -0.999921 -0.009164 +vn 0.006507 -0.866065 -0.499890 +vn 0.415516 -0.809129 -0.415520 +vn 0.415516 -0.809129 -0.415520 +vn 0.006507 -0.866065 -0.499890 +vn 0.006507 -0.499892 -0.866063 +vn 0.415511 -0.415525 -0.809129 +vn 0.006507 -0.499892 -0.866063 +vn 0.128599 -0.137540 -0.982113 +vn 0.499880 -0.006958 -0.866067 +vn 0.415511 -0.415525 -0.809129 +vn 0.415511 -0.415525 -0.809129 +vn 0.499880 -0.006958 -0.866067 +vn 0.866041 -0.006958 -0.499924 +vn 0.809120 -0.415513 -0.415540 +vn 0.866041 -0.006958 -0.499924 +vn 0.999916 -0.009159 -0.009160 +vn 0.866055 -0.499900 -0.006959 +vn 0.809120 -0.415513 -0.415540 +vn 0.809120 -0.415513 -0.415540 +vn 0.866055 -0.499900 -0.006959 +vn 0.499882 -0.866066 -0.006959 +vn 0.415516 -0.809129 -0.415520 +vn 0.415516 -0.809129 -0.415520 +vn 0.415511 -0.415525 -0.809129 +vn 0.809120 -0.415513 -0.415540 +vn 0.999916 -0.009159 0.009160 +vn 0.999916 -0.009159 -0.009160 +vn 0.999916 0.009159 -0.009160 +vn 0.999916 0.009159 0.009160 +vn -0.866046 -0.003298 0.499954 +vn -0.966003 -0.003180 0.258513 +vn -0.843379 -0.482303 0.236846 +vn -0.809126 -0.415518 0.415523 +vn -0.809126 -0.415518 0.415523 +vn -0.843379 -0.482303 0.236846 +vn -0.482306 -0.843384 0.236821 +vn -0.415509 -0.809135 0.415516 +vn -0.482306 -0.843384 0.236821 +vn -0.003179 -0.966031 0.258408 +vn -0.003297 -0.866056 0.499936 +vn -0.415509 -0.809135 0.415516 +vn -0.415509 -0.809135 0.415516 +vn -0.003297 -0.866056 0.499936 +vn -0.003298 -0.499940 0.866054 +vn -0.415516 -0.415522 0.809128 +vn -0.003298 -0.499940 0.866054 +vn -0.004374 -0.004374 0.999981 +vn -0.499942 -0.003298 0.866053 +vn -0.415516 -0.415522 0.809128 +vn -0.415516 -0.415522 0.809128 +vn -0.499942 -0.003298 0.866053 +vn -0.866046 -0.003298 0.499954 +vn -0.809126 -0.415518 0.415523 +vn -0.809126 -0.415518 0.415523 +vn -0.415509 -0.809135 0.415516 +vn -0.415516 -0.415522 0.809128 +vn 0.003297 -0.866056 0.499936 +vn 0.003179 -0.966031 0.258408 +vn 0.482306 -0.843383 0.236823 +vn 0.415506 -0.809135 0.415518 +vn 0.415506 -0.809135 0.415518 +vn 0.482306 -0.843383 0.236823 +vn 0.843387 -0.482295 0.236833 +vn 0.809133 -0.415515 0.415514 +vn 0.843387 -0.482295 0.236833 +vn 0.000001 -0.012300 0.999924 +vn 0.866059 -0.003298 0.499931 +vn 0.809133 -0.415515 0.415514 +vn 0.809133 -0.415515 0.415514 +vn 0.866059 -0.003298 0.499931 +vn 0.499942 -0.003298 0.866053 +vn 0.415511 -0.415521 0.809131 +vn 0.499942 -0.003298 0.866053 +vn 0.004374 -0.004374 0.999981 +vn 0.003297 -0.499940 0.866054 +vn 0.415511 -0.415521 0.809131 +vn 0.415511 -0.415521 0.809131 +vn 0.003297 -0.499940 0.866054 +vn 0.003297 -0.866056 0.499936 +vn 0.415506 -0.809135 0.415518 +vn 0.415506 -0.809135 0.415518 +vn 0.809133 -0.415515 0.415514 +vn 0.415511 -0.415521 0.809131 +vn -0.003298 0.866031 0.499980 +vn -0.012302 -0.000001 0.999924 +vn -0.482322 0.843364 0.236862 +vn -0.415514 0.809122 0.415536 +vn -0.415514 0.809122 0.415536 +vn -0.482322 0.843364 0.236862 +vn -0.843374 0.482301 0.236866 +vn -0.809121 0.415518 0.415533 +vn -0.843374 0.482301 0.236866 +vn -0.966003 0.003179 0.258513 +vn -0.866046 0.003298 0.499954 +vn -0.809121 0.415518 0.415533 +vn -0.809121 0.415518 0.415533 +vn -0.866046 0.003298 0.499954 +vn -0.499942 0.003298 0.866053 +vn -0.415510 0.415522 0.809131 +vn -0.499942 0.003298 0.866053 +vn -0.004374 0.004374 0.999981 +vn -0.003297 0.499940 0.866054 +vn -0.415510 0.415522 0.809131 +vn -0.415510 0.415522 0.809131 +vn -0.003297 0.499940 0.866054 +vn -0.003298 0.866031 0.499980 +vn -0.415514 0.809122 0.415536 +vn -0.415514 0.809122 0.415536 +vn -0.809121 0.415518 0.415533 +vn -0.415510 0.415522 0.809131 +vn 0.866059 0.003298 0.499931 +vn 0.000000 0.718456 0.695573 +vn 0.866048 0.499951 0.003192 +vn 0.809137 0.415515 0.415505 +vn 0.809137 0.415515 0.415505 +vn 0.866048 0.499951 0.003192 +vn 0.499981 0.866031 0.003193 +vn 0.415534 0.809117 0.415525 +vn 0.499981 0.866031 0.003193 +vn 0.718459 -0.000001 0.695570 +vn 0.003298 0.866028 0.499984 +vn 0.415534 0.809117 0.415525 +vn 0.415534 0.809117 0.415525 +vn 0.003298 0.866028 0.499984 +vn 0.003297 0.499940 0.866054 +vn 0.415517 0.415519 0.809129 +vn 0.003297 0.499940 0.866054 +vn 0.004374 0.004374 0.999981 +vn 0.499942 0.003298 0.866053 +vn 0.415517 0.415519 0.809129 +vn 0.415517 0.415519 0.809129 +vn 0.499942 0.003298 0.866053 +vn 0.866059 0.003298 0.499931 +vn 0.809137 0.415515 0.415505 +vn 0.809137 0.415515 0.415505 +vn 0.415534 0.809117 0.415525 +vn 0.415517 0.415519 0.809129 +vn -0.012302 -0.000001 0.999924 +vn -0.003298 0.866031 0.499980 +vn 0.003298 0.866028 0.499984 +vn 0.718459 -0.000001 0.695570 +vn -0.003298 0.866031 0.499980 +vn -0.003297 0.499940 0.866054 +vn 0.003297 0.499940 0.866054 +vn 0.003298 0.866028 0.499984 +vn -0.003297 0.499940 0.866054 +vn -0.004374 0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn 0.003297 0.499940 0.866054 +vn -0.004374 -0.004374 0.999981 +vn -0.003298 -0.499940 0.866054 +vn 0.003297 -0.499940 0.866054 +vn 0.004374 -0.004374 0.999981 +vn -0.003298 -0.499940 0.866054 +vn -0.003297 -0.866056 0.499936 +vn 0.003297 -0.866056 0.499936 +vn 0.003297 -0.499940 0.866054 +vn -0.003297 -0.866056 0.499936 +vn -0.003179 -0.966031 0.258408 +vn 0.003179 -0.966031 0.258408 +vn 0.003297 -0.866056 0.499936 +vn -0.966003 0.003179 0.258513 +vn -0.966003 -0.003180 0.258513 +vn -0.866046 -0.003298 0.499954 +vn -0.866046 0.003298 0.499954 +vn -0.866046 -0.003298 0.499954 +vn -0.499942 -0.003298 0.866053 +vn -0.499942 0.003298 0.866053 +vn -0.866046 0.003298 0.499954 +vn -0.499942 -0.003298 0.866053 +vn -0.004374 -0.004374 0.999981 +vn -0.004374 0.004374 0.999981 +vn -0.499942 0.003298 0.866053 +vn -0.004374 0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn 0.004374 -0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn 0.004374 -0.004374 0.999981 +vn 0.499942 -0.003298 0.866053 +vn 0.499942 0.003298 0.866053 +vn 0.004374 0.004374 0.999981 +vn 0.499942 -0.003298 0.866053 +vn 0.866059 -0.003298 0.499931 +vn 0.866059 0.003298 0.499931 +vn 0.499942 0.003298 0.866053 +vn 0.866059 -0.003298 0.499931 +vn 0.000001 -0.012300 0.999924 +vn 0.000000 0.718456 0.695573 +vn 0.866059 0.003298 0.499931 +vn 0.000000 1.000000 0.000000 +vn 0.866025 0.500001 0.000000 +vn 0.866048 0.499951 0.003192 +vn 0.000000 0.718456 0.695573 +vn 0.866025 0.500001 0.000000 +vn 0.500030 0.866008 0.000000 +vn 0.499981 0.866031 0.003193 +vn 0.866048 0.499951 0.003192 +vn 0.500030 0.866008 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.718459 -0.000001 0.695570 +vn 0.499981 0.866031 0.003193 +vn -0.866052 -0.003298 0.499943 +vn -0.966010 -0.003180 0.258486 +vn -0.843371 -0.482311 0.236859 +vn -0.809116 -0.415533 0.415528 +vn -0.809116 -0.415533 0.415528 +vn -0.843371 -0.482311 0.236859 +vn -0.482301 -0.843383 0.236834 +vn -0.415501 -0.809136 0.415521 +vn -0.482301 -0.843383 0.236834 +vn -0.012302 -0.000001 0.999924 +vn -0.003297 -0.866058 0.499933 +vn -0.415501 -0.809136 0.415521 +vn -0.415501 -0.809136 0.415521 +vn -0.003297 -0.866058 0.499933 +vn -0.003297 -0.499938 0.866055 +vn -0.415511 -0.415535 0.809124 +vn -0.003297 -0.499938 0.866055 +vn -0.004374 -0.004374 0.999981 +vn -0.499942 -0.003298 0.866053 +vn -0.415511 -0.415535 0.809124 +vn -0.415511 -0.415535 0.809124 +vn -0.499942 -0.003298 0.866053 +vn -0.866052 -0.003298 0.499943 +vn -0.809116 -0.415533 0.415528 +vn -0.809116 -0.415533 0.415528 +vn -0.415501 -0.809136 0.415521 +vn -0.415511 -0.415535 0.809124 +vn 0.003297 -0.866056 0.499937 +vn 0.718459 -0.000001 0.695570 +vn 0.499935 -0.866057 0.003192 +vn 0.415513 -0.809132 0.415516 +vn 0.415513 -0.809132 0.415516 +vn 0.499935 -0.866057 0.003192 +vn 0.866048 -0.499951 0.003192 +vn 0.809135 -0.415517 0.415507 +vn 0.866048 -0.499951 0.003192 +vn 0.999981 -0.004375 0.004235 +vn 0.866052 -0.003298 0.499943 +vn 0.809135 -0.415517 0.415507 +vn 0.809135 -0.415517 0.415507 +vn 0.866052 -0.003298 0.499943 +vn 0.499942 -0.003298 0.866053 +vn 0.415513 -0.415522 0.809130 +vn 0.499942 -0.003298 0.866053 +vn 0.004374 -0.004374 0.999981 +vn 0.003297 -0.499942 0.866053 +vn 0.415513 -0.415522 0.809130 +vn 0.415513 -0.415522 0.809130 +vn 0.003297 -0.499942 0.866053 +vn 0.003297 -0.866056 0.499937 +vn 0.415513 -0.809132 0.415516 +vn 0.415513 -0.809132 0.415516 +vn 0.809135 -0.415517 0.415507 +vn 0.415513 -0.415522 0.809130 +vn -0.003298 0.866030 0.499982 +vn -0.004375 0.999981 0.004236 +vn -0.499981 0.866031 0.003193 +vn -0.415522 0.809121 0.415530 +vn -0.415522 0.809121 0.415530 +vn -0.499981 0.866031 0.003193 +vn -0.866054 0.499940 0.003193 +vn -0.809127 0.415527 0.415513 +vn -0.866054 0.499940 0.003193 +vn -0.982333 0.134450 0.130175 +vn -0.866052 0.003298 0.499943 +vn -0.809127 0.415527 0.415513 +vn -0.809127 0.415527 0.415513 +vn -0.866052 0.003298 0.499943 +vn -0.499942 0.003298 0.866053 +vn -0.415511 0.415528 0.809128 +vn -0.499942 0.003298 0.866053 +vn -0.004374 0.004374 0.999981 +vn -0.003297 0.499941 0.866053 +vn -0.415511 0.415528 0.809128 +vn -0.415511 0.415528 0.809128 +vn -0.003297 0.499941 0.866053 +vn -0.003298 0.866030 0.499982 +vn -0.415522 0.809121 0.415530 +vn -0.415522 0.809121 0.415530 +vn -0.809127 0.415527 0.415513 +vn -0.415511 0.415528 0.809128 +vn 0.866052 0.003298 0.499943 +vn 0.999981 0.004375 0.004235 +vn 0.866048 0.499951 0.003193 +vn 0.809126 0.415528 0.415513 +vn 0.809126 0.415528 0.415513 +vn 0.866048 0.499951 0.003193 +vn 0.499981 0.866031 0.003193 +vn 0.415526 0.809117 0.415533 +vn 0.499981 0.866031 0.003193 +vn 0.004375 0.999981 0.004236 +vn 0.003298 0.866030 0.499982 +vn 0.415526 0.809117 0.415533 +vn 0.415526 0.809117 0.415533 +vn 0.003298 0.866030 0.499982 +vn 0.003298 0.499941 0.866053 +vn 0.415515 0.415531 0.809124 +vn 0.003298 0.499941 0.866053 +vn 0.004374 0.004374 0.999981 +vn 0.499942 0.003298 0.866053 +vn 0.415515 0.415531 0.809124 +vn 0.415515 0.415531 0.809124 +vn 0.499942 0.003298 0.866053 +vn 0.866052 0.003298 0.499943 +vn 0.809126 0.415528 0.415513 +vn 0.809126 0.415528 0.415513 +vn 0.415526 0.809117 0.415533 +vn 0.415515 0.415531 0.809124 +vn 0.000000 1.000000 0.000000 +vn -0.004392 0.999990 0.000000 +vn -0.004375 0.999981 0.004236 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.965931 0.258799 +vn 0.000000 0.965931 0.258799 +vn -0.004375 0.999981 0.004236 +vn -0.003298 0.866030 0.499982 +vn 0.000000 0.706961 0.707252 +vn 0.000000 0.706961 0.707252 +vn -0.003298 0.866030 0.499982 +vn -0.003297 0.499941 0.866053 +vn 0.000000 0.258855 0.965916 +vn 0.000000 0.258855 0.965916 +vn -0.003297 0.499941 0.866053 +vn -0.004374 0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn -0.003297 -0.499938 0.866055 +vn 0.003297 -0.499942 0.866053 +vn 0.004374 -0.004374 0.999981 +vn -0.003297 -0.499938 0.866055 +vn -0.003297 -0.866058 0.499933 +vn 0.003297 -0.866056 0.499937 +vn 0.003297 -0.499942 0.866053 +vn -0.003297 -0.866058 0.499933 +vn -0.012302 -0.000001 0.999924 +vn 0.718459 -0.000001 0.695570 +vn 0.003297 -0.866056 0.499937 +vn -0.965931 0.000000 0.258798 +vn -0.966010 -0.003180 0.258486 +vn -0.866052 -0.003298 0.499943 +vn -0.965931 0.000000 0.258798 +vn -0.866052 -0.003298 0.499943 +vn -0.499942 -0.003298 0.866053 +vn -0.707105 0.000000 0.707109 +vn -0.707105 0.000000 0.707109 +vn -0.499942 -0.003298 0.866053 +vn -0.004374 -0.004374 0.999981 +vn -0.258798 0.000000 0.965931 +vn -0.258798 0.000000 0.965931 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn -0.004374 -0.004374 0.999981 +vn 0.004374 -0.004374 0.999981 +vn 0.004374 -0.004374 0.999981 +vn 0.499942 -0.003298 0.866053 +vn 0.499942 0.003298 0.866053 +vn 0.004374 0.004374 0.999981 +vn 0.499942 -0.003298 0.866053 +vn 0.866052 -0.003298 0.499943 +vn 0.866052 0.003298 0.499943 +vn 0.499942 0.003298 0.866053 +vn 0.866052 -0.003298 0.499943 +vn 0.999981 -0.004375 0.004235 +vn 0.999981 0.004375 0.004235 +vn 0.866052 0.003298 0.499943 +vn 1.000000 0.000000 0.000000 +vn 0.499984 -0.866035 0.000000 +vn 0.499935 -0.866057 0.003192 +vn 0.718459 -0.000001 0.695570 +vn 0.499984 -0.866035 0.000000 +vn 0.866025 -0.500001 0.000000 +vn 0.866048 -0.499951 0.003192 +vn 0.499935 -0.866057 0.003192 +vn 0.866025 -0.500001 0.000000 +vn 0.999990 -0.004392 0.000000 +vn 0.999981 -0.004375 0.004235 +vn 0.866048 -0.499951 0.003192 +vn 0.999981 -0.004375 0.004235 +vn 0.999990 -0.004392 0.000000 +vn 0.999990 0.004392 0.000000 +vn 0.999981 0.004375 0.004235 +vn 0.999990 0.004392 0.000000 +vn 0.866025 0.500001 0.000000 +vn 0.866048 0.499951 0.003193 +vn 0.999981 0.004375 0.004235 +vn 0.866025 0.500001 0.000000 +vn 0.500030 0.866008 0.000000 +vn 0.499981 0.866031 0.003193 +vn 0.866048 0.499951 0.003193 +vn 0.500030 0.866008 0.000000 +vn 0.004392 0.999990 0.000000 +vn 0.004375 0.999981 0.004236 +vn 0.499981 0.866031 0.003193 +vn -0.004392 0.999990 0.000000 +vn -0.500030 0.866008 0.000000 +vn -0.499981 0.866031 0.003193 +vn -0.004375 0.999981 0.004236 +vn -0.500030 0.866008 0.000000 +vn -0.866032 0.499989 0.000000 +vn -0.866054 0.499940 0.003193 +vn -0.499981 0.866031 0.003193 +vn -0.866032 0.499989 0.000000 +vn -0.965932 0.258797 0.000000 +vn -0.982333 0.134450 0.130175 +vn -0.866054 0.499940 0.003193 +vn -0.866046 -0.003298 0.499954 +vn 0.000001 -0.012300 0.999924 +vn -0.843379 -0.482303 0.236846 +vn -0.809125 -0.415521 0.415522 +vn -0.809125 -0.415521 0.415522 +vn -0.843379 -0.482303 0.236846 +vn -0.482306 -0.843384 0.236821 +vn -0.415510 -0.809134 0.415515 +vn -0.482306 -0.843384 0.236821 +vn -0.003179 -0.966031 0.258408 +vn -0.003297 -0.866056 0.499936 +vn -0.415510 -0.809134 0.415515 +vn -0.415510 -0.809134 0.415515 +vn -0.003297 -0.866056 0.499936 +vn -0.003297 -0.499940 0.866054 +vn -0.415517 -0.415519 0.809129 +vn -0.003297 -0.499940 0.866054 +vn -0.004374 -0.004374 0.999981 +vn -0.499942 -0.003298 0.866053 +vn -0.415517 -0.415519 0.809129 +vn -0.415517 -0.415519 0.809129 +vn -0.499942 -0.003298 0.866053 +vn -0.866046 -0.003298 0.499954 +vn -0.809125 -0.415521 0.415522 +vn -0.809125 -0.415521 0.415522 +vn -0.415510 -0.809134 0.415515 +vn -0.415517 -0.415519 0.809129 +vn 0.003297 -0.866056 0.499936 +vn 0.134416 -0.982343 0.130132 +vn 0.499935 -0.866057 0.003192 +vn 0.415508 -0.809135 0.415517 +vn 0.415508 -0.809135 0.415517 +vn 0.499935 -0.866057 0.003192 +vn 0.866054 -0.499940 0.003193 +vn 0.809130 -0.415514 0.415519 +vn 0.866054 -0.499940 0.003193 +vn 0.999981 -0.004374 0.004235 +vn 0.866052 -0.003298 0.499943 +vn 0.809130 -0.415514 0.415519 +vn 0.809130 -0.415514 0.415519 +vn 0.866052 -0.003298 0.499943 +vn 0.499942 -0.003298 0.866053 +vn 0.415512 -0.415520 0.809131 +vn 0.499942 -0.003298 0.866053 +vn 0.004374 -0.004374 0.999981 +vn 0.003297 -0.499940 0.866054 +vn 0.415512 -0.415520 0.809131 +vn 0.415512 -0.415520 0.809131 +vn 0.003297 -0.499940 0.866054 +vn 0.003297 -0.866056 0.499936 +vn 0.415508 -0.809135 0.415517 +vn 0.415508 -0.809135 0.415517 +vn 0.809130 -0.415514 0.415519 +vn 0.415512 -0.415520 0.809131 +vn -0.003298 0.866031 0.499980 +vn -0.004375 0.999981 0.004235 +vn -0.499981 0.866031 0.003193 +vn -0.415514 0.809122 0.415536 +vn -0.415514 0.809122 0.415536 +vn -0.499981 0.866031 0.003193 +vn -0.866054 0.499940 0.003193 +vn -0.809120 0.415521 0.415533 +vn -0.866054 0.499940 0.003193 +vn 0.000000 0.718456 0.695573 +vn -0.866046 0.003298 0.499954 +vn -0.809120 0.415521 0.415533 +vn -0.809120 0.415521 0.415533 +vn -0.866046 0.003298 0.499954 +vn -0.499942 0.003298 0.866053 +vn -0.415511 0.415521 0.809131 +vn -0.499942 0.003298 0.866053 +vn -0.004374 0.004374 0.999981 +vn -0.003297 0.499940 0.866054 +vn -0.415511 0.415521 0.809131 +vn -0.415511 0.415521 0.809131 +vn -0.003297 0.499940 0.866054 +vn -0.003298 0.866031 0.499980 +vn -0.415514 0.809122 0.415536 +vn -0.415514 0.809122 0.415536 +vn -0.809120 0.415521 0.415533 +vn -0.415511 0.415521 0.809131 +vn 0.866052 0.003298 0.499943 +vn 0.999981 0.004374 0.004235 +vn 0.866054 0.499940 0.003193 +vn 0.809131 0.415512 0.415520 +vn 0.809131 0.415512 0.415520 +vn 0.866054 0.499940 0.003193 +vn 0.499974 0.866035 0.003193 +vn 0.415527 0.809118 0.415531 +vn 0.499974 0.866035 0.003193 +vn 0.004375 0.999981 0.004236 +vn 0.003298 0.866028 0.499984 +vn 0.415527 0.809118 0.415531 +vn 0.415527 0.809118 0.415531 +vn 0.003298 0.866028 0.499984 +vn 0.003297 0.499940 0.866054 +vn 0.415517 0.415519 0.809129 +vn 0.003297 0.499940 0.866054 +vn 0.004374 0.004374 0.999981 +vn 0.499942 0.003298 0.866053 +vn 0.415517 0.415519 0.809129 +vn 0.415517 0.415519 0.809129 +vn 0.499942 0.003298 0.866053 +vn 0.866052 0.003298 0.499943 +vn 0.809131 0.415512 0.415520 +vn 0.809131 0.415512 0.415520 +vn 0.415527 0.809118 0.415531 +vn 0.415517 0.415519 0.809129 +vn 0.004392 0.999990 0.000000 +vn -0.004392 0.999990 0.000000 +vn -0.004375 0.999981 0.004235 +vn 0.004375 0.999981 0.004236 +vn 0.003298 0.866028 0.499984 +vn 0.004375 0.999981 0.004236 +vn -0.004375 0.999981 0.004235 +vn -0.003298 0.866031 0.499980 +vn 0.003297 0.499940 0.866054 +vn 0.003298 0.866028 0.499984 +vn -0.003298 0.866031 0.499980 +vn -0.003297 0.499940 0.866054 +vn 0.004374 0.004374 0.999981 +vn 0.003297 0.499940 0.866054 +vn -0.003297 0.499940 0.866054 +vn -0.004374 0.004374 0.999981 +vn 0.003297 -0.499940 0.866054 +vn 0.004374 -0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn -0.003297 -0.499940 0.866054 +vn 0.003297 -0.866056 0.499936 +vn 0.003297 -0.499940 0.866054 +vn -0.003297 -0.499940 0.866054 +vn -0.003297 -0.866056 0.499936 +vn -0.003179 -0.966031 0.258408 +vn 0.134416 -0.982343 0.130132 +vn 0.003297 -0.866056 0.499936 +vn -0.003297 -0.866056 0.499936 +vn 0.000001 -0.012300 0.999924 +vn -0.866046 -0.003298 0.499954 +vn -0.866046 0.003298 0.499954 +vn 0.000000 0.718456 0.695573 +vn -0.866046 -0.003298 0.499954 +vn -0.499942 -0.003298 0.866053 +vn -0.499942 0.003298 0.866053 +vn -0.866046 0.003298 0.499954 +vn -0.499942 -0.003298 0.866053 +vn -0.004374 -0.004374 0.999981 +vn -0.004374 0.004374 0.999981 +vn -0.499942 0.003298 0.866053 +vn 0.004374 -0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn -0.004374 0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn 0.004374 -0.004374 0.999981 +vn 0.499942 -0.003298 0.866053 +vn 0.499942 0.003298 0.866053 +vn 0.004374 0.004374 0.999981 +vn 0.499942 -0.003298 0.866053 +vn 0.866052 -0.003298 0.499943 +vn 0.866052 0.003298 0.499943 +vn 0.499942 0.003298 0.866053 +vn 0.866052 -0.003298 0.499943 +vn 0.999981 -0.004374 0.004235 +vn 0.999981 0.004374 0.004235 +vn 0.866052 0.003298 0.499943 +vn 0.134416 -0.982343 0.130132 +vn 0.258728 -0.965950 0.000000 +vn 0.499984 -0.866035 0.000000 +vn 0.499935 -0.866057 0.003192 +vn 0.499984 -0.866035 0.000000 +vn 0.866032 -0.499989 0.000000 +vn 0.866054 -0.499940 0.003193 +vn 0.499935 -0.866057 0.003192 +vn 0.866032 -0.499989 0.000000 +vn 0.999990 -0.004392 0.000000 +vn 0.999981 -0.004374 0.004235 +vn 0.866054 -0.499940 0.003193 +vn 0.999990 -0.004392 0.000000 +vn 0.999990 0.004392 0.000000 +vn 0.999981 0.004374 0.004235 +vn 0.999981 -0.004374 0.004235 +vn 0.999990 0.004392 0.000000 +vn 0.866032 0.499989 0.000000 +vn 0.866054 0.499940 0.003193 +vn 0.999981 0.004374 0.004235 +vn 0.866032 0.499989 0.000000 +vn 0.500023 0.866012 0.000000 +vn 0.499974 0.866035 0.003193 +vn 0.866054 0.499940 0.003193 +vn 0.500023 0.866012 0.000000 +vn 0.004392 0.999990 0.000000 +vn 0.004375 0.999981 0.004236 +vn 0.499974 0.866035 0.003193 +vn -0.004392 0.999990 0.000000 +vn -0.500030 0.866008 0.000000 +vn -0.499981 0.866031 0.003193 +vn -0.004375 0.999981 0.004235 +vn -0.500030 0.866008 0.000000 +vn -0.866032 0.499989 0.000000 +vn -0.866054 0.499940 0.003193 +vn -0.499981 0.866031 0.003193 +vn -0.866032 0.499989 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.718456 0.695573 +vn -0.866054 0.499940 0.003193 +vn 0.982124 0.137502 0.128552 +vn 0.965947 0.258740 0.000000 +vn 0.866036 0.499981 0.000000 +vn 0.866073 0.499876 0.006507 +vn 0.866036 0.499981 0.000000 +vn 0.499993 0.866029 0.000000 +vn 0.499888 0.866066 0.006507 +vn 0.866073 0.499876 0.006507 +vn 0.499993 0.866029 0.000000 +vn 0.009238 0.999957 0.000000 +vn 0.009164 0.999921 0.008568 +vn 0.499888 0.866066 0.006507 +vn -0.009238 0.999957 0.000000 +vn -0.499986 0.866034 0.000000 +vn -0.499881 0.866070 0.006507 +vn -0.009164 0.999921 0.008568 +vn -0.499986 0.866034 0.000000 +vn -0.866008 0.500030 0.000000 +vn -0.866045 0.499924 0.006507 +vn -0.499881 0.866070 0.006507 +vn -0.866045 0.499924 0.006507 +vn -0.866008 0.500030 0.000000 +vn -0.999957 0.009239 0.000000 +vn -0.999921 0.009165 0.008569 +vn -0.999957 -0.009239 0.000000 +vn -0.866008 -0.500030 0.000000 +vn -0.866045 -0.499924 0.006507 +vn -0.999921 -0.009165 0.008569 +vn -0.866008 -0.500030 0.000000 +vn -0.499986 -0.866034 0.000000 +vn -0.499881 -0.866070 0.006507 +vn -0.866045 -0.499924 0.006507 +vn -0.499986 -0.866034 0.000000 +vn -0.258812 -0.965928 0.000000 +vn -0.137539 -0.982113 0.128593 +vn -0.499881 -0.866070 0.006507 +vn 0.006959 0.866064 0.499884 +vn 0.009164 0.999921 0.008568 +vn -0.009164 0.999921 0.008568 +vn -0.006959 0.866064 0.499884 +vn 0.006959 0.499884 0.866064 +vn 0.006959 0.866064 0.499884 +vn -0.006959 0.866064 0.499884 +vn -0.006959 0.499885 0.866064 +vn 0.009159 0.009159 0.999916 +vn 0.006959 0.499884 0.866064 +vn -0.006959 0.499885 0.866064 +vn -0.009159 0.009159 0.999916 +vn -0.499880 -0.006959 0.866067 +vn -0.009159 -0.009159 0.999916 +vn -0.009159 0.009159 0.999916 +vn -0.499880 0.006959 0.866067 +vn -0.866042 -0.006959 0.499924 +vn -0.499880 -0.006959 0.866067 +vn -0.499880 0.006959 0.866067 +vn -0.866042 0.006959 0.499924 +vn -0.999921 -0.009165 0.008569 +vn -0.866042 -0.006959 0.499924 +vn -0.866042 0.006959 0.499924 +vn -0.999921 0.009165 0.008569 +vn 0.006958 -0.499884 0.866064 +vn 0.009159 -0.009159 0.999916 +vn -0.009159 -0.009159 0.999916 +vn -0.006958 -0.499884 0.866064 +vn 0.006959 -0.866065 0.499884 +vn 0.006958 -0.499884 0.866064 +vn -0.006958 -0.499884 0.866064 +vn -0.006959 -0.866064 0.499884 +vn 0.006710 -0.966086 0.258133 +vn 0.006959 -0.866065 0.499884 +vn -0.006959 -0.866064 0.499884 +vn -0.137539 -0.982113 0.128593 +vn 0.866068 -0.006958 0.499878 +vn 0.966106 -0.006709 0.258058 +vn 0.982124 0.137502 0.128552 +vn 0.866068 0.006958 0.499878 +vn 0.499880 -0.006959 0.866067 +vn 0.866068 -0.006958 0.499878 +vn 0.866068 0.006958 0.499878 +vn 0.499880 0.006959 0.866067 +vn 0.009159 -0.009159 0.999916 +vn 0.499880 -0.006959 0.866067 +vn 0.499880 0.006959 0.866067 +vn 0.009159 0.009159 0.999916 +vn 0.009159 -0.009159 0.999916 +vn 0.009159 0.009159 0.999916 +vn -0.009159 0.009159 0.999916 +vn -0.009159 -0.009159 0.999916 +vn 0.009164 0.999921 0.008568 +vn 0.009238 0.999957 0.000000 +vn -0.009238 0.999957 0.000000 +vn -0.009164 0.999921 0.008568 +vn -0.499880 0.006959 0.866067 +vn -0.009159 0.009159 0.999916 +vn -0.006959 0.499885 0.866064 +vn -0.415510 0.415533 0.809125 +vn -0.415510 0.415533 0.809125 +vn -0.006959 0.499885 0.866064 +vn -0.006959 0.866064 0.499884 +vn -0.415521 0.809126 0.415520 +vn -0.006959 0.866064 0.499884 +vn -0.009164 0.999921 0.008568 +vn -0.499881 0.866070 0.006507 +vn -0.415521 0.809126 0.415520 +vn -0.415521 0.809126 0.415520 +vn -0.499881 0.866070 0.006507 +vn -0.866045 0.499924 0.006507 +vn -0.809114 0.415538 0.415528 +vn -0.866045 0.499924 0.006507 +vn -0.999921 0.009165 0.008569 +vn -0.866042 0.006959 0.499924 +vn -0.809114 0.415538 0.415528 +vn -0.809114 0.415538 0.415528 +vn -0.866042 0.006959 0.499924 +vn -0.499880 0.006959 0.866067 +vn -0.415510 0.415533 0.809125 +vn -0.415510 0.415533 0.809125 +vn -0.415521 0.809126 0.415520 +vn -0.809114 0.415538 0.415528 +vn -0.499881 -0.866070 0.006507 +vn -0.137539 -0.982113 0.128593 +vn -0.006959 -0.866064 0.499884 +vn -0.415521 -0.809127 0.415519 +vn -0.415521 -0.809127 0.415519 +vn -0.006959 -0.866064 0.499884 +vn -0.006958 -0.499884 0.866064 +vn -0.415509 -0.415533 0.809126 +vn -0.006958 -0.499884 0.866064 +vn -0.009159 -0.009159 0.999916 +vn -0.499880 -0.006959 0.866067 +vn -0.415509 -0.415533 0.809126 +vn -0.415509 -0.415533 0.809126 +vn -0.499880 -0.006959 0.866067 +vn -0.866042 -0.006959 0.499924 +vn -0.809114 -0.415538 0.415527 +vn -0.866042 -0.006959 0.499924 +vn -0.999921 -0.009165 0.008569 +vn -0.866045 -0.499924 0.006507 +vn -0.809114 -0.415538 0.415527 +vn -0.809114 -0.415538 0.415527 +vn -0.866045 -0.499924 0.006507 +vn -0.499881 -0.866070 0.006507 +vn -0.415521 -0.809127 0.415519 +vn -0.415521 -0.809127 0.415519 +vn -0.415509 -0.415533 0.809126 +vn -0.809114 -0.415538 0.415527 +vn 0.866068 0.006958 0.499878 +vn 0.982124 0.137502 0.128552 +vn 0.866073 0.499876 0.006507 +vn 0.809135 0.415510 0.415515 +vn 0.809135 0.415510 0.415515 +vn 0.866073 0.499876 0.006507 +vn 0.499888 0.866066 0.006507 +vn 0.415524 0.809122 0.415525 +vn 0.499888 0.866066 0.006507 +vn 0.009164 0.999921 0.008568 +vn 0.006959 0.866064 0.499884 +vn 0.415524 0.809122 0.415525 +vn 0.415524 0.809122 0.415525 +vn 0.006959 0.866064 0.499884 +vn 0.006959 0.499884 0.866064 +vn 0.415511 0.415516 0.809133 +vn 0.006959 0.499884 0.866064 +vn 0.009159 0.009159 0.999916 +vn 0.499880 0.006959 0.866067 +vn 0.415511 0.415516 0.809133 +vn 0.415511 0.415516 0.809133 +vn 0.499880 0.006959 0.866067 +vn 0.866068 0.006958 0.499878 +vn 0.809135 0.415510 0.415515 +vn 0.809135 0.415510 0.415515 +vn 0.415524 0.809122 0.415525 +vn 0.415511 0.415516 0.809133 +vn 0.006959 -0.866065 0.499884 +vn 0.006710 -0.966086 0.258133 +vn 0.482307 -0.843378 0.236841 +vn 0.415522 -0.809126 0.415519 +vn 0.415522 -0.809126 0.415519 +vn 0.482307 -0.843378 0.236841 +vn 0.843389 -0.482296 0.236825 +vn 0.809137 -0.415506 0.415515 +vn 0.843389 -0.482296 0.236825 +vn 0.966106 -0.006709 0.258058 +vn 0.866068 -0.006958 0.499878 +vn 0.809137 -0.415506 0.415515 +vn 0.809137 -0.415506 0.415515 +vn 0.866068 -0.006958 0.499878 +vn 0.499880 -0.006959 0.866067 +vn 0.415512 -0.415522 0.809130 +vn 0.499880 -0.006959 0.866067 +vn 0.009159 -0.009159 0.999916 +vn 0.006958 -0.499884 0.866064 +vn 0.415512 -0.415522 0.809130 +vn 0.415512 -0.415522 0.809130 +vn 0.006958 -0.499884 0.866064 +vn 0.006959 -0.866065 0.499884 +vn 0.415522 -0.809126 0.415519 +vn 0.415522 -0.809126 0.415519 +vn 0.809137 -0.415506 0.415515 +vn 0.415512 -0.415522 0.809130 +vn -0.999957 -0.009239 0.000000 +vn -0.999921 -0.009165 0.008569 +vn -0.999921 0.009165 0.008569 +vn -0.999957 0.009239 0.000000 +vn 0.009238 -0.999957 0.000000 +vn 0.500000 -0.866026 0.000000 +vn 0.499894 -0.866062 0.006507 +vn 0.009164 -0.999921 0.008568 +vn 0.500000 -0.866026 0.000000 +vn 0.866026 -0.500000 0.000000 +vn 0.866062 -0.499894 0.006507 +vn 0.499894 -0.866062 0.006507 +vn 0.866026 -0.500000 0.000000 +vn 0.999957 -0.009238 0.000000 +vn 0.999921 -0.009164 0.008568 +vn 0.866062 -0.499894 0.006507 +vn 0.999957 0.009238 0.000000 +vn 0.866026 0.500000 0.000000 +vn 0.866062 0.499894 0.006507 +vn 0.999921 0.009164 0.008568 +vn 0.866026 0.500000 0.000000 +vn 0.500000 0.866026 0.000000 +vn 0.499894 0.866062 0.006507 +vn 0.866062 0.499894 0.006507 +vn 0.500000 0.866026 0.000000 +vn 0.009238 0.999957 0.000000 +vn 0.009164 0.999921 0.008568 +vn 0.499894 0.866062 0.006507 +vn 0.009164 -0.999921 0.008568 +vn 0.006959 -0.866067 0.499880 +vn -0.006959 -0.866067 0.499880 +vn -0.009164 -0.999921 0.008568 +vn 0.006959 -0.866067 0.499880 +vn 0.006959 -0.499924 0.866042 +vn -0.006959 -0.499924 0.866041 +vn -0.006959 -0.866067 0.499880 +vn -0.006959 -0.499924 0.866041 +vn 0.006959 -0.499924 0.866042 +vn 0.009160 -0.009160 0.999916 +vn -0.009160 -0.009160 0.999916 +vn 0.499913 0.006959 0.866048 +vn 0.009160 0.009160 0.999916 +vn 0.009160 -0.009160 0.999916 +vn 0.499913 -0.006959 0.866048 +vn 0.866066 0.006959 0.499882 +vn 0.499913 0.006959 0.866048 +vn 0.499913 -0.006959 0.866048 +vn 0.866066 -0.006959 0.499882 +vn 0.999921 0.009164 0.008568 +vn 0.866066 0.006959 0.499882 +vn 0.866066 -0.006959 0.499882 +vn 0.999921 -0.009164 0.008568 +vn 0.009160 0.009160 0.999916 +vn 0.006959 0.499924 0.866041 +vn -0.006960 0.499924 0.866042 +vn -0.009160 0.009160 0.999916 +vn 0.006959 0.499924 0.866041 +vn 0.006959 0.866067 0.499880 +vn -0.006959 0.866067 0.499880 +vn -0.006960 0.499924 0.866042 +vn 0.006959 0.866067 0.499880 +vn 0.009164 0.999921 0.008568 +vn -0.009164 0.999921 0.008568 +vn -0.006959 0.866067 0.499880 +vn -0.500000 -0.866026 0.000000 +vn -0.009238 -0.999957 0.000000 +vn -0.009164 -0.999921 0.008568 +vn -0.499894 -0.866062 0.006507 +vn -0.866026 -0.500000 0.000000 +vn -0.500000 -0.866026 0.000000 +vn -0.499894 -0.866062 0.006507 +vn -0.866062 -0.499894 0.006507 +vn -0.999957 -0.009238 0.000000 +vn -0.866026 -0.500000 0.000000 +vn -0.866062 -0.499894 0.006507 +vn -0.999921 -0.009164 0.008568 +vn -0.866066 0.006959 0.499882 +vn -0.999921 0.009164 0.008568 +vn -0.999921 -0.009164 0.008568 +vn -0.866066 -0.006959 0.499881 +vn -0.499913 0.006959 0.866048 +vn -0.866066 0.006959 0.499882 +vn -0.866066 -0.006959 0.499881 +vn -0.499913 -0.006959 0.866048 +vn -0.009160 0.009160 0.999916 +vn -0.499913 0.006959 0.866048 +vn -0.499913 -0.006959 0.866048 +vn -0.009160 -0.009160 0.999916 +vn -0.866026 0.500000 0.000000 +vn -0.999957 0.009238 0.000000 +vn -0.999921 0.009164 0.008568 +vn -0.866062 0.499894 0.006507 +vn -0.500000 0.866026 0.000000 +vn -0.866026 0.500000 0.000000 +vn -0.866062 0.499894 0.006507 +vn -0.499894 0.866062 0.006507 +vn -0.009238 0.999957 0.000000 +vn -0.500000 0.866026 0.000000 +vn -0.499894 0.866062 0.006507 +vn -0.009164 0.999921 0.008568 +vn 0.999921 -0.009164 0.008568 +vn 0.999957 -0.009238 0.000000 +vn 0.999957 0.009238 0.000000 +vn 0.999921 0.009164 0.008568 +vn -0.999957 0.009238 0.000000 +vn -0.999957 -0.009238 0.000000 +vn -0.999921 -0.009164 0.008568 +vn -0.999921 0.009164 0.008568 +vn 0.009238 0.999957 0.000000 +vn -0.009238 0.999957 0.000000 +vn -0.009164 0.999921 0.008568 +vn 0.009164 0.999921 0.008568 +vn -0.009238 -0.999957 0.000000 +vn 0.009238 -0.999957 0.000000 +vn 0.009164 -0.999921 0.008568 +vn -0.009164 -0.999921 0.008568 +vn 0.499913 -0.006959 0.866048 +vn 0.009160 -0.009160 0.999916 +vn 0.006959 -0.499924 0.866042 +vn 0.415537 -0.415526 0.809115 +vn 0.415537 -0.415526 0.809115 +vn 0.006959 -0.499924 0.866042 +vn 0.006959 -0.866067 0.499880 +vn 0.415533 -0.809124 0.415513 +vn 0.006959 -0.866067 0.499880 +vn 0.009164 -0.999921 0.008568 +vn 0.499894 -0.866062 0.006507 +vn 0.415533 -0.809124 0.415513 +vn 0.415533 -0.809124 0.415513 +vn 0.499894 -0.866062 0.006507 +vn 0.866062 -0.499894 0.006507 +vn 0.809127 -0.415516 0.415525 +vn 0.866062 -0.499894 0.006507 +vn 0.999921 -0.009164 0.008568 +vn 0.866066 -0.006959 0.499882 +vn 0.809127 -0.415516 0.415525 +vn 0.809127 -0.415516 0.415525 +vn 0.866066 -0.006959 0.499882 +vn 0.499913 -0.006959 0.866048 +vn 0.415537 -0.415526 0.809115 +vn 0.415537 -0.415526 0.809115 +vn 0.415533 -0.809124 0.415513 +vn 0.809127 -0.415516 0.415525 +vn 0.499894 0.866062 0.006507 +vn 0.009164 0.999921 0.008568 +vn 0.006959 0.866067 0.499880 +vn 0.415534 0.809125 0.415510 +vn 0.415534 0.809125 0.415510 +vn 0.006959 0.866067 0.499880 +vn 0.006959 0.499924 0.866041 +vn 0.415538 0.415529 0.809113 +vn 0.006959 0.499924 0.866041 +vn 0.009160 0.009160 0.999916 +vn 0.499913 0.006959 0.866048 +vn 0.415538 0.415529 0.809113 +vn 0.415538 0.415529 0.809113 +vn 0.499913 0.006959 0.866048 +vn 0.866066 0.006959 0.499882 +vn 0.809126 0.415520 0.415521 +vn 0.866066 0.006959 0.499882 +vn 0.999921 0.009164 0.008568 +vn 0.866062 0.499894 0.006507 +vn 0.809126 0.415520 0.415521 +vn 0.809126 0.415520 0.415521 +vn 0.866062 0.499894 0.006507 +vn 0.499894 0.866062 0.006507 +vn 0.415534 0.809125 0.415510 +vn 0.415534 0.809125 0.415510 +vn 0.415538 0.415529 0.809113 +vn 0.809126 0.415520 0.415521 +vn -0.866066 -0.006959 0.499881 +vn -0.999921 -0.009164 0.008568 +vn -0.866062 -0.499894 0.006507 +vn -0.809129 -0.415516 0.415521 +vn -0.809129 -0.415516 0.415521 +vn -0.866062 -0.499894 0.006507 +vn -0.499894 -0.866062 0.006507 +vn -0.415533 -0.809124 0.415512 +vn -0.499894 -0.866062 0.006507 +vn -0.009164 -0.999921 0.008568 +vn -0.006959 -0.866067 0.499880 +vn -0.415533 -0.809124 0.415512 +vn -0.415533 -0.809124 0.415512 +vn -0.006959 -0.866067 0.499880 +vn -0.006959 -0.499924 0.866041 +vn -0.415539 -0.415526 0.809114 +vn -0.006959 -0.499924 0.866041 +vn -0.009160 -0.009160 0.999916 +vn -0.499913 -0.006959 0.866048 +vn -0.415539 -0.415526 0.809114 +vn -0.415539 -0.415526 0.809114 +vn -0.499913 -0.006959 0.866048 +vn -0.866066 -0.006959 0.499881 +vn -0.809129 -0.415516 0.415521 +vn -0.809129 -0.415516 0.415521 +vn -0.415533 -0.809124 0.415512 +vn -0.415539 -0.415526 0.809114 +vn -0.006959 0.866067 0.499880 +vn -0.009164 0.999921 0.008568 +vn -0.499894 0.866062 0.006507 +vn -0.415534 0.809125 0.415511 +vn -0.415534 0.809125 0.415511 +vn -0.499894 0.866062 0.006507 +vn -0.866062 0.499894 0.006507 +vn -0.809128 0.415516 0.415522 +vn -0.866062 0.499894 0.006507 +vn -0.999921 0.009164 0.008568 +vn -0.866066 0.006959 0.499882 +vn -0.809128 0.415516 0.415522 +vn -0.809128 0.415516 0.415522 +vn -0.866066 0.006959 0.499882 +vn -0.499913 0.006959 0.866048 +vn -0.415538 0.415527 0.809114 +vn -0.499913 0.006959 0.866048 +vn -0.009160 0.009160 0.999916 +vn -0.006960 0.499924 0.866042 +vn -0.415538 0.415527 0.809114 +vn -0.415538 0.415527 0.809114 +vn -0.006960 0.499924 0.866042 +vn -0.006959 0.866067 0.499880 +vn -0.415534 0.809125 0.415511 +vn -0.415534 0.809125 0.415511 +vn -0.809128 0.415516 0.415522 +vn -0.415538 0.415527 0.809114 +vn 0.009160 0.009160 0.999916 +vn -0.009160 0.009160 0.999916 +vn -0.009160 -0.009160 0.999916 +vn 0.009160 -0.009160 0.999916 +vn -0.003298 -0.499984 0.866029 +vn -0.004374 -0.004374 0.999981 +vn -0.499979 -0.003298 0.866031 +vn -0.415529 -0.415531 0.809117 +vn -0.415529 -0.415531 0.809117 +vn -0.499979 -0.003298 0.866031 +vn -0.866056 -0.003298 0.499936 +vn -0.809127 -0.415516 0.415524 +vn -0.866056 -0.003298 0.499936 +vn -0.999981 -0.004375 0.004235 +vn -0.866049 -0.499950 0.003193 +vn -0.809127 -0.415516 0.415524 +vn -0.809127 -0.415516 0.415524 +vn -0.866049 -0.499950 0.003193 +vn -0.499950 -0.866049 0.003193 +vn -0.415520 -0.809123 0.415528 +vn -0.499950 -0.866049 0.003193 +vn -0.718457 0.000000 0.695572 +vn -0.003298 -0.866053 0.499942 +vn -0.415520 -0.809123 0.415528 +vn -0.415520 -0.809123 0.415528 +vn -0.003298 -0.866053 0.499942 +vn -0.003298 -0.499984 0.866029 +vn -0.415529 -0.415531 0.809117 +vn -0.415529 -0.415531 0.809117 +vn -0.809127 -0.415516 0.415524 +vn -0.415520 -0.809123 0.415528 +vn 0.866049 -0.499948 0.003193 +vn 0.999981 -0.004374 0.004235 +vn 0.866057 -0.003298 0.499935 +vn 0.809128 -0.415518 0.415519 +vn 0.809128 -0.415518 0.415519 +vn 0.866057 -0.003298 0.499935 +vn 0.499979 -0.003298 0.866031 +vn 0.415524 -0.415533 0.809118 +vn 0.499979 -0.003298 0.866031 +vn 0.004374 -0.004374 0.999981 +vn 0.003298 -0.499984 0.866029 +vn 0.415524 -0.415533 0.809118 +vn 0.415524 -0.415533 0.809118 +vn 0.003298 -0.499984 0.866029 +vn 0.003297 -0.866053 0.499942 +vn 0.415516 -0.809126 0.415526 +vn 0.003297 -0.866053 0.499942 +vn 0.718457 0.000000 0.695572 +vn 0.499949 -0.866049 0.003193 +vn 0.415516 -0.809126 0.415526 +vn 0.415516 -0.809126 0.415526 +vn 0.499949 -0.866049 0.003193 +vn 0.866049 -0.499948 0.003193 +vn 0.809128 -0.415518 0.415519 +vn 0.809128 -0.415518 0.415519 +vn 0.415524 -0.415533 0.809118 +vn 0.415516 -0.809126 0.415526 +vn -0.003297 0.866053 0.499942 +vn -0.004375 0.999981 0.004235 +vn -0.499950 0.866049 0.003193 +vn -0.415517 0.809125 0.415526 +vn -0.415517 0.809125 0.415526 +vn -0.499950 0.866049 0.003193 +vn -0.866049 0.499950 0.003193 +vn -0.809127 0.415518 0.415521 +vn -0.866049 0.499950 0.003193 +vn -0.999981 0.004375 0.004235 +vn -0.866056 0.003298 0.499936 +vn -0.809127 0.415518 0.415521 +vn -0.809127 0.415518 0.415521 +vn -0.866056 0.003298 0.499936 +vn -0.499979 0.003298 0.866031 +vn -0.415524 0.415532 0.809119 +vn -0.499979 0.003298 0.866031 +vn -0.004374 0.004374 0.999981 +vn -0.003298 0.499984 0.866029 +vn -0.415524 0.415532 0.809119 +vn -0.415524 0.415532 0.809119 +vn -0.003298 0.499984 0.866029 +vn -0.003297 0.866053 0.499942 +vn -0.415517 0.809125 0.415526 +vn -0.415517 0.809125 0.415526 +vn -0.809127 0.415518 0.415521 +vn -0.415524 0.415532 0.809119 +vn 0.866056 0.003298 0.499936 +vn 0.999981 0.004374 0.004235 +vn 0.866049 0.499948 0.003193 +vn 0.809127 0.415518 0.415521 +vn 0.809127 0.415518 0.415521 +vn 0.866049 0.499948 0.003193 +vn 0.499949 0.866049 0.003193 +vn 0.415521 0.809124 0.415524 +vn 0.499949 0.866049 0.003193 +vn 0.004375 0.999981 0.004235 +vn 0.003298 0.866053 0.499942 +vn 0.415521 0.809124 0.415524 +vn 0.415521 0.809124 0.415524 +vn 0.003298 0.866053 0.499942 +vn 0.003298 0.499984 0.866029 +vn 0.415528 0.415531 0.809117 +vn 0.003298 0.499984 0.866029 +vn 0.004374 0.004374 0.999981 +vn 0.499979 0.003298 0.866031 +vn 0.415528 0.415531 0.809117 +vn 0.415528 0.415531 0.809117 +vn 0.499979 0.003298 0.866031 +vn 0.866056 0.003298 0.499936 +vn 0.809127 0.415518 0.415521 +vn 0.809127 0.415518 0.415521 +vn 0.415521 0.809124 0.415524 +vn 0.415528 0.415531 0.809117 +vn -0.004375 0.999981 0.004235 +vn -0.003297 0.866053 0.499942 +vn 0.003298 0.866053 0.499942 +vn 0.004375 0.999981 0.004235 +vn -0.003297 0.866053 0.499942 +vn -0.003298 0.499984 0.866029 +vn 0.003298 0.499984 0.866029 +vn 0.003298 0.866053 0.499942 +vn -0.003298 0.499984 0.866029 +vn -0.004374 0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn 0.003298 0.499984 0.866029 +vn -0.004374 -0.004374 0.999981 +vn 0.004374 -0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn -0.004374 0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn -0.003298 -0.499984 0.866029 +vn 0.003298 -0.499984 0.866029 +vn 0.004374 -0.004374 0.999981 +vn -0.003298 -0.499984 0.866029 +vn -0.003298 -0.866053 0.499942 +vn 0.003297 -0.866053 0.499942 +vn 0.003298 -0.499984 0.866029 +vn -0.003298 -0.866053 0.499942 +vn -0.718457 0.000000 0.695572 +vn 0.718457 0.000000 0.695572 +vn 0.003297 -0.866053 0.499942 +vn -0.999990 -0.004392 0.000000 +vn -0.866026 -0.499999 0.000000 +vn -0.866049 -0.499950 0.003193 +vn -0.999981 -0.004375 0.004235 +vn -0.866026 -0.499999 0.000000 +vn -0.499999 -0.866026 0.000000 +vn -0.499950 -0.866049 0.003193 +vn -0.866049 -0.499950 0.003193 +vn -0.499999 -0.866026 0.000000 +vn -1.000000 0.000000 0.000000 +vn -0.718457 0.000000 0.695572 +vn -0.499950 -0.866049 0.003193 +vn 1.000000 0.000000 0.000000 +vn 0.499998 -0.866027 0.000000 +vn 0.499949 -0.866049 0.003193 +vn 0.718457 0.000000 0.695572 +vn 0.499998 -0.866027 0.000000 +vn 0.866027 -0.499997 0.000000 +vn 0.866049 -0.499948 0.003193 +vn 0.499949 -0.866049 0.003193 +vn 0.866027 -0.499997 0.000000 +vn 0.999990 -0.004392 0.000000 +vn 0.999981 -0.004374 0.004235 +vn 0.866049 -0.499948 0.003193 +vn 0.999990 0.004392 0.000000 +vn 0.866027 0.499997 0.000000 +vn 0.866049 0.499948 0.003193 +vn 0.999981 0.004374 0.004235 +vn 0.866027 0.499997 0.000000 +vn 0.499998 0.866027 0.000000 +vn 0.499949 0.866049 0.003193 +vn 0.866049 0.499948 0.003193 +vn 0.499998 0.866027 0.000000 +vn 0.004392 0.999990 0.000000 +vn 0.004375 0.999981 0.004235 +vn 0.499949 0.866049 0.003193 +vn 0.004392 0.999990 0.000000 +vn -0.004392 0.999990 0.000000 +vn -0.004375 0.999981 0.004235 +vn 0.004375 0.999981 0.004235 +vn -0.004392 0.999990 0.000000 +vn -0.499999 0.866026 0.000000 +vn -0.499950 0.866049 0.003193 +vn -0.004375 0.999981 0.004235 +vn -0.499999 0.866026 0.000000 +vn -0.866026 0.499999 0.000000 +vn -0.866049 0.499950 0.003193 +vn -0.499950 0.866049 0.003193 +vn -0.866026 0.499999 0.000000 +vn -0.999990 0.004392 0.000000 +vn -0.999981 0.004375 0.004235 +vn -0.866049 0.499950 0.003193 +vn -0.999990 0.004392 0.000000 +vn -0.999990 -0.004392 0.000000 +vn -0.999981 -0.004375 0.004235 +vn -0.999981 0.004375 0.004235 +vn 0.999981 -0.004374 0.004235 +vn 0.999990 -0.004392 0.000000 +vn 0.999990 0.004392 0.000000 +vn 0.999981 0.004374 0.004235 +vn 0.866057 -0.003298 0.499935 +vn 0.999981 -0.004374 0.004235 +vn 0.999981 0.004374 0.004235 +vn 0.866056 0.003298 0.499936 +vn 0.499979 -0.003298 0.866031 +vn 0.866057 -0.003298 0.499935 +vn 0.866056 0.003298 0.499936 +vn 0.499979 0.003298 0.866031 +vn 0.004374 -0.004374 0.999981 +vn 0.499979 -0.003298 0.866031 +vn 0.499979 0.003298 0.866031 +vn 0.004374 0.004374 0.999981 +vn -0.499979 -0.003298 0.866031 +vn -0.004374 -0.004374 0.999981 +vn -0.004374 0.004374 0.999981 +vn -0.499979 0.003298 0.866031 +vn -0.866056 -0.003298 0.499936 +vn -0.499979 -0.003298 0.866031 +vn -0.499979 0.003298 0.866031 +vn -0.866056 0.003298 0.499936 +vn -0.999981 -0.004375 0.004235 +vn -0.866056 -0.003298 0.499936 +vn -0.866056 0.003298 0.499936 +vn -0.999981 0.004375 0.004235 +vn -0.003298 -0.499980 0.866031 +vn -0.004374 -0.004374 0.999981 +vn -0.499979 -0.003298 0.866031 +vn -0.415530 -0.415531 0.809116 +vn -0.415530 -0.415531 0.809116 +vn -0.499979 -0.003298 0.866031 +vn -0.866056 -0.003298 0.499936 +vn -0.809127 -0.415516 0.415524 +vn -0.866056 -0.003298 0.499936 +vn -0.999981 -0.004375 0.004235 +vn -0.866049 -0.499950 0.003193 +vn -0.809127 -0.415516 0.415524 +vn -0.809127 -0.415516 0.415524 +vn -0.866049 -0.499950 0.003193 +vn -0.499950 -0.866049 0.003193 +vn -0.415521 -0.809123 0.415527 +vn -0.499950 -0.866049 0.003193 +vn -0.004375 -0.999981 0.004235 +vn -0.003298 -0.866055 0.499939 +vn -0.415521 -0.809123 0.415527 +vn -0.415521 -0.809123 0.415527 +vn -0.003298 -0.866055 0.499939 +vn -0.003298 -0.499980 0.866031 +vn -0.415530 -0.415531 0.809116 +vn -0.415530 -0.415531 0.809116 +vn -0.809127 -0.415516 0.415524 +vn -0.415521 -0.809123 0.415527 +vn 0.866049 -0.499948 0.003193 +vn 0.000000 -0.718461 0.695568 +vn 0.866056 -0.003298 0.499936 +vn 0.809126 -0.415517 0.415524 +vn 0.809126 -0.415517 0.415524 +vn 0.866056 -0.003298 0.499936 +vn 0.499979 -0.003298 0.866031 +vn 0.415525 -0.415534 0.809117 +vn 0.499979 -0.003298 0.866031 +vn 0.004374 -0.004374 0.999981 +vn 0.003298 -0.499980 0.866031 +vn 0.415525 -0.415534 0.809117 +vn 0.415525 -0.415534 0.809117 +vn 0.003298 -0.499980 0.866031 +vn 0.003297 -0.866055 0.499939 +vn 0.415516 -0.809126 0.415526 +vn 0.003297 -0.866055 0.499939 +vn 0.004375 -0.999981 0.004235 +vn 0.499949 -0.866049 0.003193 +vn 0.415516 -0.809126 0.415526 +vn 0.415516 -0.809126 0.415526 +vn 0.499949 -0.866049 0.003193 +vn 0.866049 -0.499948 0.003193 +vn 0.809126 -0.415517 0.415524 +vn 0.809126 -0.415517 0.415524 +vn 0.415525 -0.415534 0.809117 +vn 0.415516 -0.809126 0.415526 +vn -0.003297 0.866053 0.499942 +vn -0.718457 0.000000 0.695572 +vn -0.499950 0.866049 0.003193 +vn -0.415517 0.809125 0.415526 +vn -0.415517 0.809125 0.415526 +vn -0.499950 0.866049 0.003193 +vn -0.866049 0.499950 0.003193 +vn -0.809128 0.415519 0.415519 +vn -0.866049 0.499950 0.003193 +vn -0.999981 0.004375 0.004235 +vn -0.866057 0.003298 0.499935 +vn -0.809128 0.415519 0.415519 +vn -0.809128 0.415519 0.415519 +vn -0.866057 0.003298 0.499935 +vn -0.499979 0.003298 0.866031 +vn -0.415525 0.415532 0.809118 +vn -0.499979 0.003298 0.866031 +vn -0.004374 0.004374 0.999981 +vn -0.003298 0.499984 0.866029 +vn -0.415525 0.415532 0.809118 +vn -0.415525 0.415532 0.809118 +vn -0.003298 0.499984 0.866029 +vn -0.003297 0.866053 0.499942 +vn -0.415517 0.809125 0.415526 +vn -0.415517 0.809125 0.415526 +vn -0.809128 0.415519 0.415519 +vn -0.415525 0.415532 0.809118 +vn 0.866056 0.003298 0.499936 +vn 0.000000 0.718461 0.695568 +vn 0.866049 0.499948 0.003193 +vn 0.809127 0.415517 0.415523 +vn 0.809127 0.415517 0.415523 +vn 0.866049 0.499948 0.003193 +vn 0.499949 0.866049 0.003193 +vn 0.415520 0.809123 0.415528 +vn 0.499949 0.866049 0.003193 +vn 0.718457 0.000000 0.695572 +vn 0.003298 0.866053 0.499942 +vn 0.415520 0.809123 0.415528 +vn 0.415520 0.809123 0.415528 +vn 0.003298 0.866053 0.499942 +vn 0.003298 0.499984 0.866029 +vn 0.415529 0.415532 0.809116 +vn 0.003298 0.499984 0.866029 +vn 0.004374 0.004374 0.999981 +vn 0.499979 0.003298 0.866031 +vn 0.415529 0.415532 0.809116 +vn 0.415529 0.415532 0.809116 +vn 0.499979 0.003298 0.866031 +vn 0.866056 0.003298 0.499936 +vn 0.809127 0.415517 0.415523 +vn 0.809127 0.415517 0.415523 +vn 0.415520 0.809123 0.415528 +vn 0.415529 0.415532 0.809116 +vn -0.718457 0.000000 0.695572 +vn -0.003297 0.866053 0.499942 +vn 0.003298 0.866053 0.499942 +vn 0.718457 0.000000 0.695572 +vn -0.003297 0.866053 0.499942 +vn -0.003298 0.499984 0.866029 +vn 0.003298 0.499984 0.866029 +vn 0.003298 0.866053 0.499942 +vn -0.003298 0.499984 0.866029 +vn -0.004374 0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn 0.003298 0.499984 0.866029 +vn -0.004374 -0.004374 0.999981 +vn 0.004374 -0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn -0.004374 0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn -0.003298 -0.499980 0.866031 +vn 0.003298 -0.499980 0.866031 +vn 0.004374 -0.004374 0.999981 +vn -0.003298 -0.499980 0.866031 +vn -0.003298 -0.866055 0.499939 +vn 0.003297 -0.866055 0.499939 +vn 0.003298 -0.499980 0.866031 +vn -0.003298 -0.866055 0.499939 +vn -0.004375 -0.999981 0.004235 +vn 0.004375 -0.999981 0.004235 +vn 0.003297 -0.866055 0.499939 +vn -0.999990 -0.004392 0.000000 +vn -0.866026 -0.499999 0.000000 +vn -0.866049 -0.499950 0.003193 +vn -0.999981 -0.004375 0.004235 +vn -0.866026 -0.499999 0.000000 +vn -0.499999 -0.866026 0.000000 +vn -0.499950 -0.866049 0.003193 +vn -0.866049 -0.499950 0.003193 +vn -0.499999 -0.866026 0.000000 +vn -0.004392 -0.999990 0.000000 +vn -0.004375 -0.999981 0.004235 +vn -0.499950 -0.866049 0.003193 +vn -0.004375 -0.999981 0.004235 +vn -0.004392 -0.999990 0.000000 +vn 0.004392 -0.999990 0.000000 +vn 0.004375 -0.999981 0.004235 +vn 0.004392 -0.999990 0.000000 +vn 0.499998 -0.866027 0.000000 +vn 0.499949 -0.866049 0.003193 +vn 0.004375 -0.999981 0.004235 +vn 0.499998 -0.866027 0.000000 +vn 0.866027 -0.499997 0.000000 +vn 0.866049 -0.499948 0.003193 +vn 0.499949 -0.866049 0.003193 +vn 0.866027 -0.499997 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -0.718461 0.695568 +vn 0.866049 -0.499948 0.003193 +vn 0.000000 1.000000 0.000000 +vn 0.866027 0.499997 0.000000 +vn 0.866049 0.499948 0.003193 +vn 0.000000 0.718461 0.695568 +vn 0.866027 0.499997 0.000000 +vn 0.499998 0.866027 0.000000 +vn 0.499949 0.866049 0.003193 +vn 0.866049 0.499948 0.003193 +vn 0.499998 0.866027 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.718457 0.000000 0.695572 +vn 0.499949 0.866049 0.003193 +vn -1.000000 0.000000 0.000000 +vn -0.499999 0.866026 0.000000 +vn -0.499950 0.866049 0.003193 +vn -0.718457 0.000000 0.695572 +vn -0.499999 0.866026 0.000000 +vn -0.866026 0.499999 0.000000 +vn -0.866049 0.499950 0.003193 +vn -0.499950 0.866049 0.003193 +vn -0.866026 0.499999 0.000000 +vn -0.999990 0.004392 0.000000 +vn -0.999981 0.004375 0.004235 +vn -0.866049 0.499950 0.003193 +vn -0.999990 0.004392 0.000000 +vn -0.999990 -0.004392 0.000000 +vn -0.999981 -0.004375 0.004235 +vn -0.999981 0.004375 0.004235 +vn 0.866056 -0.003298 0.499936 +vn 0.000000 -0.718461 0.695568 +vn 0.000000 0.718461 0.695568 +vn 0.866056 0.003298 0.499936 +vn 0.499979 -0.003298 0.866031 +vn 0.866056 -0.003298 0.499936 +vn 0.866056 0.003298 0.499936 +vn 0.499979 0.003298 0.866031 +vn 0.004374 -0.004374 0.999981 +vn 0.499979 -0.003298 0.866031 +vn 0.499979 0.003298 0.866031 +vn 0.004374 0.004374 0.999981 +vn -0.499979 -0.003298 0.866031 +vn -0.004374 -0.004374 0.999981 +vn -0.004374 0.004374 0.999981 +vn -0.499979 0.003298 0.866031 +vn -0.866056 -0.003298 0.499936 +vn -0.499979 -0.003298 0.866031 +vn -0.499979 0.003298 0.866031 +vn -0.866057 0.003298 0.499935 +vn -0.999981 -0.004375 0.004235 +vn -0.866056 -0.003298 0.499936 +vn -0.866057 0.003298 0.499935 +vn -0.999981 0.004375 0.004235 +vn -0.003298 -0.499980 0.866031 +vn -0.004374 -0.004374 0.999981 +vn -0.499979 -0.003298 0.866031 +vn -0.415529 -0.415532 0.809116 +vn -0.415529 -0.415532 0.809116 +vn -0.499979 -0.003298 0.866031 +vn -0.866056 -0.003298 0.499936 +vn -0.809126 -0.415518 0.415524 +vn -0.866056 -0.003298 0.499936 +vn 0.000000 -0.718463 0.695565 +vn -0.866049 -0.499948 0.003193 +vn -0.809126 -0.415518 0.415524 +vn -0.809126 -0.415518 0.415524 +vn -0.866049 -0.499948 0.003193 +vn -0.499949 -0.866049 0.003193 +vn -0.415520 -0.809124 0.415526 +vn -0.499949 -0.866049 0.003193 +vn -0.718467 0.000000 0.695561 +vn -0.003298 -0.866055 0.499939 +vn -0.415520 -0.809124 0.415526 +vn -0.415520 -0.809124 0.415526 +vn -0.003298 -0.866055 0.499939 +vn -0.003298 -0.499980 0.866031 +vn -0.415529 -0.415532 0.809116 +vn -0.415529 -0.415532 0.809116 +vn -0.809126 -0.415518 0.415524 +vn -0.415520 -0.809124 0.415526 +vn 0.866049 -0.499950 0.003193 +vn 0.999981 -0.004375 0.004235 +vn 0.866056 -0.003298 0.499936 +vn 0.809127 -0.415516 0.415524 +vn 0.809127 -0.415516 0.415524 +vn 0.866056 -0.003298 0.499936 +vn 0.499979 -0.003298 0.866031 +vn 0.415525 -0.415532 0.809118 +vn 0.499979 -0.003298 0.866031 +vn 0.004374 -0.004374 0.999981 +vn 0.003298 -0.499980 0.866031 +vn 0.415525 -0.415532 0.809118 +vn 0.415525 -0.415532 0.809118 +vn 0.003298 -0.499980 0.866031 +vn 0.003297 -0.866055 0.499939 +vn 0.415516 -0.809126 0.415526 +vn 0.003297 -0.866055 0.499939 +vn 0.718467 0.000000 0.695561 +vn 0.499950 -0.866049 0.003193 +vn 0.415516 -0.809126 0.415526 +vn 0.415516 -0.809126 0.415526 +vn 0.499950 -0.866049 0.003193 +vn 0.866049 -0.499950 0.003193 +vn 0.809127 -0.415516 0.415524 +vn 0.809127 -0.415516 0.415524 +vn 0.415525 -0.415532 0.809118 +vn 0.415516 -0.809126 0.415526 +vn -0.003297 0.866053 0.499942 +vn -0.004375 0.999981 0.004235 +vn -0.499949 0.866049 0.003193 +vn -0.415516 0.809126 0.415526 +vn -0.415516 0.809126 0.415526 +vn -0.499949 0.866049 0.003193 +vn -0.866049 0.499948 0.003193 +vn -0.809128 0.415519 0.415519 +vn -0.866049 0.499948 0.003193 +vn 0.000000 0.718463 0.695565 +vn -0.866057 0.003298 0.499935 +vn -0.809128 0.415519 0.415519 +vn -0.809128 0.415519 0.415519 +vn -0.866057 0.003298 0.499935 +vn -0.499979 0.003298 0.866031 +vn -0.415524 0.415533 0.809118 +vn -0.499979 0.003298 0.866031 +vn -0.004374 0.004374 0.999981 +vn -0.003298 0.499984 0.866029 +vn -0.415524 0.415533 0.809118 +vn -0.415524 0.415533 0.809118 +vn -0.003298 0.499984 0.866029 +vn -0.003297 0.866053 0.499942 +vn -0.415516 0.809126 0.415526 +vn -0.415516 0.809126 0.415526 +vn -0.809128 0.415519 0.415519 +vn -0.415524 0.415533 0.809118 +vn 0.866056 0.003298 0.499936 +vn 0.999981 0.004375 0.004235 +vn 0.866049 0.499950 0.003193 +vn 0.809127 0.415516 0.415523 +vn 0.809127 0.415516 0.415523 +vn 0.866049 0.499950 0.003193 +vn 0.499950 0.866049 0.003193 +vn 0.415520 0.809123 0.415528 +vn 0.499950 0.866049 0.003193 +vn 0.004375 0.999981 0.004235 +vn 0.003298 0.866053 0.499942 +vn 0.415520 0.809123 0.415528 +vn 0.415520 0.809123 0.415528 +vn 0.003298 0.866053 0.499942 +vn 0.003298 0.499984 0.866029 +vn 0.415529 0.415531 0.809117 +vn 0.003298 0.499984 0.866029 +vn 0.004374 0.004374 0.999981 +vn 0.499979 0.003298 0.866031 +vn 0.415529 0.415531 0.809117 +vn 0.415529 0.415531 0.809117 +vn 0.499979 0.003298 0.866031 +vn 0.866056 0.003298 0.499936 +vn 0.809127 0.415516 0.415523 +vn 0.809127 0.415516 0.415523 +vn 0.415520 0.809123 0.415528 +vn 0.415529 0.415531 0.809117 +vn -0.004375 0.999981 0.004235 +vn -0.003297 0.866053 0.499942 +vn 0.003298 0.866053 0.499942 +vn 0.004375 0.999981 0.004235 +vn -0.003297 0.866053 0.499942 +vn -0.003298 0.499984 0.866029 +vn 0.003298 0.499984 0.866029 +vn 0.003298 0.866053 0.499942 +vn -0.003298 0.499984 0.866029 +vn -0.004374 0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn 0.003298 0.499984 0.866029 +vn 0.004374 0.004374 0.999981 +vn -0.004374 0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn 0.004374 -0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn -0.003298 -0.499980 0.866031 +vn 0.003298 -0.499980 0.866031 +vn 0.004374 -0.004374 0.999981 +vn -0.003298 -0.499980 0.866031 +vn -0.003298 -0.866055 0.499939 +vn 0.003297 -0.866055 0.499939 +vn 0.003298 -0.499980 0.866031 +vn -0.003298 -0.866055 0.499939 +vn -0.718467 0.000000 0.695561 +vn 0.718467 0.000000 0.695561 +vn 0.003297 -0.866055 0.499939 +vn 0.000000 -1.000000 0.000000 +vn -0.866027 -0.499997 0.000000 +vn -0.866049 -0.499948 0.003193 +vn 0.000000 -0.718463 0.695565 +vn -0.866027 -0.499997 0.000000 +vn -0.499998 -0.866027 0.000000 +vn -0.499949 -0.866049 0.003193 +vn -0.866049 -0.499948 0.003193 +vn -0.499998 -0.866027 0.000000 +vn -1.000000 0.000000 0.000000 +vn -0.718467 0.000000 0.695561 +vn -0.499949 -0.866049 0.003193 +vn 1.000000 0.000000 0.000000 +vn 0.499999 -0.866026 0.000000 +vn 0.499950 -0.866049 0.003193 +vn 0.718467 0.000000 0.695561 +vn 0.499999 -0.866026 0.000000 +vn 0.866026 -0.499999 0.000000 +vn 0.866049 -0.499950 0.003193 +vn 0.499950 -0.866049 0.003193 +vn 0.866026 -0.499999 0.000000 +vn 0.999990 -0.004392 0.000000 +vn 0.999981 -0.004375 0.004235 +vn 0.866049 -0.499950 0.003193 +vn 0.999990 0.004392 0.000000 +vn 0.866026 0.499999 0.000000 +vn 0.866049 0.499950 0.003193 +vn 0.999981 0.004375 0.004235 +vn 0.866026 0.499999 0.000000 +vn 0.499999 0.866026 0.000000 +vn 0.499950 0.866049 0.003193 +vn 0.866049 0.499950 0.003193 +vn 0.499999 0.866026 0.000000 +vn 0.004392 0.999990 0.000000 +vn 0.004375 0.999981 0.004235 +vn 0.499950 0.866049 0.003193 +vn 0.004392 0.999990 0.000000 +vn -0.004392 0.999990 0.000000 +vn -0.004375 0.999981 0.004235 +vn 0.004375 0.999981 0.004235 +vn -0.004392 0.999990 0.000000 +vn -0.499998 0.866027 0.000000 +vn -0.499949 0.866049 0.003193 +vn -0.004375 0.999981 0.004235 +vn -0.499998 0.866027 0.000000 +vn -0.866027 0.499997 0.000000 +vn -0.866049 0.499948 0.003193 +vn -0.499949 0.866049 0.003193 +vn -0.866027 0.499997 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.718463 0.695565 +vn -0.866049 0.499948 0.003193 +vn 0.999981 -0.004375 0.004235 +vn 0.999990 -0.004392 0.000000 +vn 0.999990 0.004392 0.000000 +vn 0.999981 0.004375 0.004235 +vn 0.866056 -0.003298 0.499936 +vn 0.999981 -0.004375 0.004235 +vn 0.999981 0.004375 0.004235 +vn 0.866056 0.003298 0.499936 +vn 0.499979 -0.003298 0.866031 +vn 0.866056 -0.003298 0.499936 +vn 0.866056 0.003298 0.499936 +vn 0.499979 0.003298 0.866031 +vn 0.004374 -0.004374 0.999981 +vn 0.499979 -0.003298 0.866031 +vn 0.499979 0.003298 0.866031 +vn 0.004374 0.004374 0.999981 +vn -0.499979 -0.003298 0.866031 +vn -0.004374 -0.004374 0.999981 +vn -0.004374 0.004374 0.999981 +vn -0.499979 0.003298 0.866031 +vn -0.866056 -0.003298 0.499936 +vn -0.499979 -0.003298 0.866031 +vn -0.499979 0.003298 0.866031 +vn -0.866057 0.003298 0.499935 +vn 0.000000 -0.718463 0.695565 +vn -0.866056 -0.003298 0.499936 +vn -0.866057 0.003298 0.499935 +vn 0.000000 0.718463 0.695565 +vn -0.003298 -0.499980 0.866031 +vn -0.004374 -0.004374 0.999981 +vn -0.499979 -0.003298 0.866031 +vn -0.415529 -0.415532 0.809116 +vn -0.415529 -0.415532 0.809116 +vn -0.499979 -0.003298 0.866031 +vn -0.866056 -0.003298 0.499936 +vn -0.809126 -0.415517 0.415524 +vn -0.866056 -0.003298 0.499936 +vn 0.000000 -0.718461 0.695568 +vn -0.866049 -0.499948 0.003193 +vn -0.809126 -0.415517 0.415524 +vn -0.809126 -0.415517 0.415524 +vn -0.866049 -0.499948 0.003193 +vn -0.499949 -0.866049 0.003193 +vn -0.415520 -0.809124 0.415526 +vn -0.499949 -0.866049 0.003193 +vn -0.004375 -0.999981 0.004235 +vn -0.003298 -0.866055 0.499939 +vn -0.415520 -0.809124 0.415526 +vn -0.415520 -0.809124 0.415526 +vn -0.003298 -0.866055 0.499939 +vn -0.003298 -0.499980 0.866031 +vn -0.415529 -0.415532 0.809116 +vn -0.415529 -0.415532 0.809116 +vn -0.809126 -0.415517 0.415524 +vn -0.415520 -0.809124 0.415526 +vn 0.866049 -0.499949 0.003193 +vn 0.000000 -0.718463 0.695565 +vn 0.866056 -0.003298 0.499936 +vn 0.809126 -0.415518 0.415524 +vn 0.809126 -0.415518 0.415524 +vn 0.866056 -0.003298 0.499936 +vn 0.499979 -0.003298 0.866031 +vn 0.415525 -0.415533 0.809118 +vn 0.499979 -0.003298 0.866031 +vn 0.004374 -0.004374 0.999981 +vn 0.003298 -0.499980 0.866031 +vn 0.415525 -0.415533 0.809118 +vn 0.415525 -0.415533 0.809118 +vn 0.003298 -0.499980 0.866031 +vn 0.003297 -0.866055 0.499939 +vn 0.415516 -0.809126 0.415527 +vn 0.003297 -0.866055 0.499939 +vn 0.004375 -0.999981 0.004235 +vn 0.499949 -0.866049 0.003193 +vn 0.415516 -0.809126 0.415527 +vn 0.415516 -0.809126 0.415527 +vn 0.499949 -0.866049 0.003193 +vn 0.866049 -0.499949 0.003193 +vn 0.809126 -0.415518 0.415524 +vn 0.809126 -0.415518 0.415524 +vn 0.415525 -0.415533 0.809118 +vn 0.415516 -0.809126 0.415527 +vn -0.003297 0.866053 0.499942 +vn -0.004375 0.999981 0.004235 +vn -0.499949 0.866049 0.003193 +vn -0.415516 0.809126 0.415526 +vn -0.415516 0.809126 0.415526 +vn -0.499949 0.866049 0.003193 +vn -0.866049 0.499948 0.003193 +vn -0.809128 0.415518 0.415519 +vn -0.866049 0.499948 0.003193 +vn 0.000000 0.718461 0.695568 +vn -0.866057 0.003298 0.499935 +vn -0.809128 0.415518 0.415519 +vn -0.809128 0.415518 0.415519 +vn -0.866057 0.003298 0.499935 +vn -0.499979 0.003298 0.866031 +vn -0.415524 0.415533 0.809118 +vn -0.499979 0.003298 0.866031 +vn -0.004374 0.004374 0.999981 +vn -0.003298 0.499984 0.866029 +vn -0.415524 0.415533 0.809118 +vn -0.415524 0.415533 0.809118 +vn -0.003298 0.499984 0.866029 +vn -0.003297 0.866053 0.499942 +vn -0.415516 0.809126 0.415526 +vn -0.415516 0.809126 0.415526 +vn -0.809128 0.415518 0.415519 +vn -0.415524 0.415533 0.809118 +vn 0.866056 0.003298 0.499936 +vn 0.000000 0.718463 0.695565 +vn 0.866049 0.499949 0.003193 +vn 0.809126 0.415518 0.415523 +vn 0.809126 0.415518 0.415523 +vn 0.866049 0.499949 0.003193 +vn 0.499949 0.866049 0.003193 +vn 0.415520 0.809123 0.415527 +vn 0.499949 0.866049 0.003193 +vn 0.004375 0.999981 0.004235 +vn 0.003298 0.866053 0.499942 +vn 0.415520 0.809123 0.415527 +vn 0.415520 0.809123 0.415527 +vn 0.003298 0.866053 0.499942 +vn 0.003298 0.499984 0.866029 +vn 0.415529 0.415532 0.809116 +vn 0.003298 0.499984 0.866029 +vn 0.004374 0.004374 0.999981 +vn 0.499979 0.003298 0.866031 +vn 0.415529 0.415532 0.809116 +vn 0.415529 0.415532 0.809116 +vn 0.499979 0.003298 0.866031 +vn 0.866056 0.003298 0.499936 +vn 0.809126 0.415518 0.415523 +vn 0.809126 0.415518 0.415523 +vn 0.415520 0.809123 0.415527 +vn 0.415529 0.415532 0.809116 +vn -0.004375 0.999981 0.004235 +vn -0.003297 0.866053 0.499942 +vn 0.003298 0.866053 0.499942 +vn 0.004375 0.999981 0.004235 +vn -0.003297 0.866053 0.499942 +vn -0.003298 0.499984 0.866029 +vn 0.003298 0.499984 0.866029 +vn 0.003298 0.866053 0.499942 +vn -0.003298 0.499984 0.866029 +vn -0.004374 0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn 0.003298 0.499984 0.866029 +vn -0.004374 0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn 0.004374 -0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn -0.003298 -0.499980 0.866031 +vn 0.003298 -0.499980 0.866031 +vn 0.004374 -0.004374 0.999981 +vn -0.003298 -0.499980 0.866031 +vn -0.003298 -0.866055 0.499939 +vn 0.003297 -0.866055 0.499939 +vn 0.003298 -0.499980 0.866031 +vn -0.003298 -0.866055 0.499939 +vn -0.004375 -0.999981 0.004235 +vn 0.004375 -0.999981 0.004235 +vn 0.003297 -0.866055 0.499939 +vn 0.000000 -1.000000 0.000000 +vn -0.866027 -0.499997 0.000000 +vn -0.866049 -0.499948 0.003193 +vn 0.000000 -0.718461 0.695568 +vn -0.866027 -0.499997 0.000000 +vn -0.499998 -0.866027 0.000000 +vn -0.499949 -0.866049 0.003193 +vn -0.866049 -0.499948 0.003193 +vn -0.499998 -0.866027 0.000000 +vn -0.004392 -0.999990 0.000000 +vn -0.004375 -0.999981 0.004235 +vn -0.499949 -0.866049 0.003193 +vn 0.004392 -0.999990 0.000000 +vn 0.499998 -0.866027 0.000000 +vn 0.499949 -0.866049 0.003193 +vn 0.004375 -0.999981 0.004235 +vn 0.499998 -0.866027 0.000000 +vn 0.866027 -0.499998 0.000000 +vn 0.866049 -0.499949 0.003193 +vn 0.499949 -0.866049 0.003193 +vn 0.866027 -0.499998 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -0.718463 0.695565 +vn 0.866049 -0.499949 0.003193 +vn 0.000000 1.000000 0.000000 +vn 0.866027 0.499998 0.000000 +vn 0.866049 0.499949 0.003193 +vn 0.000000 0.718463 0.695565 +vn 0.866027 0.499998 0.000000 +vn 0.499998 0.866027 0.000000 +vn 0.499949 0.866049 0.003193 +vn 0.866049 0.499949 0.003193 +vn 0.499998 0.866027 0.000000 +vn 0.004392 0.999990 0.000000 +vn 0.004375 0.999981 0.004235 +vn 0.499949 0.866049 0.003193 +vn 0.004392 0.999990 0.000000 +vn -0.004392 0.999990 0.000000 +vn -0.004375 0.999981 0.004235 +vn 0.004375 0.999981 0.004235 +vn -0.004392 0.999990 0.000000 +vn -0.499998 0.866027 0.000000 +vn -0.499949 0.866049 0.003193 +vn -0.004375 0.999981 0.004235 +vn -0.499998 0.866027 0.000000 +vn -0.866027 0.499997 0.000000 +vn -0.866049 0.499948 0.003193 +vn -0.499949 0.866049 0.003193 +vn -0.866027 0.499997 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.718461 0.695568 +vn -0.866049 0.499948 0.003193 +vn 0.866056 -0.003298 0.499936 +vn 0.000000 -0.718463 0.695565 +vn 0.000000 0.718463 0.695565 +vn 0.866056 0.003298 0.499936 +vn 0.499979 -0.003298 0.866031 +vn 0.866056 -0.003298 0.499936 +vn 0.866056 0.003298 0.499936 +vn 0.499979 0.003298 0.866031 +vn 0.004374 -0.004374 0.999981 +vn 0.499979 -0.003298 0.866031 +vn 0.499979 0.003298 0.866031 +vn 0.004374 0.004374 0.999981 +vn -0.499979 -0.003298 0.866031 +vn -0.004374 -0.004374 0.999981 +vn -0.004374 0.004374 0.999981 +vn -0.499979 0.003298 0.866031 +vn -0.866056 -0.003298 0.499936 +vn -0.499979 -0.003298 0.866031 +vn -0.499979 0.003298 0.866031 +vn -0.866057 0.003298 0.499935 +vn 0.000000 -0.718461 0.695568 +vn -0.866056 -0.003298 0.499936 +vn -0.866057 0.003298 0.499935 +vn 0.000000 0.718461 0.695568 +vn -0.003298 -0.499981 0.866030 +vn -0.004374 -0.004374 0.999981 +vn -0.499979 -0.003298 0.866031 +vn -0.415527 -0.415531 0.809117 +vn -0.415527 -0.415531 0.809117 +vn -0.499979 -0.003298 0.866031 +vn -0.866056 -0.003298 0.499936 +vn -0.809126 -0.415519 0.415523 +vn -0.866056 -0.003298 0.499936 +vn -0.999981 -0.004375 0.004235 +vn -0.866049 -0.499948 0.003193 +vn -0.809126 -0.415519 0.415523 +vn -0.809126 -0.415519 0.415523 +vn -0.866049 -0.499948 0.003193 +vn -0.499949 -0.866049 0.003193 +vn -0.415521 -0.809125 0.415524 +vn -0.499949 -0.866049 0.003193 +vn -0.004375 -0.999981 0.004235 +vn -0.003298 -0.866054 0.499940 +vn -0.415521 -0.809125 0.415524 +vn -0.415521 -0.809125 0.415524 +vn -0.003298 -0.866054 0.499940 +vn -0.003298 -0.499981 0.866030 +vn -0.415527 -0.415531 0.809117 +vn -0.415527 -0.415531 0.809117 +vn -0.809126 -0.415519 0.415523 +vn -0.415521 -0.809125 0.415524 +vn 0.866050 -0.499948 0.003193 +vn 0.000000 -0.718456 0.695573 +vn 0.866056 -0.003298 0.499936 +vn 0.809127 -0.415516 0.415524 +vn 0.809127 -0.415516 0.415524 +vn 0.866056 -0.003298 0.499936 +vn 0.499979 -0.003298 0.866031 +vn 0.415524 -0.415531 0.809119 +vn 0.499979 -0.003298 0.866031 +vn 0.004374 -0.004374 0.999981 +vn 0.003298 -0.499981 0.866030 +vn 0.415524 -0.415531 0.809119 +vn 0.415524 -0.415531 0.809119 +vn 0.003298 -0.499981 0.866030 +vn 0.003297 -0.866054 0.499940 +vn 0.415516 -0.809126 0.415525 +vn 0.003297 -0.866054 0.499940 +vn 0.004375 -0.999981 0.004235 +vn 0.499948 -0.866050 0.003193 +vn 0.415516 -0.809126 0.415525 +vn 0.415516 -0.809126 0.415525 +vn 0.499948 -0.866050 0.003193 +vn 0.866050 -0.499948 0.003193 +vn 0.809127 -0.415516 0.415524 +vn 0.809127 -0.415516 0.415524 +vn 0.415524 -0.415531 0.809119 +vn 0.415516 -0.809126 0.415525 +vn -0.003297 0.866055 0.499939 +vn -0.718467 0.000000 0.695561 +vn -0.499949 0.866049 0.003193 +vn -0.415516 0.809126 0.415527 +vn -0.415516 0.809126 0.415527 +vn -0.499949 0.866049 0.003193 +vn -0.866049 0.499948 0.003193 +vn -0.809126 0.415518 0.415524 +vn -0.866049 0.499948 0.003193 +vn -0.999981 0.004375 0.004235 +vn -0.866057 0.003298 0.499935 +vn -0.809126 0.415518 0.415524 +vn -0.809126 0.415518 0.415524 +vn -0.866057 0.003298 0.499935 +vn -0.499979 0.003298 0.866031 +vn -0.415525 0.415533 0.809118 +vn -0.499979 0.003298 0.866031 +vn -0.004374 0.004374 0.999981 +vn -0.003298 0.499980 0.866031 +vn -0.415525 0.415533 0.809118 +vn -0.415525 0.415533 0.809118 +vn -0.003298 0.499980 0.866031 +vn -0.003297 0.866055 0.499939 +vn -0.415516 0.809126 0.415527 +vn -0.415516 0.809126 0.415527 +vn -0.809126 0.415518 0.415524 +vn -0.415525 0.415533 0.809118 +vn 0.866057 0.003298 0.499935 +vn 0.000000 0.718466 0.695562 +vn 0.866049 0.499950 0.003193 +vn 0.809127 0.415516 0.415524 +vn 0.809127 0.415516 0.415524 +vn 0.866049 0.499950 0.003193 +vn 0.499950 0.866049 0.003193 +vn 0.415521 0.809123 0.415527 +vn 0.499950 0.866049 0.003193 +vn 0.718467 0.000000 0.695561 +vn 0.003298 0.866055 0.499939 +vn 0.415521 0.809123 0.415527 +vn 0.415521 0.809123 0.415527 +vn 0.003298 0.866055 0.499939 +vn 0.003298 0.499980 0.866031 +vn 0.415529 0.415531 0.809116 +vn 0.003298 0.499980 0.866031 +vn 0.004374 0.004374 0.999981 +vn 0.499979 0.003298 0.866031 +vn 0.415529 0.415531 0.809116 +vn 0.415529 0.415531 0.809116 +vn 0.499979 0.003298 0.866031 +vn 0.866057 0.003298 0.499935 +vn 0.809127 0.415516 0.415524 +vn 0.809127 0.415516 0.415524 +vn 0.415521 0.809123 0.415527 +vn 0.415529 0.415531 0.809116 +vn -0.718467 0.000000 0.695561 +vn -0.003297 0.866055 0.499939 +vn 0.003298 0.866055 0.499939 +vn 0.718467 0.000000 0.695561 +vn -0.003297 0.866055 0.499939 +vn -0.003298 0.499980 0.866031 +vn 0.003298 0.499980 0.866031 +vn 0.003298 0.866055 0.499939 +vn -0.003298 0.499980 0.866031 +vn -0.004374 0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn 0.003298 0.499980 0.866031 +vn -0.004374 0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn 0.004374 -0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn -0.003298 -0.499981 0.866030 +vn 0.003298 -0.499981 0.866030 +vn 0.004374 -0.004374 0.999981 +vn -0.003298 -0.499981 0.866030 +vn -0.003298 -0.866054 0.499940 +vn 0.003297 -0.866054 0.499940 +vn 0.003298 -0.499981 0.866030 +vn -0.003298 -0.866054 0.499940 +vn -0.004375 -0.999981 0.004235 +vn 0.004375 -0.999981 0.004235 +vn 0.003297 -0.866054 0.499940 +vn -0.999990 -0.004392 0.000000 +vn -0.866027 -0.499997 0.000000 +vn -0.866049 -0.499948 0.003193 +vn -0.999981 -0.004375 0.004235 +vn -0.866027 -0.499997 0.000000 +vn -0.500020 -0.866014 0.000000 +vn -0.499949 -0.866049 0.003193 +vn -0.866049 -0.499948 0.003193 +vn -0.500020 -0.866014 0.000000 +vn -0.004393 -0.999990 0.000000 +vn -0.004375 -0.999981 0.004235 +vn -0.499949 -0.866049 0.003193 +vn 0.000000 1.000000 0.000000 +vn 0.866026 0.499999 0.000000 +vn 0.866049 0.499950 0.003193 +vn 0.000000 0.718466 0.695562 +vn 0.866026 0.499999 0.000000 +vn 0.499999 0.866026 0.000000 +vn 0.499950 0.866049 0.003193 +vn 0.866049 0.499950 0.003193 +vn 0.499999 0.866026 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.718467 0.000000 0.695561 +vn 0.499950 0.866049 0.003193 +vn -1.000000 0.000000 0.000000 +vn -0.499998 0.866027 0.000000 +vn -0.499949 0.866049 0.003193 +vn -0.718467 0.000000 0.695561 +vn -0.499998 0.866027 0.000000 +vn -0.866027 0.499997 0.000000 +vn -0.866049 0.499948 0.003193 +vn -0.499949 0.866049 0.003193 +vn -0.866027 0.499997 0.000000 +vn -0.999990 0.004392 0.000000 +vn -0.999981 0.004375 0.004235 +vn -0.866049 0.499948 0.003193 +vn -0.999981 0.004375 0.004235 +vn -0.999990 0.004392 0.000000 +vn -0.999990 -0.004392 0.000000 +vn -0.999981 -0.004375 0.004235 +vn 0.000000 0.718466 0.695562 +vn 0.866057 0.003298 0.499935 +vn 0.866056 -0.003298 0.499936 +vn 0.000000 -0.718456 0.695573 +vn 0.866057 0.003298 0.499935 +vn 0.499979 0.003298 0.866031 +vn 0.499979 -0.003298 0.866031 +vn 0.866056 -0.003298 0.499936 +vn 0.499979 0.003298 0.866031 +vn 0.004374 0.004374 0.999981 +vn 0.004374 -0.004374 0.999981 +vn 0.499979 -0.003298 0.866031 +vn -0.004374 0.004374 0.999981 +vn -0.499979 0.003298 0.866031 +vn -0.499979 -0.003298 0.866031 +vn -0.004374 -0.004374 0.999981 +vn -0.499979 0.003298 0.866031 +vn -0.866057 0.003298 0.499935 +vn -0.866056 -0.003298 0.499936 +vn -0.499979 -0.003298 0.866031 +vn -0.866057 0.003298 0.499935 +vn -0.999981 0.004375 0.004235 +vn -0.999981 -0.004375 0.004235 +vn -0.866056 -0.003298 0.499936 +vn -0.003298 -0.499981 0.866030 +vn -0.004374 -0.004374 0.999981 +vn -0.499979 -0.003298 0.866031 +vn -0.415528 -0.415530 0.809118 +vn -0.415528 -0.415530 0.809118 +vn -0.499979 -0.003298 0.866031 +vn -0.866056 -0.003298 0.499936 +vn -0.809127 -0.415516 0.415523 +vn -0.866056 -0.003298 0.499936 +vn 0.000000 -0.718456 0.695573 +vn -0.866050 -0.499948 0.003193 +vn -0.809127 -0.415516 0.415523 +vn -0.809127 -0.415516 0.415523 +vn -0.866050 -0.499948 0.003193 +vn -0.499948 -0.866050 0.003193 +vn -0.415521 -0.809124 0.415524 +vn -0.499948 -0.866050 0.003193 +vn -0.004375 -0.999981 0.004235 +vn -0.003298 -0.866054 0.499940 +vn -0.415521 -0.809124 0.415524 +vn -0.415521 -0.809124 0.415524 +vn -0.003298 -0.866054 0.499940 +vn -0.003298 -0.499981 0.866030 +vn -0.415528 -0.415530 0.809118 +vn -0.415528 -0.415530 0.809118 +vn -0.809127 -0.415516 0.415523 +vn -0.415521 -0.809124 0.415524 +vn 0.866050 -0.499947 0.003193 +vn 0.999981 -0.004374 0.004235 +vn 0.866056 -0.003298 0.499936 +vn 0.809128 -0.415515 0.415524 +vn 0.809128 -0.415515 0.415524 +vn 0.866056 -0.003298 0.499936 +vn 0.499979 -0.003298 0.866031 +vn 0.415523 -0.415532 0.809119 +vn 0.499979 -0.003298 0.866031 +vn 0.004374 -0.004374 0.999981 +vn 0.003298 -0.499981 0.866030 +vn 0.415523 -0.415532 0.809119 +vn 0.415523 -0.415532 0.809119 +vn 0.003298 -0.499981 0.866030 +vn 0.003297 -0.866054 0.499940 +vn 0.415517 -0.809126 0.415526 +vn 0.003297 -0.866054 0.499940 +vn 0.004375 -0.999981 0.004235 +vn 0.499949 -0.866049 0.003193 +vn 0.415517 -0.809126 0.415526 +vn 0.415517 -0.809126 0.415526 +vn 0.499949 -0.866049 0.003193 +vn 0.866050 -0.499947 0.003193 +vn 0.809128 -0.415515 0.415524 +vn 0.809128 -0.415515 0.415524 +vn 0.415523 -0.415532 0.809119 +vn 0.415517 -0.809126 0.415526 +vn -0.003297 0.866055 0.499939 +vn -0.004375 0.999981 0.004235 +vn -0.499950 0.866049 0.003193 +vn -0.415516 0.809126 0.415526 +vn -0.415516 0.809126 0.415526 +vn -0.499950 0.866049 0.003193 +vn -0.866049 0.499950 0.003193 +vn -0.809127 0.415516 0.415525 +vn -0.866049 0.499950 0.003193 +vn 0.000000 0.718466 0.695562 +vn -0.866057 0.003298 0.499935 +vn -0.809127 0.415516 0.415525 +vn -0.809127 0.415516 0.415525 +vn -0.866057 0.003298 0.499935 +vn -0.499979 0.003298 0.866031 +vn -0.415525 0.415532 0.809118 +vn -0.499979 0.003298 0.866031 +vn -0.004374 0.004374 0.999981 +vn -0.003298 0.499980 0.866031 +vn -0.415525 0.415532 0.809118 +vn -0.415525 0.415532 0.809118 +vn -0.003298 0.499980 0.866031 +vn -0.003297 0.866055 0.499939 +vn -0.415516 0.809126 0.415526 +vn -0.415516 0.809126 0.415526 +vn -0.809127 0.415516 0.415525 +vn -0.415525 0.415532 0.809118 +vn 0.866057 0.003298 0.499935 +vn 0.999981 0.004374 0.004235 +vn 0.866050 0.499947 0.003193 +vn 0.809126 0.415518 0.415524 +vn 0.809126 0.415518 0.415524 +vn 0.866050 0.499947 0.003193 +vn 0.499946 0.866051 0.003193 +vn 0.415521 0.809123 0.415527 +vn 0.499946 0.866051 0.003193 +vn 0.004375 0.999981 0.004235 +vn 0.003298 0.866055 0.499939 +vn 0.415521 0.809123 0.415527 +vn 0.415521 0.809123 0.415527 +vn 0.003298 0.866055 0.499939 +vn 0.003298 0.499980 0.866031 +vn 0.415529 0.415534 0.809115 +vn 0.003298 0.499980 0.866031 +vn 0.004374 0.004374 0.999981 +vn 0.499979 0.003298 0.866031 +vn 0.415529 0.415534 0.809115 +vn 0.415529 0.415534 0.809115 +vn 0.499979 0.003298 0.866031 +vn 0.866057 0.003298 0.499935 +vn 0.809126 0.415518 0.415524 +vn 0.809126 0.415518 0.415524 +vn 0.415521 0.809123 0.415527 +vn 0.415529 0.415534 0.809115 +vn 0.003298 0.866055 0.499939 +vn 0.004375 0.999981 0.004235 +vn -0.004375 0.999981 0.004235 +vn -0.003297 0.866055 0.499939 +vn 0.003298 0.499980 0.866031 +vn 0.003298 0.866055 0.499939 +vn -0.003297 0.866055 0.499939 +vn -0.003298 0.499980 0.866031 +vn 0.004374 0.004374 0.999981 +vn 0.003298 0.499980 0.866031 +vn -0.003298 0.499980 0.866031 +vn -0.004374 0.004374 0.999981 +vn 0.004374 -0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn -0.004374 0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn 0.003298 -0.499981 0.866030 +vn 0.004374 -0.004374 0.999981 +vn -0.004374 -0.004374 0.999981 +vn -0.003298 -0.499981 0.866030 +vn 0.003297 -0.866054 0.499940 +vn 0.003298 -0.499981 0.866030 +vn -0.003298 -0.499981 0.866030 +vn -0.003298 -0.866054 0.499940 +vn 0.004375 -0.999981 0.004235 +vn 0.003297 -0.866054 0.499940 +vn -0.003298 -0.866054 0.499940 +vn -0.004375 -0.999981 0.004235 +vn 0.004393 -0.999990 0.000000 +vn 0.500020 -0.866014 0.000000 +vn 0.499949 -0.866049 0.003193 +vn 0.004375 -0.999981 0.004235 +vn 0.500020 -0.866014 0.000000 +vn 0.866028 -0.499996 0.000000 +vn 0.866050 -0.499947 0.003193 +vn 0.499949 -0.866049 0.003193 +vn 0.866028 -0.499996 0.000000 +vn 0.999990 -0.004392 0.000000 +vn 0.999981 -0.004374 0.004235 +vn 0.866050 -0.499947 0.003193 +vn 0.999990 0.004392 0.000000 +vn 0.866028 0.499996 0.000000 +vn 0.866050 0.499947 0.003193 +vn 0.999981 0.004374 0.004235 +vn 0.866028 0.499996 0.000000 +vn 0.499995 0.866028 0.000000 +vn 0.499946 0.866051 0.003193 +vn 0.866050 0.499947 0.003193 +vn 0.499995 0.866028 0.000000 +vn 0.004392 0.999990 0.000000 +vn 0.004375 0.999981 0.004235 +vn 0.499946 0.866051 0.003193 +vn 0.004375 0.999981 0.004235 +vn 0.004392 0.999990 0.000000 +vn -0.004392 0.999990 0.000000 +vn -0.004375 0.999981 0.004235 +vn -0.004392 0.999990 0.000000 +vn -0.499999 0.866026 0.000000 +vn -0.499950 0.866049 0.003193 +vn -0.004375 0.999981 0.004235 +vn -0.499999 0.866026 0.000000 +vn -0.866026 0.499999 0.000000 +vn -0.866049 0.499950 0.003193 +vn -0.499950 0.866049 0.003193 +vn -0.866026 0.499999 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.718466 0.695562 +vn -0.866049 0.499950 0.003193 +vn 0.999990 -0.004392 0.000000 +vn 0.999990 0.004392 0.000000 +vn 0.999981 0.004374 0.004235 +vn 0.999981 -0.004374 0.004235 +vn 0.999981 0.004374 0.004235 +vn 0.866057 0.003298 0.499935 +vn 0.866056 -0.003298 0.499936 +vn 0.999981 -0.004374 0.004235 +vn 0.866057 0.003298 0.499935 +vn 0.499979 0.003298 0.866031 +vn 0.499979 -0.003298 0.866031 +vn 0.866056 -0.003298 0.499936 +vn 0.499979 0.003298 0.866031 +vn 0.004374 0.004374 0.999981 +vn 0.004374 -0.004374 0.999981 +vn 0.499979 -0.003298 0.866031 +vn -0.004374 0.004374 0.999981 +vn -0.499979 0.003298 0.866031 +vn -0.499979 -0.003298 0.866031 +vn -0.004374 -0.004374 0.999981 +vn -0.499979 0.003298 0.866031 +vn -0.866057 0.003298 0.499935 +vn -0.866056 -0.003298 0.499936 +vn -0.499979 -0.003298 0.866031 +vn -0.866057 0.003298 0.499935 +vn 0.000000 0.718466 0.695562 +vn 0.000000 -0.718456 0.695573 +vn -0.866056 -0.003298 0.499936 +vn -0.004375 -0.999981 0.004235 +vn -0.004392 -0.999990 0.000000 +vn 0.004392 -0.999990 0.000000 +vn 0.004375 -0.999981 0.004235 +vn 0.000000 -0.718456 0.695573 +vn 0.866050 -0.499948 0.003193 +vn 0.866027 -0.499997 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.499948 -0.866050 0.003193 +vn 0.004375 -0.999981 0.004235 +vn 0.004392 -0.999990 0.000000 +vn 0.499997 -0.866027 0.000000 +vn 0.866050 -0.499948 0.003193 +vn 0.499948 -0.866050 0.003193 +vn 0.499997 -0.866027 0.000000 +vn 0.866027 -0.499997 0.000000 +vn -0.866050 -0.499948 0.003193 +vn 0.000000 -0.718456 0.695573 +vn 0.000000 -1.000000 0.000000 +vn -0.866027 -0.499997 0.000000 +vn -0.499948 -0.866050 0.003193 +vn -0.866050 -0.499948 0.003193 +vn -0.866027 -0.499997 0.000000 +vn -0.499997 -0.866027 0.000000 +vn -0.004375 -0.999981 0.004235 +vn -0.499948 -0.866050 0.003193 +vn -0.499997 -0.866027 0.000000 +vn -0.004392 -0.999990 0.000000 +vn -0.004393 -0.999990 0.000000 +vn 0.004392 -0.999990 0.000000 +vn 0.004375 -0.999981 0.004235 +vn -0.004375 -0.999981 0.004235 +vn -0.004392 -0.999990 0.000000 +vn 0.004393 -0.999990 0.000000 +vn 0.004375 -0.999981 0.004235 +vn -0.004375 -0.999981 0.004235 +vn -0.004374 0.004374 0.999981 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn -0.258798 0.000000 0.965931 +vn -0.258798 0.000000 0.965931 +vn -0.004374 0.004374 0.999981 +vn -0.499942 0.003298 0.866053 +vn -0.707105 0.000000 0.707109 +vn -0.707105 0.000000 0.707109 +vn -0.499942 0.003298 0.866053 +vn -0.866052 0.003298 0.499943 +vn -0.982333 0.134450 0.130175 +vn -0.965931 0.000000 0.258798 +vn -0.965931 0.000000 0.258798 +vn -0.866052 0.003298 0.499943 +vn 0.000000 0.000000 1.000000 +vn 0.004374 -0.004374 0.999981 +vn 0.004374 0.004374 0.999981 +vn 0.000000 0.000000 1.000000 +vn 0.004374 0.004374 0.999981 +vn 0.003298 0.499941 0.866053 +vn 0.000000 0.258855 0.965916 +vn 0.000000 0.258855 0.965916 +vn 0.003298 0.499941 0.866053 +vn 0.003298 0.866030 0.499982 +vn 0.000000 0.706961 0.707252 +vn 0.000000 0.706961 0.707252 +vn 0.003298 0.866030 0.499982 +vn 0.004375 0.999981 0.004236 +vn 0.000000 0.965931 0.258799 +vn 0.000000 0.965931 0.258799 +vn 0.004392 0.999990 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.004375 0.999981 0.004236 +vn 0.000000 0.965921 0.258837 +vn 0.000000 0.965921 0.258837 +vn 0.000000 0.965921 0.258837 +vn 0.000000 0.965921 0.258837 +vn -0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn 0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn 0.005447 -0.499911 0.866060 +vn 0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn 0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn 0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn 0.007145 0.999876 0.014006 +vn 0.499807 0.866071 0.010655 +vn 0.499807 0.866071 -0.010655 +vn 0.007145 0.999876 -0.014006 +vn 0.499807 0.866071 0.010655 +vn 0.866050 0.499845 0.010655 +vn 0.866050 0.499845 -0.010656 +vn 0.499807 0.866071 -0.010655 +vn 0.866050 0.499845 -0.010656 +vn 0.866050 0.499845 0.010655 +vn 0.999806 0.013919 0.013919 +vn 0.999806 0.013919 -0.013919 +vn 0.866048 -0.010655 0.499848 +vn 0.999806 -0.013919 0.013919 +vn 0.999806 0.013919 0.013919 +vn 0.866048 0.010655 0.499848 +vn 0.499806 -0.010655 0.866072 +vn 0.866048 -0.010655 0.499848 +vn 0.866048 0.010655 0.499848 +vn 0.499806 0.010655 0.866072 +vn 0.007145 -0.014005 0.999876 +vn 0.499806 -0.010655 0.866072 +vn 0.499806 0.010655 0.866072 +vn 0.007145 0.014005 0.999876 +vn 0.999806 -0.013919 0.013919 +vn 0.866050 -0.499845 0.010655 +vn 0.866050 -0.499845 -0.010656 +vn 0.999806 -0.013919 -0.013919 +vn 0.866050 -0.499845 0.010655 +vn 0.499807 -0.866071 0.010655 +vn 0.499807 -0.866071 -0.010655 +vn 0.866050 -0.499845 -0.010656 +vn 0.499807 -0.866071 0.010655 +vn 0.007145 -0.999876 0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.499807 -0.866071 -0.010655 +vn -0.005447 0.866061 -0.499908 +vn -0.007145 0.999876 -0.014006 +vn 0.007145 0.999876 -0.014006 +vn 0.005447 0.866061 -0.499908 +vn -0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn 0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn -0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn 0.005447 0.499911 -0.866060 +vn 0.007145 0.014005 -0.999876 +vn 0.499806 -0.010654 -0.866072 +vn 0.007145 -0.014005 -0.999876 +vn 0.007145 0.014005 -0.999876 +vn 0.499806 0.010655 -0.866072 +vn 0.866048 -0.010655 -0.499848 +vn 0.499806 -0.010654 -0.866072 +vn 0.499806 0.010655 -0.866072 +vn 0.866048 0.010655 -0.499848 +vn 0.999806 -0.013919 -0.013919 +vn 0.866048 -0.010655 -0.499848 +vn 0.866048 0.010655 -0.499848 +vn 0.999806 0.013919 -0.013919 +vn -0.005447 -0.499911 -0.866060 +vn -0.007145 -0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn 0.005447 -0.499911 -0.866060 +vn -0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn 0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn -0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn 0.005447 -0.866061 -0.499908 +vn 0.007145 -0.999876 -0.014006 +vn 0.007145 0.014005 0.999876 +vn -0.007145 0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn -0.007145 -0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn 0.007145 0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn -0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 0.014006 +vn 0.007145 0.999876 0.014006 +vn 0.007145 0.999876 -0.014006 +vn 0.866048 0.010655 0.499848 +vn 0.999806 0.013919 0.013919 +vn 0.866050 0.499845 0.010655 +vn 0.809117 0.415527 0.415532 +vn 0.809117 0.415527 0.415532 +vn 0.866050 0.499845 0.010655 +vn 0.499807 0.866071 0.010655 +vn 0.415516 0.809128 0.415522 +vn 0.499807 0.866071 0.010655 +vn 0.007145 0.999876 0.014006 +vn 0.005447 0.866061 0.499908 +vn 0.415516 0.809128 0.415522 +vn 0.415516 0.809128 0.415522 +vn 0.005447 0.866061 0.499908 +vn 0.005447 0.499911 0.866060 +vn 0.415519 0.415517 0.809129 +vn 0.005447 0.499911 0.866060 +vn 0.007145 0.014005 0.999876 +vn 0.499806 0.010655 0.866072 +vn 0.415519 0.415517 0.809129 +vn 0.415519 0.415517 0.809129 +vn 0.499806 0.010655 0.866072 +vn 0.866048 0.010655 0.499848 +vn 0.809117 0.415527 0.415532 +vn 0.809117 0.415527 0.415532 +vn 0.415516 0.809128 0.415522 +vn 0.415519 0.415517 0.809129 +vn 0.005447 -0.866061 0.499908 +vn 0.007145 -0.999876 0.014006 +vn 0.499807 -0.866071 0.010655 +vn 0.415515 -0.809129 0.415522 +vn 0.415515 -0.809129 0.415522 +vn 0.499807 -0.866071 0.010655 +vn 0.866050 -0.499845 0.010655 +vn 0.809118 -0.415526 0.415531 +vn 0.866050 -0.499845 0.010655 +vn 0.999806 -0.013919 0.013919 +vn 0.866048 -0.010655 0.499848 +vn 0.809118 -0.415526 0.415531 +vn 0.809118 -0.415526 0.415531 +vn 0.866048 -0.010655 0.499848 +vn 0.499806 -0.010655 0.866072 +vn 0.415519 -0.415518 0.809129 +vn 0.499806 -0.010655 0.866072 +vn 0.007145 -0.014005 0.999876 +vn 0.005447 -0.499911 0.866060 +vn 0.415519 -0.415518 0.809129 +vn 0.415519 -0.415518 0.809129 +vn 0.005447 -0.499911 0.866060 +vn 0.005447 -0.866061 0.499908 +vn 0.415515 -0.809129 0.415522 +vn 0.415515 -0.809129 0.415522 +vn 0.809118 -0.415526 0.415531 +vn 0.415519 -0.415518 0.809129 +vn 0.499806 0.010655 -0.866072 +vn 0.007145 0.014005 -0.999876 +vn 0.005447 0.499911 -0.866060 +vn 0.415519 0.415517 -0.809129 +vn 0.415519 0.415517 -0.809129 +vn 0.005447 0.499911 -0.866060 +vn 0.005447 0.866061 -0.499908 +vn 0.415512 0.809131 -0.415519 +vn 0.005447 0.866061 -0.499908 +vn 0.007145 0.999876 -0.014006 +vn 0.499807 0.866071 -0.010655 +vn 0.415512 0.809131 -0.415519 +vn 0.415512 0.809131 -0.415519 +vn 0.499807 0.866071 -0.010655 +vn 0.866050 0.499845 -0.010656 +vn 0.809117 0.415527 -0.415532 +vn 0.866050 0.499845 -0.010656 +vn 0.999806 0.013919 -0.013919 +vn 0.866048 0.010655 -0.499848 +vn 0.809117 0.415527 -0.415532 +vn 0.809117 0.415527 -0.415532 +vn 0.866048 0.010655 -0.499848 +vn 0.499806 0.010655 -0.866072 +vn 0.415519 0.415517 -0.809129 +vn 0.415519 0.415517 -0.809129 +vn 0.415512 0.809131 -0.415519 +vn 0.809117 0.415527 -0.415532 +vn 0.499807 -0.866071 -0.010655 +vn 0.007145 -0.999876 -0.014006 +vn 0.005447 -0.866061 -0.499908 +vn 0.415514 -0.809131 -0.415519 +vn 0.415514 -0.809131 -0.415519 +vn 0.005447 -0.866061 -0.499908 +vn 0.005447 -0.499911 -0.866060 +vn 0.415521 -0.415511 -0.809131 +vn 0.005447 -0.499911 -0.866060 +vn 0.007145 -0.014005 -0.999876 +vn 0.499806 -0.010654 -0.866072 +vn 0.415521 -0.415511 -0.809131 +vn 0.415521 -0.415511 -0.809131 +vn 0.499806 -0.010654 -0.866072 +vn 0.866048 -0.010655 -0.499848 +vn 0.809119 -0.415522 -0.415533 +vn 0.866048 -0.010655 -0.499848 +vn 0.999806 -0.013919 -0.013919 +vn 0.866050 -0.499845 -0.010656 +vn 0.809119 -0.415522 -0.415533 +vn 0.809119 -0.415522 -0.415533 +vn 0.866050 -0.499845 -0.010656 +vn 0.499807 -0.866071 -0.010655 +vn 0.415514 -0.809131 -0.415519 +vn 0.415514 -0.809131 -0.415519 +vn 0.415521 -0.415511 -0.809131 +vn 0.809119 -0.415522 -0.415533 +vn 0.999806 -0.013919 0.013919 +vn 0.999806 -0.013919 -0.013919 +vn 0.999806 0.013919 -0.013919 +vn 0.999806 0.013919 0.013919 +vn 0.866048 0.010655 0.499848 +vn 0.999806 0.013919 0.013919 +vn 0.866050 0.499845 0.010655 +vn 0.809117 0.415527 0.415532 +vn 0.809117 0.415527 0.415532 +vn 0.866050 0.499845 0.010655 +vn 0.499807 0.866071 0.010655 +vn 0.415516 0.809128 0.415522 +vn 0.499807 0.866071 0.010655 +vn 0.007145 0.999876 0.014006 +vn 0.005447 0.866061 0.499908 +vn 0.415516 0.809128 0.415522 +vn 0.415516 0.809128 0.415522 +vn 0.005447 0.866061 0.499908 +vn 0.005447 0.499911 0.866060 +vn 0.415519 0.415517 0.809129 +vn 0.005447 0.499911 0.866060 +vn 0.007145 0.014005 0.999876 +vn 0.499806 0.010655 0.866072 +vn 0.415519 0.415517 0.809129 +vn 0.415519 0.415517 0.809129 +vn 0.499806 0.010655 0.866072 +vn 0.866048 0.010655 0.499848 +vn 0.809117 0.415527 0.415532 +vn 0.809117 0.415527 0.415532 +vn 0.415516 0.809128 0.415522 +vn 0.415519 0.415517 0.809129 +vn 0.005447 -0.866061 0.499908 +vn 0.007145 -0.999876 0.014006 +vn 0.499807 -0.866071 0.010655 +vn 0.415515 -0.809129 0.415522 +vn 0.415515 -0.809129 0.415522 +vn 0.499807 -0.866071 0.010655 +vn 0.866050 -0.499845 0.010655 +vn 0.809118 -0.415526 0.415531 +vn 0.866050 -0.499845 0.010655 +vn 0.999806 -0.013919 0.013919 +vn 0.866048 -0.010655 0.499848 +vn 0.809118 -0.415526 0.415531 +vn 0.809118 -0.415526 0.415531 +vn 0.866048 -0.010655 0.499848 +vn 0.499806 -0.010655 0.866072 +vn 0.415519 -0.415518 0.809129 +vn 0.499806 -0.010655 0.866072 +vn 0.007145 -0.014005 0.999876 +vn 0.005447 -0.499911 0.866060 +vn 0.415519 -0.415518 0.809129 +vn 0.415519 -0.415518 0.809129 +vn 0.005447 -0.499911 0.866060 +vn 0.005447 -0.866061 0.499908 +vn 0.415515 -0.809129 0.415522 +vn 0.415515 -0.809129 0.415522 +vn 0.809118 -0.415526 0.415531 +vn 0.415519 -0.415518 0.809129 +vn 0.499806 0.010655 -0.866072 +vn 0.007145 0.014005 -0.999876 +vn 0.005447 0.499911 -0.866060 +vn 0.415519 0.415517 -0.809129 +vn 0.415519 0.415517 -0.809129 +vn 0.005447 0.499911 -0.866060 +vn 0.005447 0.866061 -0.499908 +vn 0.415512 0.809131 -0.415519 +vn 0.005447 0.866061 -0.499908 +vn 0.007145 0.999876 -0.014006 +vn 0.499807 0.866071 -0.010655 +vn 0.415512 0.809131 -0.415519 +vn 0.415512 0.809131 -0.415519 +vn 0.499807 0.866071 -0.010655 +vn 0.866050 0.499845 -0.010656 +vn 0.809117 0.415527 -0.415532 +vn 0.866050 0.499845 -0.010656 +vn 0.999806 0.013919 -0.013919 +vn 0.866048 0.010655 -0.499848 +vn 0.809117 0.415527 -0.415532 +vn 0.809117 0.415527 -0.415532 +vn 0.866048 0.010655 -0.499848 +vn 0.499806 0.010655 -0.866072 +vn 0.415519 0.415517 -0.809129 +vn 0.415519 0.415517 -0.809129 +vn 0.415512 0.809131 -0.415519 +vn 0.809117 0.415527 -0.415532 +vn 0.499807 -0.866071 -0.010655 +vn 0.007145 -0.999876 -0.014006 +vn 0.005447 -0.866061 -0.499908 +vn 0.415514 -0.809131 -0.415519 +vn 0.415514 -0.809131 -0.415519 +vn 0.005447 -0.866061 -0.499908 +vn 0.005447 -0.499911 -0.866060 +vn 0.415521 -0.415511 -0.809131 +vn 0.005447 -0.499911 -0.866060 +vn 0.007145 -0.014005 -0.999876 +vn 0.499806 -0.010654 -0.866072 +vn 0.415521 -0.415511 -0.809131 +vn 0.415521 -0.415511 -0.809131 +vn 0.499806 -0.010654 -0.866072 +vn 0.866048 -0.010655 -0.499848 +vn 0.809119 -0.415522 -0.415533 +vn 0.866048 -0.010655 -0.499848 +vn 0.999806 -0.013919 -0.013919 +vn 0.866050 -0.499845 -0.010656 +vn 0.809119 -0.415522 -0.415533 +vn 0.809119 -0.415522 -0.415533 +vn 0.866050 -0.499845 -0.010656 +vn 0.499807 -0.866071 -0.010655 +vn 0.415514 -0.809131 -0.415519 +vn 0.415514 -0.809131 -0.415519 +vn 0.415521 -0.415511 -0.809131 +vn 0.809119 -0.415522 -0.415533 +vn 0.007145 0.014005 -0.999876 +vn 0.499806 0.010655 -0.866072 +vn 0.499806 -0.010654 -0.866072 +vn 0.007145 -0.014005 -0.999876 +vn 0.499806 0.010655 -0.866072 +vn 0.866048 0.010655 -0.499848 +vn 0.866048 -0.010655 -0.499848 +vn 0.499806 -0.010654 -0.866072 +vn 0.866048 0.010655 -0.499848 +vn 0.999806 0.013919 -0.013919 +vn 0.999806 -0.013919 -0.013919 +vn 0.866048 -0.010655 -0.499848 +vn 0.999806 -0.013919 0.013919 +vn 0.999806 -0.013919 -0.013919 +vn 0.999806 0.013919 -0.013919 +vn 0.999806 0.013919 0.013919 +vn 0.999806 0.013919 0.013919 +vn 0.866048 0.010655 0.499848 +vn 0.866048 -0.010655 0.499848 +vn 0.999806 -0.013919 0.013919 +vn 0.866048 0.010655 0.499848 +vn 0.499806 0.010655 0.866072 +vn 0.499806 -0.010655 0.866072 +vn 0.866048 -0.010655 0.499848 +vn 0.499806 0.010655 0.866072 +vn 0.007145 0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn 0.499806 -0.010655 0.866072 +vn -0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn 0.005447 0.866061 0.499908 +vn 0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn 0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn 0.007145 0.014005 0.999876 +vn -0.007145 0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn 0.005447 -0.499911 0.866060 +vn 0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn 0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn 0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn 0.005447 -0.866061 -0.499908 +vn 0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn 0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn -0.007145 -0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn 0.005447 -0.499911 -0.866060 +vn -0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn 0.005447 0.499911 -0.866060 +vn 0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn 0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn -0.007145 0.999876 -0.014006 +vn 0.007145 0.999876 -0.014006 +vn 0.005447 0.866061 -0.499908 +vn 0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 0.014006 +vn 0.007145 0.999876 0.014006 +vn -0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.499807 -0.866071 -0.010655 +vn 0.499807 -0.866071 0.010655 +vn 0.007145 -0.999876 0.014006 +vn 0.499807 -0.866071 -0.010655 +vn 0.866050 -0.499845 -0.010656 +vn 0.866050 -0.499845 0.010655 +vn 0.499807 -0.866071 0.010655 +vn 0.866050 -0.499845 -0.010656 +vn 0.999806 -0.013919 -0.013919 +vn 0.999806 -0.013919 0.013919 +vn 0.866050 -0.499845 0.010655 +vn 0.999806 0.013919 -0.013919 +vn 0.866050 0.499845 -0.010656 +vn 0.866050 0.499845 0.010655 +vn 0.999806 0.013919 0.013919 +vn 0.866050 0.499845 -0.010656 +vn 0.499807 0.866071 -0.010655 +vn 0.499807 0.866071 0.010655 +vn 0.866050 0.499845 0.010655 +vn 0.499807 0.866071 -0.010655 +vn 0.007145 0.999876 -0.014006 +vn 0.007145 0.999876 0.014006 +vn 0.499807 0.866071 0.010655 +vn 0.866048 0.010655 0.499848 +vn 0.999806 0.013919 0.013919 +vn 0.866050 0.499845 0.010655 +vn 0.809117 0.415527 0.415532 +vn 0.809117 0.415527 0.415532 +vn 0.866050 0.499845 0.010655 +vn 0.499807 0.866071 0.010655 +vn 0.415516 0.809128 0.415522 +vn 0.499807 0.866071 0.010655 +vn 0.007145 0.999876 0.014006 +vn 0.005447 0.866061 0.499908 +vn 0.415516 0.809128 0.415522 +vn 0.415516 0.809128 0.415522 +vn 0.005447 0.866061 0.499908 +vn 0.005447 0.499911 0.866060 +vn 0.415519 0.415517 0.809129 +vn 0.005447 0.499911 0.866060 +vn 0.007145 0.014005 0.999876 +vn 0.499806 0.010655 0.866072 +vn 0.415519 0.415517 0.809129 +vn 0.415519 0.415517 0.809129 +vn 0.499806 0.010655 0.866072 +vn 0.866048 0.010655 0.499848 +vn 0.809117 0.415527 0.415532 +vn 0.809117 0.415527 0.415532 +vn 0.415516 0.809128 0.415522 +vn 0.415519 0.415517 0.809129 +vn 0.005447 -0.866061 0.499908 +vn 0.007145 -0.999876 0.014006 +vn 0.499807 -0.866071 0.010655 +vn 0.415515 -0.809129 0.415522 +vn 0.415515 -0.809129 0.415522 +vn 0.499807 -0.866071 0.010655 +vn 0.866050 -0.499845 0.010655 +vn 0.809118 -0.415526 0.415531 +vn 0.866050 -0.499845 0.010655 +vn 0.999806 -0.013919 0.013919 +vn 0.866048 -0.010655 0.499848 +vn 0.809118 -0.415526 0.415531 +vn 0.809118 -0.415526 0.415531 +vn 0.866048 -0.010655 0.499848 +vn 0.499806 -0.010655 0.866072 +vn 0.415519 -0.415518 0.809129 +vn 0.499806 -0.010655 0.866072 +vn 0.007145 -0.014005 0.999876 +vn 0.005447 -0.499911 0.866060 +vn 0.415519 -0.415518 0.809129 +vn 0.415519 -0.415518 0.809129 +vn 0.005447 -0.499911 0.866060 +vn 0.005447 -0.866061 0.499908 +vn 0.415515 -0.809129 0.415522 +vn 0.415515 -0.809129 0.415522 +vn 0.809118 -0.415526 0.415531 +vn 0.415519 -0.415518 0.809129 +vn 0.499806 0.010655 -0.866072 +vn 0.007145 0.014005 -0.999876 +vn 0.005447 0.499911 -0.866060 +vn 0.415519 0.415517 -0.809129 +vn 0.415519 0.415517 -0.809129 +vn 0.005447 0.499911 -0.866060 +vn 0.005447 0.866061 -0.499908 +vn 0.415512 0.809131 -0.415519 +vn 0.005447 0.866061 -0.499908 +vn 0.007145 0.999876 -0.014006 +vn 0.499807 0.866071 -0.010655 +vn 0.415512 0.809131 -0.415519 +vn 0.415512 0.809131 -0.415519 +vn 0.499807 0.866071 -0.010655 +vn 0.866050 0.499845 -0.010656 +vn 0.809117 0.415527 -0.415532 +vn 0.866050 0.499845 -0.010656 +vn 0.999806 0.013919 -0.013919 +vn 0.866048 0.010655 -0.499848 +vn 0.809117 0.415527 -0.415532 +vn 0.809117 0.415527 -0.415532 +vn 0.866048 0.010655 -0.499848 +vn 0.499806 0.010655 -0.866072 +vn 0.415519 0.415517 -0.809129 +vn 0.415519 0.415517 -0.809129 +vn 0.415512 0.809131 -0.415519 +vn 0.809117 0.415527 -0.415532 +vn 0.499807 -0.866071 -0.010655 +vn 0.007145 -0.999876 -0.014006 +vn 0.005447 -0.866061 -0.499908 +vn 0.415514 -0.809131 -0.415519 +vn 0.415514 -0.809131 -0.415519 +vn 0.005447 -0.866061 -0.499908 +vn 0.005447 -0.499911 -0.866060 +vn 0.415521 -0.415511 -0.809131 +vn 0.005447 -0.499911 -0.866060 +vn 0.007145 -0.014005 -0.999876 +vn 0.499806 -0.010654 -0.866072 +vn 0.415521 -0.415511 -0.809131 +vn 0.415521 -0.415511 -0.809131 +vn 0.499806 -0.010654 -0.866072 +vn 0.866048 -0.010655 -0.499848 +vn 0.809119 -0.415522 -0.415533 +vn 0.866048 -0.010655 -0.499848 +vn 0.999806 -0.013919 -0.013919 +vn 0.866050 -0.499845 -0.010656 +vn 0.809119 -0.415522 -0.415533 +vn 0.809119 -0.415522 -0.415533 +vn 0.866050 -0.499845 -0.010656 +vn 0.499807 -0.866071 -0.010655 +vn 0.415514 -0.809131 -0.415519 +vn 0.415514 -0.809131 -0.415519 +vn 0.415521 -0.415511 -0.809131 +vn 0.809119 -0.415522 -0.415533 +vn 0.007145 0.014005 -0.999876 +vn 0.499806 0.010655 -0.866072 +vn 0.499806 -0.010654 -0.866072 +vn 0.007145 -0.014005 -0.999876 +vn 0.499806 0.010655 -0.866072 +vn 0.866048 0.010655 -0.499848 +vn 0.866048 -0.010655 -0.499848 +vn 0.499806 -0.010654 -0.866072 +vn 0.866048 0.010655 -0.499848 +vn 0.999806 0.013919 -0.013919 +vn 0.999806 -0.013919 -0.013919 +vn 0.866048 -0.010655 -0.499848 +vn 0.999806 -0.013919 0.013919 +vn 0.999806 -0.013919 -0.013919 +vn 0.999806 0.013919 -0.013919 +vn 0.999806 0.013919 0.013919 +vn 0.999806 0.013919 0.013919 +vn 0.866048 0.010655 0.499848 +vn 0.866048 -0.010655 0.499848 +vn 0.999806 -0.013919 0.013919 +vn 0.866048 0.010655 0.499848 +vn 0.499806 0.010655 0.866072 +vn 0.499806 -0.010655 0.866072 +vn 0.866048 -0.010655 0.499848 +vn 0.499806 0.010655 0.866072 +vn 0.007145 0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn 0.499806 -0.010655 0.866072 +vn -0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn 0.005447 0.866061 0.499908 +vn 0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn 0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn 0.007145 0.014005 0.999876 +vn -0.007145 0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn 0.005447 -0.499911 0.866060 +vn 0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn 0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn 0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn 0.005447 -0.866061 -0.499908 +vn 0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn 0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn -0.007145 -0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn 0.005447 -0.499911 -0.866060 +vn -0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn 0.005447 0.499911 -0.866060 +vn 0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn 0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn -0.007145 0.999876 -0.014006 +vn 0.007145 0.999876 -0.014006 +vn 0.005447 0.866061 -0.499908 +vn -0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.499807 -0.866071 -0.010655 +vn 0.499807 -0.866071 0.010655 +vn 0.007145 -0.999876 0.014006 +vn 0.499807 -0.866071 -0.010655 +vn 0.866050 -0.499845 -0.010656 +vn 0.866050 -0.499845 0.010655 +vn 0.499807 -0.866071 0.010655 +vn 0.866050 -0.499845 -0.010656 +vn 0.999806 -0.013919 -0.013919 +vn 0.999806 -0.013919 0.013919 +vn 0.866050 -0.499845 0.010655 +vn 0.999806 0.013919 -0.013919 +vn 0.866050 0.499845 -0.010656 +vn 0.866050 0.499845 0.010655 +vn 0.999806 0.013919 0.013919 +vn 0.866050 0.499845 -0.010656 +vn 0.499807 0.866071 -0.010655 +vn 0.499807 0.866071 0.010655 +vn 0.866050 0.499845 0.010655 +vn 0.499807 0.866071 -0.010655 +vn 0.007145 0.999876 -0.014006 +vn 0.007145 0.999876 0.014006 +vn 0.499807 0.866071 0.010655 +vn 0.010654 -0.866074 0.499803 +vn 0.007145 0.999876 0.014006 +vn 0.499800 -0.866075 0.010654 +vn 0.415509 -0.809134 0.415517 +vn 0.415509 -0.809134 0.415517 +vn 0.499800 -0.866075 0.010654 +vn 0.866071 -0.499807 0.010655 +vn 0.809128 -0.415516 0.415522 +vn 0.866071 -0.499807 0.010655 +vn 0.999876 -0.007145 0.014006 +vn 0.866061 -0.005447 0.499908 +vn 0.809128 -0.415516 0.415522 +vn 0.809128 -0.415516 0.415522 +vn 0.866061 -0.005447 0.499908 +vn 0.499911 -0.005447 0.866060 +vn 0.415516 -0.415520 0.809129 +vn 0.499911 -0.005447 0.866060 +vn 0.007145 -0.014005 -0.999876 +vn 0.010655 -0.499807 0.866071 +vn 0.415516 -0.415520 0.809129 +vn 0.415516 -0.415520 0.809129 +vn 0.010655 -0.499807 0.866071 +vn 0.010654 -0.866074 0.499803 +vn 0.415509 -0.809134 0.415517 +vn 0.415509 -0.809134 0.415517 +vn 0.809128 -0.415516 0.415522 +vn 0.415516 -0.415520 0.809129 +vn 0.866061 0.005447 0.499908 +vn 0.999876 0.007145 0.014006 +vn 0.866071 0.499807 0.010655 +vn 0.809129 0.415515 0.415522 +vn 0.809129 0.415515 0.415522 +vn 0.866071 0.499807 0.010655 +vn 0.499845 0.866050 0.010655 +vn 0.415526 0.809118 0.415531 +vn 0.499845 0.866050 0.010655 +vn 0.013919 0.999806 0.013919 +vn 0.010655 0.866048 0.499848 +vn 0.415526 0.809118 0.415531 +vn 0.415526 0.809118 0.415531 +vn 0.010655 0.866048 0.499848 +vn 0.010655 0.499806 0.866072 +vn 0.415518 0.415519 0.809129 +vn 0.010655 0.499806 0.866072 +vn 0.007145 0.014005 -0.999876 +vn 0.499911 0.005447 0.866060 +vn 0.415518 0.415519 0.809129 +vn 0.415518 0.415519 0.809129 +vn 0.499911 0.005447 0.866060 +vn 0.866061 0.005447 0.499908 +vn 0.809129 0.415515 0.415522 +vn 0.809129 0.415515 0.415522 +vn 0.415526 0.809118 0.415531 +vn 0.415518 0.415519 0.809129 +vn 0.866071 0.499807 -0.010655 +vn 0.999876 0.007145 -0.014006 +vn 0.866061 0.005447 -0.499908 +vn 0.809131 0.415514 -0.415519 +vn 0.809131 0.415514 -0.415519 +vn 0.866061 0.005447 -0.499908 +vn 0.499911 0.005447 -0.866060 +vn 0.415511 0.415521 -0.809131 +vn 0.499911 0.005447 -0.866060 +vn 0.014005 0.007145 -0.999876 +vn 0.010654 0.499806 -0.866072 +vn 0.415511 0.415521 -0.809131 +vn 0.415511 0.415521 -0.809131 +vn 0.010654 0.499806 -0.866072 +vn 0.010655 0.866048 -0.499848 +vn 0.415522 0.809119 -0.415533 +vn 0.010655 0.866048 -0.499848 +vn 0.013919 0.999806 -0.013919 +vn 0.499845 0.866050 -0.010656 +vn 0.415522 0.809119 -0.415533 +vn 0.415522 0.809119 -0.415533 +vn 0.499845 0.866050 -0.010656 +vn 0.866071 0.499807 -0.010655 +vn 0.809131 0.415514 -0.415519 +vn 0.809131 0.415514 -0.415519 +vn 0.415511 0.415521 -0.809131 +vn 0.415522 0.809119 -0.415533 +vn 0.866061 -0.005447 -0.499908 +vn 0.999876 -0.007145 -0.014006 +vn 0.866071 -0.499807 -0.010655 +vn 0.809131 -0.415512 -0.415519 +vn 0.809131 -0.415512 -0.415519 +vn 0.866071 -0.499807 -0.010655 +vn 0.499800 -0.866076 -0.010654 +vn 0.415510 -0.809134 -0.415515 +vn 0.499800 -0.866076 -0.010654 +vn 0.007145 0.999876 -0.014006 +vn 0.010654 -0.866074 -0.499803 +vn 0.415510 -0.809134 -0.415515 +vn 0.415510 -0.809134 -0.415515 +vn 0.010654 -0.866074 -0.499803 +vn 0.010655 -0.499807 -0.866071 +vn 0.415517 -0.415519 -0.809129 +vn 0.010655 -0.499807 -0.866071 +vn 0.014005 -0.007145 -0.999876 +vn 0.499911 -0.005447 -0.866060 +vn 0.415517 -0.415519 -0.809129 +vn 0.415517 -0.415519 -0.809129 +vn 0.499911 -0.005447 -0.866060 +vn 0.866061 -0.005447 -0.499908 +vn 0.809131 -0.415512 -0.415519 +vn 0.809131 -0.415512 -0.415519 +vn 0.415510 -0.809134 -0.415515 +vn 0.415517 -0.415519 -0.809129 +vn 0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.010654 -0.866074 -0.499803 +vn 0.010654 -0.866074 -0.499803 +vn -0.010654 -0.866074 -0.499803 +vn -0.010654 -0.499807 -0.866071 +vn 0.010655 -0.499807 -0.866071 +vn 0.010654 -0.866074 -0.499803 +vn -0.010654 -0.499807 -0.866071 +vn -0.014005 -0.007145 -0.999876 +vn 0.014005 -0.007145 -0.999876 +vn 0.010655 -0.499807 -0.866071 +vn -0.014005 0.007145 -0.999876 +vn -0.010655 0.499806 -0.866072 +vn 0.010654 0.499806 -0.866072 +vn 0.014005 0.007145 -0.999876 +vn -0.010655 0.499806 -0.866072 +vn -0.010655 0.866048 -0.499848 +vn 0.010655 0.866048 -0.499848 +vn 0.010654 0.499806 -0.866072 +vn -0.010655 0.866048 -0.499848 +vn -0.013919 0.999806 -0.013919 +vn 0.013919 0.999806 -0.013919 +vn 0.010655 0.866048 -0.499848 +vn 0.013919 0.999806 -0.013919 +vn -0.013919 0.999806 -0.013919 +vn -0.013919 0.999806 0.013919 +vn 0.013919 0.999806 0.013919 +vn -0.013919 0.999806 0.013919 +vn -0.010655 0.866048 0.499848 +vn 0.010655 0.866048 0.499848 +vn 0.013919 0.999806 0.013919 +vn -0.010655 0.866048 0.499848 +vn -0.010655 0.499806 0.866072 +vn 0.010655 0.499806 0.866072 +vn 0.010655 0.866048 0.499848 +vn -0.010655 0.499806 0.866072 +vn -0.007145 0.014005 -0.999876 +vn 0.007145 0.014005 -0.999876 +vn 0.010655 0.499806 0.866072 +vn -0.007145 -0.014005 -0.999876 +vn -0.010655 -0.499807 0.866071 +vn 0.010655 -0.499807 0.866071 +vn 0.007145 -0.014005 -0.999876 +vn -0.010655 -0.499807 0.866071 +vn -0.010654 -0.866074 0.499803 +vn 0.010654 -0.866074 0.499803 +vn 0.010655 -0.499807 0.866071 +vn -0.010654 -0.866074 0.499803 +vn -0.007145 0.999876 0.014006 +vn 0.007145 0.999876 0.014006 +vn 0.010654 -0.866074 0.499803 +vn 0.499911 0.005447 0.866060 +vn 0.007145 0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn 0.499911 -0.005447 0.866060 +vn 0.866061 0.005447 0.499908 +vn 0.499911 0.005447 0.866060 +vn 0.499911 -0.005447 0.866060 +vn 0.866061 -0.005447 0.499908 +vn 0.999876 0.007145 0.014006 +vn 0.866061 0.005447 0.499908 +vn 0.866061 -0.005447 0.499908 +vn 0.999876 -0.007145 0.014006 +vn 0.866061 0.005447 -0.499908 +vn 0.999876 0.007145 -0.014006 +vn 0.999876 -0.007145 -0.014006 +vn 0.866061 -0.005447 -0.499908 +vn 0.499911 0.005447 -0.866060 +vn 0.866061 0.005447 -0.499908 +vn 0.866061 -0.005447 -0.499908 +vn 0.499911 -0.005447 -0.866060 +vn 0.014005 0.007145 -0.999876 +vn 0.499911 0.005447 -0.866060 +vn 0.499911 -0.005447 -0.866060 +vn 0.014005 -0.007145 -0.999876 +vn -0.014005 -0.007145 -0.999876 +vn -0.014005 0.007145 -0.999876 +vn 0.014005 0.007145 -0.999876 +vn 0.014005 -0.007145 -0.999876 +vn 0.007145 0.999876 -0.014006 +vn 0.499800 -0.866076 -0.010654 +vn 0.499800 -0.866075 0.010654 +vn 0.007145 0.999876 0.014006 +vn 0.499800 -0.866076 -0.010654 +vn 0.866071 -0.499807 -0.010655 +vn 0.866071 -0.499807 0.010655 +vn 0.499800 -0.866075 0.010654 +vn 0.866071 -0.499807 -0.010655 +vn 0.999876 -0.007145 -0.014006 +vn 0.999876 -0.007145 0.014006 +vn 0.866071 -0.499807 0.010655 +vn 0.999876 0.007145 -0.014006 +vn 0.999876 0.007145 0.014006 +vn 0.999876 -0.007145 0.014006 +vn 0.999876 -0.007145 -0.014006 +vn 0.999876 0.007145 -0.014006 +vn 0.866071 0.499807 -0.010655 +vn 0.866071 0.499807 0.010655 +vn 0.999876 0.007145 0.014006 +vn 0.866071 0.499807 -0.010655 +vn 0.499845 0.866050 -0.010656 +vn 0.499845 0.866050 0.010655 +vn 0.866071 0.499807 0.010655 +vn 0.499845 0.866050 -0.010656 +vn 0.013919 0.999806 -0.013919 +vn 0.013919 0.999806 0.013919 +vn 0.499845 0.866050 0.010655 +vn 0.010654 -0.866074 0.499803 +vn 0.013912 -0.999806 0.013912 +vn 0.499800 -0.866075 0.010654 +vn 0.415509 -0.809134 0.415517 +vn 0.415509 -0.809134 0.415517 +vn 0.499800 -0.866075 0.010654 +vn 0.866071 -0.499807 0.010655 +vn 0.809128 -0.415516 0.415522 +vn 0.866071 -0.499807 0.010655 +vn 0.999876 -0.007145 0.014006 +vn 0.866061 -0.005447 0.499908 +vn 0.809128 -0.415516 0.415522 +vn 0.809128 -0.415516 0.415522 +vn 0.866061 -0.005447 0.499908 +vn 0.499911 -0.005447 0.866060 +vn 0.415516 -0.415520 0.809129 +vn 0.499911 -0.005447 0.866060 +vn 0.007145 -0.014005 -0.999876 +vn 0.010655 -0.499807 0.866071 +vn 0.415516 -0.415520 0.809129 +vn 0.415516 -0.415520 0.809129 +vn 0.010655 -0.499807 0.866071 +vn 0.010654 -0.866074 0.499803 +vn 0.415509 -0.809134 0.415517 +vn 0.415509 -0.809134 0.415517 +vn 0.809128 -0.415516 0.415522 +vn 0.415516 -0.415520 0.809129 +vn 0.866061 0.005447 0.499908 +vn 0.999876 0.007145 0.014006 +vn 0.866071 0.499807 0.010655 +vn 0.809129 0.415515 0.415522 +vn 0.809129 0.415515 0.415522 +vn 0.866071 0.499807 0.010655 +vn 0.499845 0.866050 0.010655 +vn 0.415526 0.809118 0.415531 +vn 0.499845 0.866050 0.010655 +vn 0.013919 0.999806 0.013919 +vn 0.010655 0.866048 0.499848 +vn 0.415526 0.809118 0.415531 +vn 0.415526 0.809118 0.415531 +vn 0.010655 0.866048 0.499848 +vn 0.010655 0.499806 0.866072 +vn 0.415518 0.415519 0.809129 +vn 0.010655 0.499806 0.866072 +vn 0.007145 0.014005 -0.999876 +vn 0.499911 0.005447 0.866060 +vn 0.415518 0.415519 0.809129 +vn 0.415518 0.415519 0.809129 +vn 0.499911 0.005447 0.866060 +vn 0.866061 0.005447 0.499908 +vn 0.809129 0.415515 0.415522 +vn 0.809129 0.415515 0.415522 +vn 0.415526 0.809118 0.415531 +vn 0.415518 0.415519 0.809129 +vn 0.866071 0.499807 -0.010655 +vn 0.999876 0.007145 -0.014006 +vn 0.866061 0.005447 -0.499908 +vn 0.809131 0.415514 -0.415519 +vn 0.809131 0.415514 -0.415519 +vn 0.866061 0.005447 -0.499908 +vn 0.499911 0.005447 -0.866060 +vn 0.415511 0.415521 -0.809131 +vn 0.499911 0.005447 -0.866060 +vn 0.014005 0.007145 -0.999876 +vn 0.010654 0.499806 -0.866072 +vn 0.415511 0.415521 -0.809131 +vn 0.415511 0.415521 -0.809131 +vn 0.010654 0.499806 -0.866072 +vn 0.010655 0.866048 -0.499848 +vn 0.415522 0.809119 -0.415533 +vn 0.010655 0.866048 -0.499848 +vn 0.013919 0.999806 -0.013919 +vn 0.499845 0.866050 -0.010656 +vn 0.415522 0.809119 -0.415533 +vn 0.415522 0.809119 -0.415533 +vn 0.499845 0.866050 -0.010656 +vn 0.866071 0.499807 -0.010655 +vn 0.809131 0.415514 -0.415519 +vn 0.809131 0.415514 -0.415519 +vn 0.415511 0.415521 -0.809131 +vn 0.415522 0.809119 -0.415533 +vn 0.866061 -0.005447 -0.499908 +vn 0.999876 -0.007145 -0.014006 +vn 0.866071 -0.499807 -0.010655 +vn 0.809131 -0.415512 -0.415519 +vn 0.809131 -0.415512 -0.415519 +vn 0.866071 -0.499807 -0.010655 +vn 0.499800 -0.866076 -0.010654 +vn 0.415510 -0.809134 -0.415515 +vn 0.499800 -0.866076 -0.010654 +vn 0.013912 -0.999806 -0.013912 +vn 0.010654 -0.866074 -0.499803 +vn 0.415510 -0.809134 -0.415515 +vn 0.415510 -0.809134 -0.415515 +vn 0.010654 -0.866074 -0.499803 +vn 0.010655 -0.499807 -0.866071 +vn 0.415517 -0.415519 -0.809129 +vn 0.010655 -0.499807 -0.866071 +vn 0.014005 -0.007145 -0.999876 +vn 0.499911 -0.005447 -0.866060 +vn 0.415517 -0.415519 -0.809129 +vn 0.415517 -0.415519 -0.809129 +vn 0.499911 -0.005447 -0.866060 +vn 0.866061 -0.005447 -0.499908 +vn 0.809131 -0.415512 -0.415519 +vn 0.809131 -0.415512 -0.415519 +vn 0.415510 -0.809134 -0.415515 +vn 0.415517 -0.415519 -0.809129 +vn 0.013912 -0.999806 -0.013912 +vn -0.013912 -0.999806 -0.013912 +vn -0.010654 -0.866074 -0.499803 +vn 0.010654 -0.866074 -0.499803 +vn -0.010654 -0.866074 -0.499803 +vn -0.010654 -0.499807 -0.866071 +vn 0.010655 -0.499807 -0.866071 +vn 0.010654 -0.866074 -0.499803 +vn -0.010654 -0.499807 -0.866071 +vn -0.014005 -0.007145 -0.999876 +vn 0.014005 -0.007145 -0.999876 +vn 0.010655 -0.499807 -0.866071 +vn -0.014005 0.007145 -0.999876 +vn -0.010655 0.499806 -0.866072 +vn 0.010654 0.499806 -0.866072 +vn 0.014005 0.007145 -0.999876 +vn -0.010655 0.499806 -0.866072 +vn -0.010655 0.866048 -0.499848 +vn 0.010655 0.866048 -0.499848 +vn 0.010654 0.499806 -0.866072 +vn -0.010655 0.866048 -0.499848 +vn -0.013919 0.999806 -0.013919 +vn 0.013919 0.999806 -0.013919 +vn 0.010655 0.866048 -0.499848 +vn 0.013919 0.999806 -0.013919 +vn -0.013919 0.999806 -0.013919 +vn -0.013919 0.999806 0.013919 +vn 0.013919 0.999806 0.013919 +vn -0.013919 0.999806 0.013919 +vn -0.010655 0.866048 0.499848 +vn 0.010655 0.866048 0.499848 +vn 0.013919 0.999806 0.013919 +vn -0.010655 0.866048 0.499848 +vn -0.010655 0.499806 0.866072 +vn 0.010655 0.499806 0.866072 +vn 0.010655 0.866048 0.499848 +vn -0.010655 0.499806 0.866072 +vn -0.007145 0.014005 -0.999876 +vn 0.007145 0.014005 -0.999876 +vn 0.010655 0.499806 0.866072 +vn -0.007145 -0.014005 -0.999876 +vn -0.010655 -0.499807 0.866071 +vn 0.010655 -0.499807 0.866071 +vn 0.007145 -0.014005 -0.999876 +vn -0.010655 -0.499807 0.866071 +vn -0.010654 -0.866074 0.499803 +vn 0.010654 -0.866074 0.499803 +vn 0.010655 -0.499807 0.866071 +vn -0.010654 -0.866074 0.499803 +vn -0.013912 -0.999806 0.013912 +vn 0.013912 -0.999806 0.013912 +vn 0.010654 -0.866074 0.499803 +vn 0.499911 0.005447 0.866060 +vn 0.007145 0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn 0.499911 -0.005447 0.866060 +vn 0.866061 0.005447 0.499908 +vn 0.499911 0.005447 0.866060 +vn 0.499911 -0.005447 0.866060 +vn 0.866061 -0.005447 0.499908 +vn 0.999876 0.007145 0.014006 +vn 0.866061 0.005447 0.499908 +vn 0.866061 -0.005447 0.499908 +vn 0.999876 -0.007145 0.014006 +vn 0.866061 0.005447 -0.499908 +vn 0.999876 0.007145 -0.014006 +vn 0.999876 -0.007145 -0.014006 +vn 0.866061 -0.005447 -0.499908 +vn 0.499911 0.005447 -0.866060 +vn 0.866061 0.005447 -0.499908 +vn 0.866061 -0.005447 -0.499908 +vn 0.499911 -0.005447 -0.866060 +vn 0.014005 0.007145 -0.999876 +vn 0.499911 0.005447 -0.866060 +vn 0.499911 -0.005447 -0.866060 +vn 0.014005 -0.007145 -0.999876 +vn -0.014005 -0.007145 -0.999876 +vn -0.014005 0.007145 -0.999876 +vn 0.014005 0.007145 -0.999876 +vn 0.014005 -0.007145 -0.999876 +vn 0.013912 -0.999806 -0.013912 +vn 0.499800 -0.866076 -0.010654 +vn 0.499800 -0.866075 0.010654 +vn 0.013912 -0.999806 0.013912 +vn 0.499800 -0.866076 -0.010654 +vn 0.866071 -0.499807 -0.010655 +vn 0.866071 -0.499807 0.010655 +vn 0.499800 -0.866075 0.010654 +vn 0.866071 -0.499807 -0.010655 +vn 0.999876 -0.007145 -0.014006 +vn 0.999876 -0.007145 0.014006 +vn 0.866071 -0.499807 0.010655 +vn 0.999876 -0.007145 0.014006 +vn 0.999876 -0.007145 -0.014006 +vn 0.999876 0.007145 -0.014006 +vn 0.999876 0.007145 0.014006 +vn 0.999876 0.007145 -0.014006 +vn 0.866071 0.499807 -0.010655 +vn 0.866071 0.499807 0.010655 +vn 0.999876 0.007145 0.014006 +vn 0.866071 0.499807 -0.010655 +vn 0.499845 0.866050 -0.010656 +vn 0.499845 0.866050 0.010655 +vn 0.866071 0.499807 0.010655 +vn 0.499845 0.866050 -0.010656 +vn 0.013919 0.999806 -0.013919 +vn 0.013919 0.999806 0.013919 +vn 0.499845 0.866050 0.010655 +vn 0.866048 0.010655 0.499848 +vn 0.999806 0.013919 0.013919 +vn 0.866050 0.499845 0.010655 +vn 0.809117 0.415527 0.415532 +vn 0.809117 0.415527 0.415532 +vn 0.866050 0.499845 0.010655 +vn 0.499807 0.866071 0.010655 +vn 0.415516 0.809128 0.415522 +vn 0.499807 0.866071 0.010655 +vn 0.013912 -0.999806 0.013912 +vn 0.005447 0.866061 0.499908 +vn 0.415516 0.809128 0.415522 +vn 0.415516 0.809128 0.415522 +vn 0.005447 0.866061 0.499908 +vn 0.005447 0.499911 0.866060 +vn 0.415519 0.415517 0.809129 +vn 0.005447 0.499911 0.866060 +vn 0.007145 0.014005 0.999876 +vn 0.499806 0.010655 0.866072 +vn 0.415519 0.415517 0.809129 +vn 0.415519 0.415517 0.809129 +vn 0.499806 0.010655 0.866072 +vn 0.866048 0.010655 0.499848 +vn 0.809117 0.415527 0.415532 +vn 0.809117 0.415527 0.415532 +vn 0.415516 0.809128 0.415522 +vn 0.415519 0.415517 0.809129 +vn 0.005447 -0.866061 0.499908 +vn 0.007145 -0.999876 0.014006 +vn 0.499807 -0.866071 0.010655 +vn 0.415515 -0.809129 0.415522 +vn 0.415515 -0.809129 0.415522 +vn 0.499807 -0.866071 0.010655 +vn 0.866050 -0.499845 0.010655 +vn 0.809118 -0.415526 0.415531 +vn 0.866050 -0.499845 0.010655 +vn 0.999806 -0.013919 0.013919 +vn 0.866048 -0.010655 0.499848 +vn 0.809118 -0.415526 0.415531 +vn 0.809118 -0.415526 0.415531 +vn 0.866048 -0.010655 0.499848 +vn 0.499806 -0.010655 0.866072 +vn 0.415519 -0.415518 0.809129 +vn 0.499806 -0.010655 0.866072 +vn 0.007145 -0.014005 0.999876 +vn 0.005447 -0.499911 0.866060 +vn 0.415519 -0.415518 0.809129 +vn 0.415519 -0.415518 0.809129 +vn 0.005447 -0.499911 0.866060 +vn 0.005447 -0.866061 0.499908 +vn 0.415515 -0.809129 0.415522 +vn 0.415515 -0.809129 0.415522 +vn 0.809118 -0.415526 0.415531 +vn 0.415519 -0.415518 0.809129 +vn 0.499806 0.010655 -0.866072 +vn 0.007145 0.014005 -0.999876 +vn 0.005447 0.499911 -0.866060 +vn 0.415519 0.415517 -0.809129 +vn 0.415519 0.415517 -0.809129 +vn 0.005447 0.499911 -0.866060 +vn 0.005447 0.866061 -0.499908 +vn 0.415512 0.809131 -0.415519 +vn 0.005447 0.866061 -0.499908 +vn 0.013912 -0.999806 -0.013912 +vn 0.499807 0.866071 -0.010655 +vn 0.415512 0.809131 -0.415519 +vn 0.415512 0.809131 -0.415519 +vn 0.499807 0.866071 -0.010655 +vn 0.866050 0.499845 -0.010656 +vn 0.809117 0.415527 -0.415532 +vn 0.866050 0.499845 -0.010656 +vn 0.999806 0.013919 -0.013919 +vn 0.866048 0.010655 -0.499848 +vn 0.809117 0.415527 -0.415532 +vn 0.809117 0.415527 -0.415532 +vn 0.866048 0.010655 -0.499848 +vn 0.499806 0.010655 -0.866072 +vn 0.415519 0.415517 -0.809129 +vn 0.415519 0.415517 -0.809129 +vn 0.415512 0.809131 -0.415519 +vn 0.809117 0.415527 -0.415532 +vn 0.499807 -0.866071 -0.010655 +vn 0.007145 -0.999876 -0.014006 +vn 0.005447 -0.866061 -0.499908 +vn 0.415514 -0.809131 -0.415519 +vn 0.415514 -0.809131 -0.415519 +vn 0.005447 -0.866061 -0.499908 +vn 0.005447 -0.499911 -0.866060 +vn 0.415521 -0.415511 -0.809131 +vn 0.005447 -0.499911 -0.866060 +vn 0.007145 -0.014005 -0.999876 +vn 0.499806 -0.010654 -0.866072 +vn 0.415521 -0.415511 -0.809131 +vn 0.415521 -0.415511 -0.809131 +vn 0.499806 -0.010654 -0.866072 +vn 0.866048 -0.010655 -0.499848 +vn 0.809119 -0.415522 -0.415533 +vn 0.866048 -0.010655 -0.499848 +vn 0.999806 -0.013919 -0.013919 +vn 0.866050 -0.499845 -0.010656 +vn 0.809119 -0.415522 -0.415533 +vn 0.809119 -0.415522 -0.415533 +vn 0.866050 -0.499845 -0.010656 +vn 0.499807 -0.866071 -0.010655 +vn 0.415514 -0.809131 -0.415519 +vn 0.415514 -0.809131 -0.415519 +vn 0.415521 -0.415511 -0.809131 +vn 0.809119 -0.415522 -0.415533 +vn 0.499806 -0.010654 -0.866072 +vn 0.007145 -0.014005 -0.999876 +vn 0.007145 0.014005 -0.999876 +vn 0.499806 0.010655 -0.866072 +vn 0.866048 -0.010655 -0.499848 +vn 0.499806 -0.010654 -0.866072 +vn 0.499806 0.010655 -0.866072 +vn 0.866048 0.010655 -0.499848 +vn 0.999806 -0.013919 -0.013919 +vn 0.866048 -0.010655 -0.499848 +vn 0.866048 0.010655 -0.499848 +vn 0.999806 0.013919 -0.013919 +vn 0.999806 -0.013919 -0.013919 +vn 0.999806 0.013919 -0.013919 +vn 0.999806 0.013919 0.013919 +vn 0.999806 -0.013919 0.013919 +vn 0.866048 -0.010655 0.499848 +vn 0.999806 -0.013919 0.013919 +vn 0.999806 0.013919 0.013919 +vn 0.866048 0.010655 0.499848 +vn 0.499806 -0.010655 0.866072 +vn 0.866048 -0.010655 0.499848 +vn 0.866048 0.010655 0.499848 +vn 0.499806 0.010655 0.866072 +vn 0.007145 -0.014005 0.999876 +vn 0.499806 -0.010655 0.866072 +vn 0.499806 0.010655 0.866072 +vn 0.007145 0.014005 0.999876 +vn -0.013912 -0.999806 0.013912 +vn -0.005447 0.866061 0.499908 +vn 0.005447 0.866061 0.499908 +vn 0.013912 -0.999806 0.013912 +vn -0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn 0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn 0.005447 -0.499911 0.866060 +vn 0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn 0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn 0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn 0.005447 -0.866061 -0.499908 +vn 0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn 0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn -0.007145 -0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn 0.005447 -0.499911 -0.866060 +vn 0.007145 -0.014005 -0.999876 +vn -0.007145 -0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn 0.007145 0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn 0.005447 0.499911 -0.866060 +vn 0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn 0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn -0.013912 -0.999806 -0.013912 +vn 0.013912 -0.999806 -0.013912 +vn 0.005447 0.866061 -0.499908 +vn -0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.499807 -0.866071 -0.010655 +vn 0.499807 -0.866071 0.010655 +vn 0.007145 -0.999876 0.014006 +vn 0.499807 -0.866071 -0.010655 +vn 0.866050 -0.499845 -0.010656 +vn 0.866050 -0.499845 0.010655 +vn 0.499807 -0.866071 0.010655 +vn 0.866050 -0.499845 -0.010656 +vn 0.999806 -0.013919 -0.013919 +vn 0.999806 -0.013919 0.013919 +vn 0.866050 -0.499845 0.010655 +vn 0.999806 0.013919 -0.013919 +vn 0.866050 0.499845 -0.010656 +vn 0.866050 0.499845 0.010655 +vn 0.999806 0.013919 0.013919 +vn 0.866050 0.499845 -0.010656 +vn 0.499807 0.866071 -0.010655 +vn 0.499807 0.866071 0.010655 +vn 0.866050 0.499845 0.010655 +vn 0.499807 0.866071 -0.010655 +vn 0.013912 -0.999806 -0.013912 +vn 0.013912 -0.999806 0.013912 +vn 0.499807 0.866071 0.010655 +vn 0.866048 0.010655 0.499848 +vn 0.999806 0.013919 0.013919 +vn 0.866050 0.499845 0.010655 +vn 0.809117 0.415527 0.415532 +vn 0.809117 0.415527 0.415532 +vn 0.866050 0.499845 0.010655 +vn 0.499807 0.866071 0.010655 +vn 0.415516 0.809128 0.415522 +vn 0.499807 0.866071 0.010655 +vn 0.007145 0.999876 0.014006 +vn 0.005447 0.866061 0.499908 +vn 0.415516 0.809128 0.415522 +vn 0.415516 0.809128 0.415522 +vn 0.005447 0.866061 0.499908 +vn 0.005447 0.499911 0.866060 +vn 0.415519 0.415517 0.809129 +vn 0.005447 0.499911 0.866060 +vn 0.007145 0.014005 0.999876 +vn 0.499806 0.010655 0.866072 +vn 0.415519 0.415517 0.809129 +vn 0.415519 0.415517 0.809129 +vn 0.499806 0.010655 0.866072 +vn 0.866048 0.010655 0.499848 +vn 0.809117 0.415527 0.415532 +vn 0.809117 0.415527 0.415532 +vn 0.415516 0.809128 0.415522 +vn 0.415519 0.415517 0.809129 +vn 0.005447 -0.866061 0.499908 +vn 0.007145 -0.999876 0.014006 +vn 0.499807 -0.866071 0.010655 +vn 0.415515 -0.809129 0.415522 +vn 0.415515 -0.809129 0.415522 +vn 0.499807 -0.866071 0.010655 +vn 0.866050 -0.499845 0.010655 +vn 0.809118 -0.415526 0.415531 +vn 0.866050 -0.499845 0.010655 +vn 0.999806 -0.013919 0.013919 +vn 0.866048 -0.010655 0.499848 +vn 0.809118 -0.415526 0.415531 +vn 0.809118 -0.415526 0.415531 +vn 0.866048 -0.010655 0.499848 +vn 0.499806 -0.010655 0.866072 +vn 0.415519 -0.415518 0.809129 +vn 0.499806 -0.010655 0.866072 +vn 0.007145 -0.014005 0.999876 +vn 0.005447 -0.499911 0.866060 +vn 0.415519 -0.415518 0.809129 +vn 0.415519 -0.415518 0.809129 +vn 0.005447 -0.499911 0.866060 +vn 0.005447 -0.866061 0.499908 +vn 0.415515 -0.809129 0.415522 +vn 0.415515 -0.809129 0.415522 +vn 0.809118 -0.415526 0.415531 +vn 0.415519 -0.415518 0.809129 +vn 0.499806 0.010655 -0.866072 +vn 0.007145 0.014005 -0.999876 +vn 0.005447 0.499911 -0.866060 +vn 0.415519 0.415517 -0.809129 +vn 0.415519 0.415517 -0.809129 +vn 0.005447 0.499911 -0.866060 +vn 0.005447 0.866061 -0.499908 +vn 0.415512 0.809131 -0.415519 +vn 0.005447 0.866061 -0.499908 +vn 0.007145 0.999876 -0.014006 +vn 0.499807 0.866071 -0.010655 +vn 0.415512 0.809131 -0.415519 +vn 0.415512 0.809131 -0.415519 +vn 0.499807 0.866071 -0.010655 +vn 0.866050 0.499845 -0.010656 +vn 0.809117 0.415527 -0.415532 +vn 0.866050 0.499845 -0.010656 +vn 0.999806 0.013919 -0.013919 +vn 0.866048 0.010655 -0.499848 +vn 0.809117 0.415527 -0.415532 +vn 0.809117 0.415527 -0.415532 +vn 0.866048 0.010655 -0.499848 +vn 0.499806 0.010655 -0.866072 +vn 0.415519 0.415517 -0.809129 +vn 0.415519 0.415517 -0.809129 +vn 0.415512 0.809131 -0.415519 +vn 0.809117 0.415527 -0.415532 +vn 0.499807 -0.866071 -0.010655 +vn 0.007145 -0.999876 -0.014006 +vn 0.005447 -0.866061 -0.499908 +vn 0.415514 -0.809131 -0.415519 +vn 0.415514 -0.809131 -0.415519 +vn 0.005447 -0.866061 -0.499908 +vn 0.005447 -0.499911 -0.866060 +vn 0.415521 -0.415511 -0.809131 +vn 0.005447 -0.499911 -0.866060 +vn 0.007145 -0.014005 -0.999876 +vn 0.499806 -0.010654 -0.866072 +vn 0.415521 -0.415511 -0.809131 +vn 0.415521 -0.415511 -0.809131 +vn 0.499806 -0.010654 -0.866072 +vn 0.866048 -0.010655 -0.499848 +vn 0.809119 -0.415522 -0.415533 +vn 0.866048 -0.010655 -0.499848 +vn 0.999806 -0.013919 -0.013919 +vn 0.866050 -0.499845 -0.010656 +vn 0.809119 -0.415522 -0.415533 +vn 0.809119 -0.415522 -0.415533 +vn 0.866050 -0.499845 -0.010656 +vn 0.499807 -0.866071 -0.010655 +vn 0.415514 -0.809131 -0.415519 +vn 0.415514 -0.809131 -0.415519 +vn 0.415521 -0.415511 -0.809131 +vn 0.809119 -0.415522 -0.415533 +vn 0.007145 0.014005 -0.999876 +vn 0.499806 0.010655 -0.866072 +vn 0.499806 -0.010654 -0.866072 +vn 0.007145 -0.014005 -0.999876 +vn 0.499806 0.010655 -0.866072 +vn 0.866048 0.010655 -0.499848 +vn 0.866048 -0.010655 -0.499848 +vn 0.499806 -0.010654 -0.866072 +vn 0.866048 0.010655 -0.499848 +vn 0.999806 0.013919 -0.013919 +vn 0.999806 -0.013919 -0.013919 +vn 0.866048 -0.010655 -0.499848 +vn 0.999806 -0.013919 0.013919 +vn 0.999806 -0.013919 -0.013919 +vn 0.999806 0.013919 -0.013919 +vn 0.999806 0.013919 0.013919 +vn 0.999806 0.013919 0.013919 +vn 0.866048 0.010655 0.499848 +vn 0.866048 -0.010655 0.499848 +vn 0.999806 -0.013919 0.013919 +vn 0.866048 0.010655 0.499848 +vn 0.499806 0.010655 0.866072 +vn 0.499806 -0.010655 0.866072 +vn 0.866048 -0.010655 0.499848 +vn 0.499806 0.010655 0.866072 +vn 0.007145 0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn 0.499806 -0.010655 0.866072 +vn -0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn 0.005447 0.866061 0.499908 +vn 0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn 0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn 0.007145 0.014005 0.999876 +vn -0.007145 0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn 0.005447 -0.499911 0.866060 +vn 0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn 0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn 0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn 0.005447 -0.866061 -0.499908 +vn 0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn 0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn -0.007145 -0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn 0.005447 -0.499911 -0.866060 +vn -0.007145 -0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn 0.007145 0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn 0.005447 0.499911 -0.866060 +vn 0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn 0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn -0.007145 0.999876 -0.014006 +vn 0.007145 0.999876 -0.014006 +vn 0.005447 0.866061 -0.499908 +vn 0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 0.014006 +vn 0.007145 0.999876 0.014006 +vn -0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.499807 -0.866071 -0.010655 +vn 0.499807 -0.866071 0.010655 +vn 0.007145 -0.999876 0.014006 +vn 0.499807 -0.866071 -0.010655 +vn 0.866050 -0.499845 -0.010656 +vn 0.866050 -0.499845 0.010655 +vn 0.499807 -0.866071 0.010655 +vn 0.866050 -0.499845 -0.010656 +vn 0.999806 -0.013919 -0.013919 +vn 0.999806 -0.013919 0.013919 +vn 0.866050 -0.499845 0.010655 +vn 0.999806 0.013919 -0.013919 +vn 0.866050 0.499845 -0.010656 +vn 0.866050 0.499845 0.010655 +vn 0.999806 0.013919 0.013919 +vn 0.866050 0.499845 -0.010656 +vn 0.499807 0.866071 -0.010655 +vn 0.499807 0.866071 0.010655 +vn 0.866050 0.499845 0.010655 +vn 0.499807 0.866071 -0.010655 +vn 0.007145 0.999876 -0.014006 +vn 0.007145 0.999876 0.014006 +vn 0.499807 0.866071 0.010655 +vn -0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn 0.005447 0.866061 0.499908 +vn 0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn 0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn 0.005447 -0.499911 0.866060 +vn 0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn 0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn 0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn 0.007145 0.999876 0.014006 +vn 0.499807 0.866071 0.010655 +vn 0.499807 0.866071 -0.010655 +vn 0.007145 0.999876 -0.014006 +vn 0.499807 0.866071 0.010655 +vn 0.866050 0.499845 0.010655 +vn 0.866050 0.499845 -0.010656 +vn 0.499807 0.866071 -0.010655 +vn 0.866050 0.499845 -0.010656 +vn 0.866050 0.499845 0.010655 +vn 0.999806 0.013919 0.013919 +vn 0.999806 0.013919 -0.013919 +vn 0.866048 -0.010655 0.499848 +vn 0.999806 -0.013919 0.013919 +vn 0.999806 0.013919 0.013919 +vn 0.866048 0.010655 0.499848 +vn 0.499806 -0.010655 0.866072 +vn 0.866048 -0.010655 0.499848 +vn 0.866048 0.010655 0.499848 +vn 0.499806 0.010655 0.866072 +vn 0.007145 -0.014005 0.999876 +vn 0.499806 -0.010655 0.866072 +vn 0.499806 0.010655 0.866072 +vn 0.007145 0.014005 0.999876 +vn 0.999806 -0.013919 0.013919 +vn 0.866050 -0.499845 0.010655 +vn 0.866050 -0.499845 -0.010656 +vn 0.999806 -0.013919 -0.013919 +vn 0.866050 -0.499845 0.010655 +vn 0.499807 -0.866071 0.010655 +vn 0.499807 -0.866071 -0.010655 +vn 0.866050 -0.499845 -0.010656 +vn 0.499807 -0.866071 0.010655 +vn 0.007145 -0.999876 0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.499807 -0.866071 -0.010655 +vn -0.005447 0.866061 -0.499908 +vn -0.007145 0.999876 -0.014006 +vn 0.007145 0.999876 -0.014006 +vn 0.005447 0.866061 -0.499908 +vn -0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn 0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn -0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn 0.005447 0.499911 -0.866060 +vn 0.007145 0.014005 -0.999876 +vn 0.499806 -0.010654 -0.866072 +vn 0.007145 -0.014005 -0.999876 +vn 0.007145 0.014005 -0.999876 +vn 0.499806 0.010655 -0.866072 +vn 0.866048 -0.010655 -0.499848 +vn 0.499806 -0.010654 -0.866072 +vn 0.499806 0.010655 -0.866072 +vn 0.866048 0.010655 -0.499848 +vn 0.999806 -0.013919 -0.013919 +vn 0.866048 -0.010655 -0.499848 +vn 0.866048 0.010655 -0.499848 +vn 0.999806 0.013919 -0.013919 +vn -0.005447 -0.499911 -0.866060 +vn -0.007145 -0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn 0.005447 -0.499911 -0.866060 +vn -0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn 0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn -0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn 0.005447 -0.866061 -0.499908 +vn 0.007145 -0.999876 -0.014006 +vn 0.007145 0.014005 0.999876 +vn -0.007145 0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn -0.007145 -0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn 0.007145 0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn -0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 0.014006 +vn 0.007145 0.999876 0.014006 +vn 0.007145 0.999876 -0.014006 +vn 0.866048 0.010655 0.499848 +vn 0.999806 0.013919 0.013919 +vn 0.866050 0.499845 0.010655 +vn 0.809117 0.415527 0.415532 +vn 0.809117 0.415527 0.415532 +vn 0.866050 0.499845 0.010655 +vn 0.499807 0.866071 0.010655 +vn 0.415516 0.809128 0.415522 +vn 0.499807 0.866071 0.010655 +vn 0.007145 0.999876 0.014006 +vn 0.005447 0.866061 0.499908 +vn 0.415516 0.809128 0.415522 +vn 0.415516 0.809128 0.415522 +vn 0.005447 0.866061 0.499908 +vn 0.005447 0.499911 0.866060 +vn 0.415519 0.415517 0.809129 +vn 0.005447 0.499911 0.866060 +vn 0.007145 0.014005 0.999876 +vn 0.499806 0.010655 0.866072 +vn 0.415519 0.415517 0.809129 +vn 0.415519 0.415517 0.809129 +vn 0.499806 0.010655 0.866072 +vn 0.866048 0.010655 0.499848 +vn 0.809117 0.415527 0.415532 +vn 0.809117 0.415527 0.415532 +vn 0.415516 0.809128 0.415522 +vn 0.415519 0.415517 0.809129 +vn 0.005447 -0.866061 0.499908 +vn 0.007145 -0.999876 0.014006 +vn 0.499807 -0.866071 0.010655 +vn 0.415515 -0.809129 0.415522 +vn 0.415515 -0.809129 0.415522 +vn 0.499807 -0.866071 0.010655 +vn 0.866050 -0.499845 0.010655 +vn 0.809118 -0.415526 0.415531 +vn 0.866050 -0.499845 0.010655 +vn 0.999806 -0.013919 0.013919 +vn 0.866048 -0.010655 0.499848 +vn 0.809118 -0.415526 0.415531 +vn 0.809118 -0.415526 0.415531 +vn 0.866048 -0.010655 0.499848 +vn 0.499806 -0.010655 0.866072 +vn 0.415519 -0.415518 0.809129 +vn 0.499806 -0.010655 0.866072 +vn 0.007145 -0.014005 0.999876 +vn 0.005447 -0.499911 0.866060 +vn 0.415519 -0.415518 0.809129 +vn 0.415519 -0.415518 0.809129 +vn 0.005447 -0.499911 0.866060 +vn 0.005447 -0.866061 0.499908 +vn 0.415515 -0.809129 0.415522 +vn 0.415515 -0.809129 0.415522 +vn 0.809118 -0.415526 0.415531 +vn 0.415519 -0.415518 0.809129 +vn 0.499806 0.010655 -0.866072 +vn 0.007145 0.014005 -0.999876 +vn 0.005447 0.499911 -0.866060 +vn 0.415519 0.415517 -0.809129 +vn 0.415519 0.415517 -0.809129 +vn 0.005447 0.499911 -0.866060 +vn 0.005447 0.866061 -0.499908 +vn 0.415512 0.809131 -0.415519 +vn 0.005447 0.866061 -0.499908 +vn 0.007145 0.999876 -0.014006 +vn 0.499807 0.866071 -0.010655 +vn 0.415512 0.809131 -0.415519 +vn 0.415512 0.809131 -0.415519 +vn 0.499807 0.866071 -0.010655 +vn 0.866050 0.499845 -0.010656 +vn 0.809117 0.415527 -0.415532 +vn 0.866050 0.499845 -0.010656 +vn 0.999806 0.013919 -0.013919 +vn 0.866048 0.010655 -0.499848 +vn 0.809117 0.415527 -0.415532 +vn 0.809117 0.415527 -0.415532 +vn 0.866048 0.010655 -0.499848 +vn 0.499806 0.010655 -0.866072 +vn 0.415519 0.415517 -0.809129 +vn 0.415519 0.415517 -0.809129 +vn 0.415512 0.809131 -0.415519 +vn 0.809117 0.415527 -0.415532 +vn 0.499807 -0.866071 -0.010655 +vn 0.007145 -0.999876 -0.014006 +vn 0.005447 -0.866061 -0.499908 +vn 0.415514 -0.809131 -0.415519 +vn 0.415514 -0.809131 -0.415519 +vn 0.005447 -0.866061 -0.499908 +vn 0.005447 -0.499911 -0.866060 +vn 0.415521 -0.415511 -0.809131 +vn 0.005447 -0.499911 -0.866060 +vn 0.007145 -0.014005 -0.999876 +vn 0.499806 -0.010654 -0.866072 +vn 0.415521 -0.415511 -0.809131 +vn 0.415521 -0.415511 -0.809131 +vn 0.499806 -0.010654 -0.866072 +vn 0.866048 -0.010655 -0.499848 +vn 0.809119 -0.415522 -0.415533 +vn 0.866048 -0.010655 -0.499848 +vn 0.999806 -0.013919 -0.013919 +vn 0.866050 -0.499845 -0.010656 +vn 0.809119 -0.415522 -0.415533 +vn 0.809119 -0.415522 -0.415533 +vn 0.866050 -0.499845 -0.010656 +vn 0.499807 -0.866071 -0.010655 +vn 0.415514 -0.809131 -0.415519 +vn 0.415514 -0.809131 -0.415519 +vn 0.415521 -0.415511 -0.809131 +vn 0.809119 -0.415522 -0.415533 +vn 0.999806 -0.013919 0.013919 +vn 0.999806 -0.013919 -0.013919 +vn 0.999806 0.013919 -0.013919 +vn 0.999806 0.013919 0.013919 +vn -0.228887 0.228897 -0.946159 +vn -0.228887 0.228897 -0.946159 +vn -0.228887 0.228897 -0.946159 +vn -0.228887 0.228897 -0.946159 +vn -0.415523 0.415523 -0.809124 +vn -0.499949 0.003298 -0.866049 +vn -0.866046 0.003298 -0.499954 +vn -0.809123 0.415526 -0.415522 +vn -0.866046 0.003298 -0.499954 +vn -0.999981 0.004375 -0.004236 +vn -0.866048 0.499951 -0.003193 +vn -0.809123 0.415526 -0.415522 +vn -0.809123 0.415526 -0.415522 +vn -0.866048 0.499951 -0.003193 +vn -0.499987 0.866027 -0.003193 +vn -0.415535 0.809115 -0.415529 +vn -0.499987 0.866027 -0.003193 +vn -0.004106 0.999983 -0.004237 +vn -0.003094 0.866029 -0.499984 +vn -0.415535 0.809115 -0.415529 +vn -0.415535 0.809115 -0.415529 +vn -0.003094 0.866029 -0.499984 +vn -0.003094 0.499944 -0.866052 +vn -0.415523 0.415523 -0.809124 +vn -0.415523 0.415523 -0.809124 +vn -0.809123 0.415526 -0.415522 +vn -0.415535 0.809115 -0.415529 +vn -0.379838 -0.843472 -0.379839 +vn -0.448014 -0.894020 -0.003348 +vn -0.866048 -0.499951 -0.003193 +vn -0.809123 -0.415527 -0.415521 +vn -0.866048 -0.499951 -0.003193 +vn -0.999981 -0.004375 -0.004236 +vn -0.866046 -0.003298 -0.499954 +vn -0.809123 -0.415527 -0.415521 +vn -0.809123 -0.415527 -0.415521 +vn -0.866046 -0.003298 -0.499954 +vn -0.499949 -0.003298 -0.866049 +vn -0.415518 -0.415526 -0.809125 +vn -0.499949 -0.003298 -0.866049 +vn -0.004105 -0.004375 -0.999982 +vn -0.003094 -0.499943 -0.866053 +vn -0.415518 -0.415526 -0.809125 +vn -0.415518 -0.415526 -0.809125 +vn -0.003094 -0.499943 -0.866053 +vn -0.003245 -0.894022 -0.448012 +vn -0.379838 -0.843472 -0.379839 +vn -0.379838 -0.843472 -0.379839 +vn -0.809123 -0.415527 -0.415521 +vn -0.415518 -0.415526 -0.809125 +vn -0.003245 -0.894022 -0.448012 +vn -0.003094 -0.499943 -0.866053 +vn 0.000000 -0.499991 -0.866031 +vn -0.001063 -0.893976 -0.448113 +vn -0.003094 -0.499943 -0.866053 +vn -0.004105 -0.004375 -0.999982 +vn 0.000000 -0.004393 -0.999990 +vn 0.000000 -0.499991 -0.866031 +vn -0.004105 0.004375 -0.999982 +vn -0.003094 0.499944 -0.866052 +vn 0.000000 0.500014 -0.866018 +vn 0.000000 0.004393 -0.999990 +vn -0.003094 0.499944 -0.866052 +vn -0.003094 0.866029 -0.499984 +vn 0.000000 0.865994 -0.500054 +vn 0.000000 0.500014 -0.866018 +vn -0.003094 0.866029 -0.499984 +vn -0.004106 0.999983 -0.004237 +vn 0.000000 0.999991 -0.004254 +vn 0.000000 0.865994 -0.500054 +vn -0.004122 0.999992 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.999991 -0.004254 +vn -0.004106 0.999983 -0.004237 +vn 0.000000 0.004393 -0.999990 +vn 0.000000 -0.004393 -0.999990 +vn -0.004105 -0.004375 -0.999982 +vn -0.004105 0.004375 -0.999982 +vn -0.004105 -0.004375 -0.999982 +vn -0.499949 -0.003298 -0.866049 +vn -0.499949 0.003298 -0.866049 +vn -0.004105 0.004375 -0.999982 +vn -0.499949 -0.003298 -0.866049 +vn -0.866046 -0.003298 -0.499954 +vn -0.866046 0.003298 -0.499954 +vn -0.499949 0.003298 -0.866049 +vn -0.866046 -0.003298 -0.499954 +vn -0.999981 -0.004375 -0.004236 +vn -0.999981 0.004375 -0.004236 +vn -0.866046 0.003298 -0.499954 +vn -0.999990 -0.004392 0.000000 +vn -0.999990 0.004392 0.000000 +vn -0.999981 0.004375 -0.004236 +vn -0.999981 -0.004375 -0.004236 +vn -0.500037 0.866004 0.000000 +vn -0.004122 0.999992 0.000000 +vn -0.004106 0.999983 -0.004237 +vn -0.499987 0.866027 -0.003193 +vn -0.866025 0.500001 0.000000 +vn -0.500037 0.866004 0.000000 +vn -0.499987 0.866027 -0.003193 +vn -0.866048 0.499951 -0.003193 +vn -0.999990 0.004392 0.000000 +vn -0.866025 0.500001 0.000000 +vn -0.866048 0.499951 -0.003193 +vn -0.999981 0.004375 -0.004236 +vn -0.866025 -0.500001 0.000000 +vn -0.999990 -0.004392 0.000000 +vn -0.999981 -0.004375 -0.004236 +vn -0.866048 -0.499951 -0.003193 +vn -0.448089 -0.893988 -0.001097 +vn -0.866025 -0.500001 0.000000 +vn -0.866048 -0.499951 -0.003193 +vn -0.448014 -0.894020 -0.003348 +vn -0.003245 -0.894022 -0.448012 +vn -0.003194 -0.990953 -0.134172 +vn -0.448014 -0.894020 -0.003348 +vn -0.379838 -0.843472 -0.379839 +vn -0.002041 -0.990874 -0.134776 +vn -0.003194 -0.990953 -0.134172 +vn -0.003245 -0.894022 -0.448012 +vn -0.001063 -0.893976 -0.448113 +vn -0.003194 -0.990953 -0.134172 +vn -0.134781 -0.990873 -0.002107 +vn -0.448089 -0.893988 -0.001097 +vn -0.448014 -0.894020 -0.003348 +vn -0.866068 -0.499884 -0.006507 +vn -0.866031 -0.499990 0.000000 +vn -0.999957 -0.009238 0.000000 +vn -0.999921 -0.009164 -0.008568 +vn -0.499880 -0.866070 -0.006507 +vn -0.499985 -0.866034 0.000000 +vn -0.866031 -0.499990 0.000000 +vn -0.866068 -0.499884 -0.006507 +vn -0.258726 -0.965951 0.000000 +vn -0.499985 -0.866034 0.000000 +vn -0.499880 -0.866070 -0.006507 +vn -0.137493 -0.982126 -0.128549 +vn -0.999921 -0.009164 -0.008568 +vn -0.999921 0.009164 -0.008568 +vn -0.866061 0.006959 -0.499890 +vn -0.866061 -0.006959 -0.499890 +vn -0.866061 -0.006959 -0.499890 +vn -0.866061 0.006959 -0.499890 +vn -0.499888 0.006959 -0.866062 +vn -0.499887 -0.006959 -0.866063 +vn -0.499887 -0.006959 -0.866063 +vn -0.499888 0.006959 -0.866062 +vn -0.009159 0.009159 -0.999916 +vn -0.009159 -0.009159 -0.999916 +vn -0.499925 0.866044 -0.006507 +vn -0.500031 0.866008 0.000000 +vn -0.009239 0.999957 0.000000 +vn -0.009165 0.999921 -0.008569 +vn -0.866068 0.499884 -0.006507 +vn -0.866031 0.499990 0.000000 +vn -0.500031 0.866008 0.000000 +vn -0.499925 0.866044 -0.006507 +vn -0.999921 0.009164 -0.008568 +vn -0.999957 0.009238 0.000000 +vn -0.866031 0.499990 0.000000 +vn -0.866068 0.499884 -0.006507 +vn -0.999957 0.009238 0.000000 +vn -0.999921 0.009164 -0.008568 +vn -0.999921 -0.009164 -0.008568 +vn -0.999957 -0.009238 0.000000 +vn -0.499880 -0.866070 -0.006507 +vn -0.415522 -0.809128 -0.415515 +vn -0.006958 -0.866072 -0.499871 +vn -0.137493 -0.982126 -0.128549 +vn -0.415522 -0.809128 -0.415515 +vn -0.415517 -0.415523 -0.809127 +vn -0.006959 -0.499877 -0.866069 +vn -0.006958 -0.866072 -0.499871 +vn -0.006959 -0.499877 -0.866069 +vn -0.415517 -0.415523 -0.809127 +vn -0.499887 -0.006959 -0.866063 +vn -0.009159 -0.009159 -0.999916 +vn -0.415517 -0.415523 -0.809127 +vn -0.809129 -0.415522 -0.415514 +vn -0.866061 -0.006959 -0.499890 +vn -0.499887 -0.006959 -0.866063 +vn -0.866061 -0.006959 -0.499890 +vn -0.809129 -0.415522 -0.415514 +vn -0.866068 -0.499884 -0.006507 +vn -0.999921 -0.009164 -0.008568 +vn -0.809129 -0.415522 -0.415514 +vn -0.415522 -0.809128 -0.415515 +vn -0.499880 -0.866070 -0.006507 +vn -0.866068 -0.499884 -0.006507 +vn -0.415522 -0.809128 -0.415515 +vn -0.809129 -0.415522 -0.415514 +vn -0.415517 -0.415523 -0.809127 +vn -0.499888 0.006959 -0.866062 +vn -0.415517 0.415525 -0.809126 +vn -0.006958 0.499878 -0.866068 +vn -0.009159 0.009159 -0.999916 +vn -0.415517 0.415525 -0.809126 +vn -0.415535 0.809112 -0.415533 +vn -0.006959 0.866044 -0.499920 +vn -0.006958 0.499878 -0.866068 +vn -0.006959 0.866044 -0.499920 +vn -0.415535 0.809112 -0.415533 +vn -0.499925 0.866044 -0.006507 +vn -0.009165 0.999921 -0.008569 +vn -0.415535 0.809112 -0.415533 +vn -0.809132 0.415518 -0.415512 +vn -0.866068 0.499884 -0.006507 +vn -0.499925 0.866044 -0.006507 +vn -0.866068 0.499884 -0.006507 +vn -0.809132 0.415518 -0.415512 +vn -0.866061 0.006959 -0.499890 +vn -0.999921 0.009164 -0.008568 +vn -0.809132 0.415518 -0.415512 +vn -0.415517 0.415525 -0.809126 +vn -0.499888 0.006959 -0.866062 +vn -0.866061 0.006959 -0.499890 +vn -0.415517 0.415525 -0.809126 +vn -0.809132 0.415518 -0.415512 +vn -0.415535 0.809112 -0.415533 +vn -0.009165 0.999921 -0.008569 +vn -0.009239 0.999957 0.000000 +vn 0.009239 0.999957 0.000000 +vn 0.009165 0.999921 -0.008569 +vn -0.006959 0.866044 -0.499920 +vn -0.009165 0.999921 -0.008569 +vn 0.009165 0.999921 -0.008569 +vn 0.006959 0.866044 -0.499920 +vn -0.006958 0.499878 -0.866068 +vn -0.006959 0.866044 -0.499920 +vn 0.006959 0.866044 -0.499920 +vn 0.006958 0.499878 -0.866068 +vn -0.009159 0.009159 -0.999916 +vn -0.006958 0.499878 -0.866068 +vn 0.006958 0.499878 -0.866068 +vn 0.009159 0.009159 -0.999916 +vn -0.009159 -0.009159 -0.999916 +vn -0.009159 0.009159 -0.999916 +vn 0.009159 0.009159 -0.999916 +vn 0.009159 -0.009159 -0.999916 +vn -0.006959 -0.499877 -0.866069 +vn -0.009159 -0.009159 -0.999916 +vn 0.009159 -0.009159 -0.999916 +vn 0.006959 -0.499877 -0.866069 +vn -0.006958 -0.866072 -0.499871 +vn -0.006959 -0.499877 -0.866069 +vn 0.006959 -0.499877 -0.866069 +vn 0.006958 -0.866072 -0.499871 +vn -0.137493 -0.982126 -0.128549 +vn -0.006958 -0.866072 -0.499871 +vn 0.006958 -0.866072 -0.499871 +vn 0.137494 -0.982125 -0.128550 +vn 0.866066 -0.499887 -0.006507 +vn 0.982112 -0.137544 -0.128596 +vn 0.965925 -0.258821 0.000000 +vn 0.866030 -0.499993 0.000000 +vn 0.499884 -0.866068 -0.006507 +vn 0.866066 -0.499887 -0.006507 +vn 0.866030 -0.499993 0.000000 +vn 0.499989 -0.866032 0.000000 +vn 0.258730 -0.965950 0.000000 +vn 0.137494 -0.982125 -0.128550 +vn 0.499884 -0.866068 -0.006507 +vn 0.499989 -0.866032 0.000000 +vn 0.982112 -0.137544 -0.128596 +vn 0.866061 -0.006959 -0.499890 +vn 0.866061 0.006959 -0.499890 +vn 0.982112 0.137544 -0.128596 +vn 0.866061 -0.006959 -0.499890 +vn 0.499887 -0.006959 -0.866063 +vn 0.499887 0.006959 -0.866063 +vn 0.866061 0.006959 -0.499890 +vn 0.499887 -0.006959 -0.866063 +vn 0.009159 -0.009159 -0.999916 +vn 0.009159 0.009159 -0.999916 +vn 0.499887 0.006959 -0.866063 +vn 0.499929 0.866042 -0.006507 +vn 0.009165 0.999921 -0.008569 +vn 0.009239 0.999957 0.000000 +vn 0.500035 0.866005 0.000000 +vn 0.866066 0.499887 -0.006507 +vn 0.499929 0.866042 -0.006507 +vn 0.500035 0.866005 0.000000 +vn 0.866030 0.499993 0.000000 +vn 0.982112 0.137544 -0.128596 +vn 0.866066 0.499887 -0.006507 +vn 0.866030 0.499993 0.000000 +vn 0.965925 0.258821 0.000000 +vn 0.499884 -0.866068 -0.006507 +vn 0.137494 -0.982125 -0.128550 +vn 0.006958 -0.866072 -0.499871 +vn 0.415518 -0.809129 -0.415517 +vn 0.415518 -0.809129 -0.415517 +vn 0.006958 -0.866072 -0.499871 +vn 0.006959 -0.499877 -0.866069 +vn 0.415517 -0.415524 -0.809126 +vn 0.006959 -0.499877 -0.866069 +vn 0.009159 -0.009159 -0.999916 +vn 0.499887 -0.006959 -0.866063 +vn 0.415517 -0.415524 -0.809126 +vn 0.415517 -0.415524 -0.809126 +vn 0.499887 -0.006959 -0.866063 +vn 0.866061 -0.006959 -0.499890 +vn 0.809126 -0.415524 -0.415518 +vn 0.866061 -0.006959 -0.499890 +vn 0.982112 -0.137544 -0.128596 +vn 0.866066 -0.499887 -0.006507 +vn 0.809126 -0.415524 -0.415518 +vn 0.809126 -0.415524 -0.415518 +vn 0.866066 -0.499887 -0.006507 +vn 0.499884 -0.866068 -0.006507 +vn 0.415518 -0.809129 -0.415517 +vn 0.415518 -0.809129 -0.415517 +vn 0.415517 -0.415524 -0.809126 +vn 0.809126 -0.415524 -0.415518 +vn 0.499887 0.006959 -0.866063 +vn 0.009159 0.009159 -0.999916 +vn 0.006958 0.499878 -0.866068 +vn 0.415517 0.415526 -0.809125 +vn 0.415517 0.415526 -0.809125 +vn 0.006958 0.499878 -0.866068 +vn 0.006959 0.866044 -0.499920 +vn 0.415533 0.809113 -0.415534 +vn 0.006959 0.866044 -0.499920 +vn 0.009165 0.999921 -0.008569 +vn 0.499929 0.866042 -0.006507 +vn 0.415533 0.809113 -0.415534 +vn 0.415533 0.809113 -0.415534 +vn 0.499929 0.866042 -0.006507 +vn 0.866066 0.499887 -0.006507 +vn 0.809128 0.415524 -0.415513 +vn 0.866066 0.499887 -0.006507 +vn 0.982112 0.137544 -0.128596 +vn 0.866061 0.006959 -0.499890 +vn 0.809128 0.415524 -0.415513 +vn 0.809128 0.415524 -0.415513 +vn 0.866061 0.006959 -0.499890 +vn 0.499887 0.006959 -0.866063 +vn 0.415517 0.415526 -0.809125 +vn 0.415517 0.415526 -0.809125 +vn 0.415533 0.809113 -0.415534 +vn 0.809128 0.415524 -0.415513 +vn 0.866066 -0.499887 -0.006507 +vn 0.999921 -0.009164 -0.008568 +vn 0.999957 -0.009238 0.000000 +vn 0.866030 -0.499993 0.000000 +vn 0.499884 -0.866068 -0.006507 +vn 0.866066 -0.499887 -0.006507 +vn 0.866030 -0.499993 0.000000 +vn 0.499989 -0.866032 0.000000 +vn 0.009235 -0.999957 0.000000 +vn 0.009161 -0.999921 -0.008565 +vn 0.499884 -0.866068 -0.006507 +vn 0.499989 -0.866032 0.000000 +vn 0.999921 -0.009164 -0.008568 +vn 0.866061 -0.006959 -0.499890 +vn 0.866061 0.006959 -0.499890 +vn 0.999921 0.009164 -0.008568 +vn 0.866061 -0.006959 -0.499890 +vn 0.499887 -0.006959 -0.866063 +vn 0.499887 0.006959 -0.866063 +vn 0.866061 0.006959 -0.499890 +vn 0.499887 -0.006959 -0.866063 +vn 0.009159 -0.009159 -0.999916 +vn 0.009159 0.009159 -0.999916 +vn 0.499887 0.006959 -0.866063 +vn 0.499929 0.866042 -0.006507 +vn 0.009165 0.999921 -0.008569 +vn 0.009239 0.999957 0.000000 +vn 0.500035 0.866005 0.000000 +vn 0.866066 0.499887 -0.006507 +vn 0.499929 0.866042 -0.006507 +vn 0.500035 0.866005 0.000000 +vn 0.866030 0.499993 0.000000 +vn 0.999921 0.009164 -0.008568 +vn 0.866066 0.499887 -0.006507 +vn 0.866030 0.499993 0.000000 +vn 0.999957 0.009238 0.000000 +vn 0.999957 0.009238 0.000000 +vn 0.999957 -0.009238 0.000000 +vn 0.999921 -0.009164 -0.008568 +vn 0.999921 0.009164 -0.008568 +vn 0.499884 -0.866068 -0.006507 +vn 0.009161 -0.999921 -0.008565 +vn 0.006958 -0.866072 -0.499871 +vn 0.415517 -0.809130 -0.415516 +vn 0.415517 -0.809130 -0.415516 +vn 0.006958 -0.866072 -0.499871 +vn 0.006959 -0.499877 -0.866069 +vn 0.415516 -0.415524 -0.809127 +vn 0.006959 -0.499877 -0.866069 +vn 0.009159 -0.009159 -0.999916 +vn 0.499887 -0.006959 -0.866063 +vn 0.415516 -0.415524 -0.809127 +vn 0.415516 -0.415524 -0.809127 +vn 0.499887 -0.006959 -0.866063 +vn 0.866061 -0.006959 -0.499890 +vn 0.809126 -0.415524 -0.415518 +vn 0.866061 -0.006959 -0.499890 +vn 0.999921 -0.009164 -0.008568 +vn 0.866066 -0.499887 -0.006507 +vn 0.809126 -0.415524 -0.415518 +vn 0.809126 -0.415524 -0.415518 +vn 0.866066 -0.499887 -0.006507 +vn 0.499884 -0.866068 -0.006507 +vn 0.415517 -0.809130 -0.415516 +vn 0.415517 -0.809130 -0.415516 +vn 0.415516 -0.415524 -0.809127 +vn 0.809126 -0.415524 -0.415518 +vn 0.499887 0.006959 -0.866063 +vn 0.009159 0.009159 -0.999916 +vn 0.006959 0.499878 -0.866068 +vn 0.415518 0.415524 -0.809126 +vn 0.415518 0.415524 -0.809126 +vn 0.006959 0.499878 -0.866068 +vn 0.006959 0.866044 -0.499920 +vn 0.415532 0.809114 -0.415533 +vn 0.006959 0.866044 -0.499920 +vn 0.009165 0.999921 -0.008569 +vn 0.499929 0.866042 -0.006507 +vn 0.415532 0.809114 -0.415533 +vn 0.415532 0.809114 -0.415533 +vn 0.499929 0.866042 -0.006507 +vn 0.866066 0.499887 -0.006507 +vn 0.809128 0.415524 -0.415514 +vn 0.866066 0.499887 -0.006507 +vn 0.999921 0.009164 -0.008568 +vn 0.866061 0.006959 -0.499890 +vn 0.809128 0.415524 -0.415514 +vn 0.809128 0.415524 -0.415514 +vn 0.866061 0.006959 -0.499890 +vn 0.499887 0.006959 -0.866063 +vn 0.415518 0.415524 -0.809126 +vn 0.415518 0.415524 -0.809126 +vn 0.415532 0.809114 -0.415533 +vn 0.809128 0.415524 -0.415514 +vn 0.499888 0.866066 -0.006507 +vn 0.009164 0.999921 -0.008568 +vn 0.009238 0.999957 0.000000 +vn 0.499993 0.866029 0.000000 +vn 0.866073 0.499875 -0.006507 +vn 0.499888 0.866066 -0.006507 +vn 0.499993 0.866029 0.000000 +vn 0.866036 0.499981 0.000000 +vn 0.999957 0.009235 0.000000 +vn 0.999921 0.009161 -0.008565 +vn 0.866073 0.499875 -0.006507 +vn 0.866036 0.499981 0.000000 +vn 0.009159 0.009159 -0.999916 +vn 0.499880 0.006959 -0.866067 +vn 0.499880 -0.006959 -0.866067 +vn 0.009159 -0.009159 -0.999916 +vn 0.499880 0.006959 -0.866067 +vn 0.866068 0.006958 -0.499878 +vn 0.866068 -0.006958 -0.499878 +vn 0.499880 -0.006959 -0.866067 +vn 0.866068 0.006958 -0.499878 +vn 0.999921 0.009161 -0.008565 +vn 0.999921 -0.009161 -0.008565 +vn 0.866068 -0.006958 -0.499878 +vn 0.009164 0.999921 -0.008568 +vn 0.006959 0.866063 -0.499887 +vn -0.006959 0.866063 -0.499887 +vn -0.009164 0.999921 -0.008568 +vn 0.006959 0.866063 -0.499887 +vn 0.006959 0.499890 -0.866061 +vn -0.006958 0.499890 -0.866061 +vn -0.006959 0.866063 -0.499887 +vn 0.006959 0.499890 -0.866061 +vn 0.009159 0.009159 -0.999916 +vn -0.009159 0.009159 -0.999916 +vn -0.006958 0.499890 -0.866061 +vn -0.866045 0.499924 -0.006507 +vn -0.999921 0.009165 -0.008569 +vn -0.999957 0.009239 0.000000 +vn -0.866008 0.500030 0.000000 +vn -0.499881 0.866070 -0.006507 +vn -0.866045 0.499924 -0.006507 +vn -0.866008 0.500030 0.000000 +vn -0.499986 0.866034 0.000000 +vn -0.009164 0.999921 -0.008568 +vn -0.499881 0.866070 -0.006507 +vn -0.499986 0.866034 0.000000 +vn -0.009238 0.999957 0.000000 +vn -0.999921 0.009165 -0.008569 +vn -0.866042 0.006959 -0.499923 +vn -0.866042 -0.006958 -0.499923 +vn -0.999921 -0.009165 -0.008569 +vn -0.866042 0.006959 -0.499923 +vn -0.499880 0.006959 -0.866067 +vn -0.499880 -0.006958 -0.866067 +vn -0.866042 -0.006958 -0.499923 +vn -0.499880 0.006959 -0.866067 +vn -0.009159 0.009159 -0.999916 +vn -0.009159 -0.009159 -0.999916 +vn -0.499880 -0.006958 -0.866067 +vn -0.499881 -0.866070 -0.006507 +vn -0.009164 -0.999921 -0.008568 +vn -0.009238 -0.999957 0.000000 +vn -0.499986 -0.866034 0.000000 +vn -0.866045 -0.499924 -0.006508 +vn -0.499881 -0.866070 -0.006507 +vn -0.499986 -0.866034 0.000000 +vn -0.866008 -0.500030 0.000000 +vn -0.999921 -0.009165 -0.008569 +vn -0.866045 -0.499924 -0.006508 +vn -0.866008 -0.500030 0.000000 +vn -0.999957 -0.009239 0.000000 +vn 0.006959 -0.866063 -0.499887 +vn 0.009164 -0.999921 -0.008568 +vn -0.009164 -0.999921 -0.008568 +vn -0.006959 -0.866063 -0.499887 +vn 0.006958 -0.499890 -0.866061 +vn 0.006959 -0.866063 -0.499887 +vn -0.006959 -0.866063 -0.499887 +vn -0.006959 -0.499890 -0.866061 +vn 0.009159 -0.009159 -0.999916 +vn 0.006958 -0.499890 -0.866061 +vn -0.006959 -0.499890 -0.866061 +vn -0.009159 -0.009159 -0.999916 +vn 0.866073 -0.499876 -0.006507 +vn 0.999921 -0.009161 -0.008565 +vn 0.999957 -0.009235 0.000000 +vn 0.866036 -0.499981 0.000000 +vn 0.499888 -0.866066 -0.006507 +vn 0.866073 -0.499876 -0.006507 +vn 0.866036 -0.499981 0.000000 +vn 0.499993 -0.866029 0.000000 +vn 0.009164 -0.999921 -0.008568 +vn 0.499888 -0.866066 -0.006507 +vn 0.499993 -0.866029 0.000000 +vn 0.009238 -0.999957 0.000000 +vn -0.009238 0.999957 0.000000 +vn 0.009238 0.999957 0.000000 +vn 0.009164 0.999921 -0.008568 +vn -0.009164 0.999921 -0.008568 +vn 0.009164 -0.999921 -0.008568 +vn 0.009238 -0.999957 0.000000 +vn -0.009238 -0.999957 0.000000 +vn -0.009164 -0.999921 -0.008568 +vn 0.009159 0.009159 -0.999916 +vn 0.009159 -0.009159 -0.999916 +vn -0.009159 -0.009159 -0.999916 +vn -0.009159 0.009159 -0.999916 +vn 0.866073 0.499875 -0.006507 +vn 0.999921 0.009161 -0.008565 +vn 0.866068 0.006958 -0.499878 +vn 0.809136 0.415505 -0.415517 +vn 0.809136 0.415505 -0.415517 +vn 0.866068 0.006958 -0.499878 +vn 0.499880 0.006959 -0.866067 +vn 0.415511 0.415520 -0.809132 +vn 0.499880 0.006959 -0.866067 +vn 0.009159 0.009159 -0.999916 +vn 0.006959 0.499890 -0.866061 +vn 0.415511 0.415520 -0.809132 +vn 0.415511 0.415520 -0.809132 +vn 0.006959 0.499890 -0.866061 +vn 0.006959 0.866063 -0.499887 +vn 0.415523 0.809128 -0.415516 +vn 0.006959 0.866063 -0.499887 +vn 0.009164 0.999921 -0.008568 +vn 0.499888 0.866066 -0.006507 +vn 0.415523 0.809128 -0.415516 +vn 0.415523 0.809128 -0.415516 +vn 0.499888 0.866066 -0.006507 +vn 0.866073 0.499875 -0.006507 +vn 0.809136 0.415505 -0.415517 +vn 0.809136 0.415505 -0.415517 +vn 0.415511 0.415520 -0.809132 +vn 0.415523 0.809128 -0.415516 +vn -0.006958 0.499890 -0.866061 +vn -0.009159 0.009159 -0.999916 +vn -0.499880 0.006959 -0.866067 +vn -0.415510 0.415520 -0.809132 +vn -0.415510 0.415520 -0.809132 +vn -0.499880 0.006959 -0.866067 +vn -0.866042 0.006959 -0.499923 +vn -0.809117 0.415527 -0.415532 +vn -0.866042 0.006959 -0.499923 +vn -0.999921 0.009165 -0.008569 +vn -0.866045 0.499924 -0.006507 +vn -0.809117 0.415527 -0.415532 +vn -0.809117 0.415527 -0.415532 +vn -0.866045 0.499924 -0.006507 +vn -0.499881 0.866070 -0.006507 +vn -0.415520 0.809128 -0.415517 +vn -0.499881 0.866070 -0.006507 +vn -0.009164 0.999921 -0.008568 +vn -0.006959 0.866063 -0.499887 +vn -0.415520 0.809128 -0.415517 +vn -0.415520 0.809128 -0.415517 +vn -0.006959 0.866063 -0.499887 +vn -0.006958 0.499890 -0.866061 +vn -0.415510 0.415520 -0.809132 +vn -0.415510 0.415520 -0.809132 +vn -0.809117 0.415527 -0.415532 +vn -0.415520 0.809128 -0.415517 +vn -0.499880 -0.006958 -0.866067 +vn -0.009159 -0.009159 -0.999916 +vn -0.006959 -0.499890 -0.866061 +vn -0.415511 -0.415515 -0.809134 +vn -0.415511 -0.415515 -0.809134 +vn -0.006959 -0.499890 -0.866061 +vn -0.006959 -0.866063 -0.499887 +vn -0.415520 -0.809128 -0.415518 +vn -0.006959 -0.866063 -0.499887 +vn -0.009164 -0.999921 -0.008568 +vn -0.499881 -0.866070 -0.006507 +vn -0.415520 -0.809128 -0.415518 +vn -0.415520 -0.809128 -0.415518 +vn -0.499881 -0.866070 -0.006507 +vn -0.866045 -0.499924 -0.006508 +vn -0.809118 -0.415522 -0.415536 +vn -0.866045 -0.499924 -0.006508 +vn -0.999921 -0.009165 -0.008569 +vn -0.866042 -0.006958 -0.499923 +vn -0.809118 -0.415522 -0.415536 +vn -0.809118 -0.415522 -0.415536 +vn -0.866042 -0.006958 -0.499923 +vn -0.499880 -0.006958 -0.866067 +vn -0.415511 -0.415515 -0.809134 +vn -0.415511 -0.415515 -0.809134 +vn -0.415520 -0.809128 -0.415518 +vn -0.809118 -0.415522 -0.415536 +vn 0.006958 -0.499890 -0.866061 +vn 0.009159 -0.009159 -0.999916 +vn 0.499880 -0.006959 -0.866067 +vn 0.415511 -0.415517 -0.809133 +vn 0.415511 -0.415517 -0.809133 +vn 0.499880 -0.006959 -0.866067 +vn 0.866068 -0.006958 -0.499878 +vn 0.809135 -0.415509 -0.415516 +vn 0.866068 -0.006958 -0.499878 +vn 0.999921 -0.009161 -0.008565 +vn 0.866073 -0.499876 -0.006507 +vn 0.809135 -0.415509 -0.415516 +vn 0.809135 -0.415509 -0.415516 +vn 0.866073 -0.499876 -0.006507 +vn 0.499888 -0.866066 -0.006507 +vn 0.415523 -0.809124 -0.415523 +vn 0.499888 -0.866066 -0.006507 +vn 0.009164 -0.999921 -0.008568 +vn 0.006959 -0.866063 -0.499887 +vn 0.415523 -0.809124 -0.415523 +vn 0.415523 -0.809124 -0.415523 +vn 0.006959 -0.866063 -0.499887 +vn 0.006958 -0.499890 -0.866061 +vn 0.415511 -0.415517 -0.809133 +vn 0.415511 -0.415517 -0.809133 +vn 0.809135 -0.415509 -0.415516 +vn 0.415523 -0.809124 -0.415523 +vn -0.999921 0.009165 -0.008569 +vn -0.999921 -0.009165 -0.008569 +vn -0.999957 -0.009239 0.000000 +vn -0.999957 0.009239 0.000000 +vn -0.003298 0.499977 -0.866033 +vn -0.004374 0.004374 -0.999981 +vn -0.499979 0.003298 -0.866031 +vn -0.415528 0.415530 -0.809118 +vn -0.415528 0.415530 -0.809118 +vn -0.499979 0.003298 -0.866031 +vn -0.866057 0.003298 -0.499935 +vn -0.809129 0.415517 -0.415518 +vn -0.866057 0.003298 -0.499935 +vn -0.999981 0.004374 -0.004235 +vn -0.866050 0.499947 -0.003193 +vn -0.809129 0.415517 -0.415518 +vn -0.809129 0.415517 -0.415518 +vn -0.866050 0.499947 -0.003193 +vn -0.499946 0.866051 -0.003193 +vn -0.415524 0.809128 -0.415514 +vn -0.499946 0.866051 -0.003193 +vn -0.004375 0.999981 -0.004235 +vn -0.003298 0.866057 -0.499935 +vn -0.415524 0.809128 -0.415514 +vn -0.415524 0.809128 -0.415514 +vn -0.003298 0.866057 -0.499935 +vn -0.003298 0.499977 -0.866033 +vn -0.415528 0.415530 -0.809118 +vn -0.415528 0.415530 -0.809118 +vn -0.809129 0.415517 -0.415518 +vn -0.415524 0.809128 -0.415514 +vn 0.866050 0.499947 -0.003193 +vn 0.999981 0.004375 -0.004235 +vn 0.866057 0.003297 -0.499935 +vn 0.809132 0.415510 -0.415521 +vn 0.809132 0.415510 -0.415521 +vn 0.866057 0.003297 -0.499935 +vn 0.499979 0.003298 -0.866031 +vn 0.415526 0.415523 -0.809122 +vn 0.499979 0.003298 -0.866031 +vn 0.004374 0.004374 -0.999981 +vn 0.003298 0.499977 -0.866033 +vn 0.415526 0.415523 -0.809122 +vn 0.415526 0.415523 -0.809122 +vn 0.003298 0.499977 -0.866033 +vn 0.003298 0.866056 -0.499936 +vn 0.415516 0.809132 -0.415515 +vn 0.003298 0.866056 -0.499936 +vn 0.004375 0.999981 -0.004235 +vn 0.499953 0.866047 -0.003193 +vn 0.415516 0.809132 -0.415515 +vn 0.415516 0.809132 -0.415515 +vn 0.499953 0.866047 -0.003193 +vn 0.866050 0.499947 -0.003193 +vn 0.809132 0.415510 -0.415521 +vn 0.809132 0.415510 -0.415521 +vn 0.415526 0.415523 -0.809122 +vn 0.415516 0.809132 -0.415515 +vn -0.003297 -0.866053 -0.499941 +vn -0.004375 -0.999981 -0.004235 +vn -0.499946 -0.866051 -0.003193 +vn -0.415519 -0.809129 -0.415517 +vn -0.415519 -0.809129 -0.415517 +vn -0.499946 -0.866051 -0.003193 +vn -0.866050 -0.499947 -0.003193 +vn -0.809130 -0.415515 -0.415518 +vn -0.866050 -0.499947 -0.003193 +vn -0.999981 -0.004374 -0.004235 +vn -0.866057 -0.003298 -0.499935 +vn -0.809130 -0.415515 -0.415518 +vn -0.809130 -0.415515 -0.415518 +vn -0.866057 -0.003298 -0.499935 +vn -0.499979 -0.003298 -0.866031 +vn -0.415525 -0.415532 -0.809118 +vn -0.499979 -0.003298 -0.866031 +vn -0.004374 -0.004374 -0.999981 +vn -0.003298 -0.499984 -0.866029 +vn -0.415525 -0.415532 -0.809118 +vn -0.415525 -0.415532 -0.809118 +vn -0.003298 -0.499984 -0.866029 +vn -0.003297 -0.866053 -0.499941 +vn -0.415519 -0.809129 -0.415517 +vn -0.415519 -0.809129 -0.415517 +vn -0.809130 -0.415515 -0.415518 +vn -0.415525 -0.415532 -0.809118 +vn 0.866057 -0.003297 -0.499935 +vn 0.999981 -0.004375 -0.004235 +vn 0.866050 -0.499947 -0.003193 +vn 0.809130 -0.415516 -0.415518 +vn 0.809130 -0.415516 -0.415518 +vn 0.866050 -0.499947 -0.003193 +vn 0.499953 -0.866047 -0.003193 +vn 0.415521 -0.809131 -0.415512 +vn 0.499953 -0.866047 -0.003193 +vn 0.004375 -0.999981 -0.004235 +vn 0.003298 -0.866053 -0.499941 +vn 0.415521 -0.809131 -0.415512 +vn 0.415521 -0.809131 -0.415512 +vn 0.003298 -0.866053 -0.499941 +vn 0.003298 -0.499984 -0.866029 +vn 0.415529 -0.415527 -0.809118 +vn 0.003298 -0.499984 -0.866029 +vn 0.004374 -0.004374 -0.999981 +vn 0.499979 -0.003298 -0.866031 +vn 0.415529 -0.415527 -0.809118 +vn 0.415529 -0.415527 -0.809118 +vn 0.499979 -0.003298 -0.866031 +vn 0.866057 -0.003297 -0.499935 +vn 0.809130 -0.415516 -0.415518 +vn 0.809130 -0.415516 -0.415518 +vn 0.415521 -0.809131 -0.415512 +vn 0.415529 -0.415527 -0.809118 +vn -0.004375 -0.999981 -0.004235 +vn -0.003297 -0.866053 -0.499941 +vn 0.003298 -0.866053 -0.499941 +vn 0.004375 -0.999981 -0.004235 +vn -0.003297 -0.866053 -0.499941 +vn -0.003298 -0.499984 -0.866029 +vn 0.003298 -0.499984 -0.866029 +vn 0.003298 -0.866053 -0.499941 +vn -0.003298 -0.499984 -0.866029 +vn -0.004374 -0.004374 -0.999981 +vn 0.004374 -0.004374 -0.999981 +vn 0.003298 -0.499984 -0.866029 +vn -0.004374 0.004374 -0.999981 +vn 0.004374 0.004374 -0.999981 +vn 0.004374 -0.004374 -0.999981 +vn -0.004374 -0.004374 -0.999981 +vn -0.004374 0.004374 -0.999981 +vn -0.003298 0.499977 -0.866033 +vn 0.003298 0.499977 -0.866033 +vn 0.004374 0.004374 -0.999981 +vn -0.003298 0.499977 -0.866033 +vn -0.003298 0.866057 -0.499935 +vn 0.003298 0.866056 -0.499936 +vn 0.003298 0.499977 -0.866033 +vn -0.003298 0.866057 -0.499935 +vn -0.004375 0.999981 -0.004235 +vn 0.004375 0.999981 -0.004235 +vn 0.003298 0.866056 -0.499936 +vn -0.999990 0.004392 0.000000 +vn -0.866028 0.499996 0.000000 +vn -0.866050 0.499947 -0.003193 +vn -0.999981 0.004374 -0.004235 +vn -0.866028 0.499996 0.000000 +vn -0.499995 0.866028 0.000000 +vn -0.499946 0.866051 -0.003193 +vn -0.866050 0.499947 -0.003193 +vn -0.499995 0.866028 0.000000 +vn -0.004392 0.999990 0.000000 +vn -0.004375 0.999981 -0.004235 +vn -0.499946 0.866051 -0.003193 +vn -0.004375 0.999981 -0.004235 +vn -0.004392 0.999990 0.000000 +vn 0.004392 0.999990 0.000000 +vn 0.004375 0.999981 -0.004235 +vn 0.004392 0.999990 0.000000 +vn 0.500002 0.866024 0.000000 +vn 0.499953 0.866047 -0.003193 +vn 0.004375 0.999981 -0.004235 +vn 0.500002 0.866024 0.000000 +vn 0.866028 0.499996 0.000000 +vn 0.866050 0.499947 -0.003193 +vn 0.499953 0.866047 -0.003193 +vn 0.866028 0.499996 0.000000 +vn 0.999990 0.004392 0.000000 +vn 0.999981 0.004375 -0.004235 +vn 0.866050 0.499947 -0.003193 +vn 0.999990 -0.004392 0.000000 +vn 0.866028 -0.499996 0.000000 +vn 0.866050 -0.499947 -0.003193 +vn 0.999981 -0.004375 -0.004235 +vn 0.866028 -0.499996 0.000000 +vn 0.500002 -0.866024 0.000000 +vn 0.499953 -0.866047 -0.003193 +vn 0.866050 -0.499947 -0.003193 +vn 0.500002 -0.866024 0.000000 +vn 0.004392 -0.999990 0.000000 +vn 0.004375 -0.999981 -0.004235 +vn 0.499953 -0.866047 -0.003193 +vn 0.004392 -0.999990 0.000000 +vn -0.004392 -0.999990 0.000000 +vn -0.004375 -0.999981 -0.004235 +vn 0.004375 -0.999981 -0.004235 +vn -0.004392 -0.999990 0.000000 +vn -0.499995 -0.866028 0.000000 +vn -0.499946 -0.866051 -0.003193 +vn -0.004375 -0.999981 -0.004235 +vn -0.499995 -0.866028 0.000000 +vn -0.866028 -0.499996 0.000000 +vn -0.866050 -0.499947 -0.003193 +vn -0.499946 -0.866051 -0.003193 +vn -0.866028 -0.499996 0.000000 +vn -0.999990 -0.004392 0.000000 +vn -0.999981 -0.004374 -0.004235 +vn -0.866050 -0.499947 -0.003193 +vn -0.999990 -0.004392 0.000000 +vn -0.999990 0.004392 0.000000 +vn -0.999981 0.004374 -0.004235 +vn -0.999981 -0.004374 -0.004235 +vn 0.999981 0.004375 -0.004235 +vn 0.999990 0.004392 0.000000 +vn 0.999990 -0.004392 0.000000 +vn 0.999981 -0.004375 -0.004235 +vn 0.866057 0.003297 -0.499935 +vn 0.999981 0.004375 -0.004235 +vn 0.999981 -0.004375 -0.004235 +vn 0.866057 -0.003297 -0.499935 +vn 0.499979 0.003298 -0.866031 +vn 0.866057 0.003297 -0.499935 +vn 0.866057 -0.003297 -0.499935 +vn 0.499979 -0.003298 -0.866031 +vn 0.004374 0.004374 -0.999981 +vn 0.499979 0.003298 -0.866031 +vn 0.499979 -0.003298 -0.866031 +vn 0.004374 -0.004374 -0.999981 +vn -0.499979 0.003298 -0.866031 +vn -0.004374 0.004374 -0.999981 +vn -0.004374 -0.004374 -0.999981 +vn -0.499979 -0.003298 -0.866031 +vn -0.866057 0.003298 -0.499935 +vn -0.499979 0.003298 -0.866031 +vn -0.499979 -0.003298 -0.866031 +vn -0.866057 -0.003298 -0.499935 +vn -0.999981 0.004374 -0.004235 +vn -0.866057 0.003298 -0.499935 +vn -0.866057 -0.003298 -0.499935 +vn -0.999981 -0.004374 -0.004235 +vn 0.866066 -0.499887 -0.006507 +vn 0.999921 -0.009164 -0.008568 +vn 0.999957 -0.009238 0.000000 +vn 0.866030 -0.499993 0.000000 +vn 0.499884 -0.866068 -0.006507 +vn 0.866066 -0.499887 -0.006507 +vn 0.866030 -0.499993 0.000000 +vn 0.499989 -0.866032 0.000000 +vn 0.009235 -0.999957 0.000000 +vn 0.009161 -0.999921 -0.008565 +vn 0.499884 -0.866068 -0.006507 +vn 0.499989 -0.866032 0.000000 +vn 0.009159 -0.009159 -0.999916 +vn 0.006959 -0.499877 -0.866069 +vn -0.006959 -0.499877 -0.866069 +vn -0.009159 -0.009159 -0.999916 +vn 0.006959 -0.499877 -0.866069 +vn 0.006958 -0.866072 -0.499871 +vn -0.006958 -0.866072 -0.499871 +vn -0.006959 -0.499877 -0.866069 +vn 0.006958 -0.866072 -0.499871 +vn 0.009161 -0.999921 -0.008565 +vn -0.009161 -0.999921 -0.008565 +vn -0.006958 -0.866072 -0.499871 +vn 0.999921 -0.009164 -0.008568 +vn 0.866061 -0.006959 -0.499890 +vn 0.866061 0.006959 -0.499890 +vn 0.999921 0.009164 -0.008568 +vn 0.866061 -0.006959 -0.499890 +vn 0.499887 -0.006959 -0.866063 +vn 0.499887 0.006959 -0.866063 +vn 0.866061 0.006959 -0.499890 +vn 0.499887 -0.006959 -0.866063 +vn 0.009159 -0.009159 -0.999916 +vn 0.009159 0.009159 -0.999916 +vn 0.499887 0.006959 -0.866063 +vn 0.499929 0.866042 -0.006507 +vn 0.009165 0.999921 -0.008569 +vn 0.009239 0.999957 0.000000 +vn 0.500035 0.866005 0.000000 +vn 0.866066 0.499887 -0.006507 +vn 0.499929 0.866042 -0.006507 +vn 0.500035 0.866005 0.000000 +vn 0.866030 0.499993 0.000000 +vn 0.999921 0.009164 -0.008568 +vn 0.866066 0.499887 -0.006507 +vn 0.866030 0.499993 0.000000 +vn 0.999957 0.009238 0.000000 +vn 0.009165 0.999921 -0.008569 +vn 0.006959 0.866044 -0.499920 +vn -0.006959 0.866044 -0.499920 +vn -0.009165 0.999921 -0.008569 +vn 0.006959 0.866044 -0.499920 +vn 0.006958 0.499877 -0.866069 +vn -0.006959 0.499877 -0.866069 +vn -0.006959 0.866044 -0.499920 +vn 0.006958 0.499877 -0.866069 +vn 0.009159 0.009159 -0.999916 +vn -0.009159 0.009159 -0.999916 +vn -0.006959 0.499877 -0.866069 +vn -0.866066 0.499887 -0.006507 +vn -0.999921 0.009164 -0.008568 +vn -0.999957 0.009238 0.000000 +vn -0.866030 0.499993 0.000000 +vn -0.499929 0.866042 -0.006507 +vn -0.866066 0.499887 -0.006507 +vn -0.866030 0.499993 0.000000 +vn -0.500035 0.866005 0.000000 +vn -0.009165 0.999921 -0.008569 +vn -0.499929 0.866042 -0.006507 +vn -0.500035 0.866005 0.000000 +vn -0.009239 0.999957 0.000000 +vn -0.866061 -0.006959 -0.499890 +vn -0.999921 -0.009164 -0.008568 +vn -0.999921 0.009164 -0.008568 +vn -0.866061 0.006959 -0.499890 +vn -0.499887 -0.006959 -0.866063 +vn -0.866061 -0.006959 -0.499890 +vn -0.866061 0.006959 -0.499890 +vn -0.499887 0.006959 -0.866063 +vn -0.009159 -0.009159 -0.999916 +vn -0.499887 -0.006959 -0.866063 +vn -0.499887 0.006959 -0.866063 +vn -0.009159 0.009159 -0.999916 +vn -0.499884 -0.866068 -0.006507 +vn -0.009161 -0.999921 -0.008565 +vn -0.009235 -0.999957 0.000000 +vn -0.499989 -0.866032 0.000000 +vn -0.866066 -0.499887 -0.006507 +vn -0.499884 -0.866068 -0.006507 +vn -0.499989 -0.866032 0.000000 +vn -0.866030 -0.499993 0.000000 +vn -0.999921 -0.009164 -0.008568 +vn -0.866066 -0.499887 -0.006507 +vn -0.866030 -0.499993 0.000000 +vn -0.999957 -0.009238 0.000000 +vn 0.999957 0.009238 0.000000 +vn 0.999957 -0.009238 0.000000 +vn 0.999921 -0.009164 -0.008568 +vn 0.999921 0.009164 -0.008568 +vn -0.999921 -0.009164 -0.008568 +vn -0.999957 -0.009238 0.000000 +vn -0.999957 0.009238 0.000000 +vn -0.999921 0.009164 -0.008568 +vn 0.009159 -0.009159 -0.999916 +vn -0.009159 -0.009159 -0.999916 +vn -0.009159 0.009159 -0.999916 +vn 0.009159 0.009159 -0.999916 +vn 0.499884 -0.866068 -0.006507 +vn 0.009161 -0.999921 -0.008565 +vn 0.006958 -0.866072 -0.499871 +vn 0.415518 -0.809129 -0.415517 +vn 0.415518 -0.809129 -0.415517 +vn 0.006958 -0.866072 -0.499871 +vn 0.006959 -0.499877 -0.866069 +vn 0.415517 -0.415524 -0.809126 +vn 0.006959 -0.499877 -0.866069 +vn 0.009159 -0.009159 -0.999916 +vn 0.499887 -0.006959 -0.866063 +vn 0.415517 -0.415524 -0.809126 +vn 0.415517 -0.415524 -0.809126 +vn 0.499887 -0.006959 -0.866063 +vn 0.866061 -0.006959 -0.499890 +vn 0.809126 -0.415524 -0.415518 +vn 0.866061 -0.006959 -0.499890 +vn 0.999921 -0.009164 -0.008568 +vn 0.866066 -0.499887 -0.006507 +vn 0.809126 -0.415524 -0.415518 +vn 0.809126 -0.415524 -0.415518 +vn 0.866066 -0.499887 -0.006507 +vn 0.499884 -0.866068 -0.006507 +vn 0.415518 -0.809129 -0.415517 +vn 0.415518 -0.809129 -0.415517 +vn 0.415517 -0.415524 -0.809126 +vn 0.809126 -0.415524 -0.415518 +vn 0.499887 0.006959 -0.866063 +vn 0.009159 0.009159 -0.999916 +vn 0.006958 0.499877 -0.866069 +vn 0.415516 0.415525 -0.809126 +vn 0.415516 0.415525 -0.809126 +vn 0.006958 0.499877 -0.866069 +vn 0.006959 0.866044 -0.499920 +vn 0.415534 0.809114 -0.415531 +vn 0.006959 0.866044 -0.499920 +vn 0.009165 0.999921 -0.008569 +vn 0.499929 0.866042 -0.006507 +vn 0.415534 0.809114 -0.415531 +vn 0.415534 0.809114 -0.415531 +vn 0.499929 0.866042 -0.006507 +vn 0.866066 0.499887 -0.006507 +vn 0.809128 0.415525 -0.415513 +vn 0.866066 0.499887 -0.006507 +vn 0.999921 0.009164 -0.008568 +vn 0.866061 0.006959 -0.499890 +vn 0.809128 0.415525 -0.415513 +vn 0.809128 0.415525 -0.415513 +vn 0.866061 0.006959 -0.499890 +vn 0.499887 0.006959 -0.866063 +vn 0.415516 0.415525 -0.809126 +vn 0.415516 0.415525 -0.809126 +vn 0.415534 0.809114 -0.415531 +vn 0.809128 0.415525 -0.415513 +vn -0.006959 0.499877 -0.866069 +vn -0.009159 0.009159 -0.999916 +vn -0.499887 0.006959 -0.866063 +vn -0.415518 0.415525 -0.809126 +vn -0.415518 0.415525 -0.809126 +vn -0.499887 0.006959 -0.866063 +vn -0.866061 0.006959 -0.499890 +vn -0.809128 0.415525 -0.415512 +vn -0.866061 0.006959 -0.499890 +vn -0.999921 0.009164 -0.008568 +vn -0.866066 0.499887 -0.006507 +vn -0.809128 0.415525 -0.415512 +vn -0.809128 0.415525 -0.415512 +vn -0.866066 0.499887 -0.006507 +vn -0.499929 0.866042 -0.006507 +vn -0.415533 0.809115 -0.415530 +vn -0.499929 0.866042 -0.006507 +vn -0.009165 0.999921 -0.008569 +vn -0.006959 0.866044 -0.499920 +vn -0.415533 0.809115 -0.415530 +vn -0.415533 0.809115 -0.415530 +vn -0.006959 0.866044 -0.499920 +vn -0.006959 0.499877 -0.866069 +vn -0.415518 0.415525 -0.809126 +vn -0.415518 0.415525 -0.809126 +vn -0.809128 0.415525 -0.415512 +vn -0.415533 0.809115 -0.415530 +vn -0.499887 -0.006959 -0.866063 +vn -0.009159 -0.009159 -0.999916 +vn -0.006959 -0.499877 -0.866069 +vn -0.415516 -0.415523 -0.809128 +vn -0.415516 -0.415523 -0.809128 +vn -0.006959 -0.499877 -0.866069 +vn -0.006958 -0.866072 -0.499871 +vn -0.415517 -0.809130 -0.415518 +vn -0.006958 -0.866072 -0.499871 +vn -0.009161 -0.999921 -0.008565 +vn -0.499884 -0.866068 -0.006507 +vn -0.415517 -0.809130 -0.415518 +vn -0.415517 -0.809130 -0.415518 +vn -0.499884 -0.866068 -0.006507 +vn -0.866066 -0.499887 -0.006507 +vn -0.809126 -0.415523 -0.415519 +vn -0.866066 -0.499887 -0.006507 +vn -0.999921 -0.009164 -0.008568 +vn -0.866061 -0.006959 -0.499890 +vn -0.809126 -0.415523 -0.415519 +vn -0.809126 -0.415523 -0.415519 +vn -0.866061 -0.006959 -0.499890 +vn -0.499887 -0.006959 -0.866063 +vn -0.415516 -0.415523 -0.809128 +vn -0.415516 -0.415523 -0.809128 +vn -0.415517 -0.809130 -0.415518 +vn -0.809126 -0.415523 -0.415519 +vn 0.009165 0.999921 -0.008569 +vn -0.009165 0.999921 -0.008569 +vn -0.009239 0.999957 0.000000 +vn 0.009239 0.999957 0.000000 +vn 0.009161 -0.999921 -0.008565 +vn 0.009235 -0.999957 0.000000 +vn -0.009235 -0.999957 0.000000 +vn -0.009161 -0.999921 -0.008565 +vn 0.999921 0.009161 -0.008565 +vn 0.999957 0.009235 0.000000 +vn 0.999957 -0.009235 0.000000 +vn 0.999921 -0.009161 -0.008565 +vn 0.866070 -0.499881 -0.006507 +vn 0.999921 -0.009164 -0.008568 +vn 0.999957 -0.009238 0.000000 +vn 0.866033 -0.499987 0.000000 +vn 0.499877 -0.866072 -0.006507 +vn 0.866070 -0.499881 -0.006507 +vn 0.866033 -0.499987 0.000000 +vn 0.499982 -0.866036 0.000000 +vn 0.258722 -0.965952 0.000000 +vn 0.137492 -0.982126 -0.128549 +vn 0.499877 -0.866072 -0.006507 +vn 0.499982 -0.866036 0.000000 +vn 0.009159 -0.009159 -0.999916 +vn 0.006959 -0.499877 -0.866068 +vn -0.006959 -0.499877 -0.866068 +vn -0.009159 -0.009159 -0.999916 +vn 0.006959 -0.499877 -0.866068 +vn 0.006958 -0.866071 -0.499873 +vn -0.006958 -0.866071 -0.499873 +vn -0.006959 -0.499877 -0.866068 +vn 0.006958 -0.866071 -0.499873 +vn 0.137492 -0.982126 -0.128549 +vn -0.006709 -0.966108 -0.258052 +vn -0.006958 -0.866071 -0.499873 +vn 0.999921 -0.009164 -0.008568 +vn 0.866061 -0.006959 -0.499890 +vn 0.866061 0.006959 -0.499890 +vn 0.999921 0.009164 -0.008568 +vn 0.866061 -0.006959 -0.499890 +vn 0.499887 -0.006959 -0.866063 +vn 0.499887 0.006959 -0.866063 +vn 0.866061 0.006959 -0.499890 +vn 0.499887 -0.006959 -0.866063 +vn 0.009159 -0.009159 -0.999916 +vn 0.009159 0.009159 -0.999916 +vn 0.499887 0.006959 -0.866063 +vn 0.499922 0.866046 -0.006507 +vn 0.009165 0.999921 -0.008569 +vn 0.009239 0.999957 0.000000 +vn 0.500027 0.866010 0.000000 +vn 0.866070 0.499881 -0.006507 +vn 0.499922 0.866046 -0.006507 +vn 0.500027 0.866010 0.000000 +vn 0.866033 0.499987 0.000000 +vn 0.999921 0.009164 -0.008568 +vn 0.866070 0.499881 -0.006507 +vn 0.866033 0.499987 0.000000 +vn 0.999957 0.009238 0.000000 +vn 0.009165 0.999921 -0.008569 +vn 0.006959 0.866045 -0.499918 +vn -0.006959 0.866045 -0.499918 +vn -0.009165 0.999921 -0.008569 +vn 0.006959 0.866045 -0.499918 +vn 0.006959 0.499877 -0.866068 +vn -0.006959 0.499877 -0.866068 +vn -0.006959 0.866045 -0.499918 +vn 0.006959 0.499877 -0.866068 +vn 0.009159 0.009159 -0.999916 +vn -0.009159 0.009159 -0.999916 +vn -0.006959 0.499877 -0.866068 +vn -0.866070 0.499881 -0.006507 +vn -0.982114 0.137536 -0.128596 +vn -0.965929 0.258806 0.000000 +vn -0.866033 0.499987 0.000000 +vn -0.499922 0.866046 -0.006507 +vn -0.866070 0.499881 -0.006507 +vn -0.866033 0.499987 0.000000 +vn -0.500027 0.866010 0.000000 +vn -0.009165 0.999921 -0.008569 +vn -0.499922 0.866046 -0.006507 +vn -0.500027 0.866010 0.000000 +vn -0.009239 0.999957 0.000000 +vn -0.866061 -0.006959 -0.499890 +vn -0.966085 -0.006709 -0.258139 +vn -0.982114 0.137536 -0.128596 +vn -0.866061 0.006959 -0.499890 +vn -0.499887 -0.006959 -0.866063 +vn -0.866061 -0.006959 -0.499890 +vn -0.866061 0.006959 -0.499890 +vn -0.499887 0.006959 -0.866063 +vn -0.009159 -0.009159 -0.999916 +vn -0.499887 -0.006959 -0.866063 +vn -0.499887 0.006959 -0.866063 +vn -0.009159 0.009159 -0.999916 +vn 0.999957 0.009238 0.000000 +vn 0.999957 -0.009238 0.000000 +vn 0.999921 -0.009164 -0.008568 +vn 0.999921 0.009164 -0.008568 +vn 0.009159 -0.009159 -0.999916 +vn -0.009159 -0.009159 -0.999916 +vn -0.009159 0.009159 -0.999916 +vn 0.009159 0.009159 -0.999916 +vn 0.499877 -0.866072 -0.006507 +vn 0.137492 -0.982126 -0.128549 +vn 0.006958 -0.866071 -0.499873 +vn 0.415517 -0.809132 -0.415514 +vn 0.415517 -0.809132 -0.415514 +vn 0.006958 -0.866071 -0.499873 +vn 0.006959 -0.499877 -0.866068 +vn 0.415519 -0.415519 -0.809128 +vn 0.006959 -0.499877 -0.866068 +vn 0.009159 -0.009159 -0.999916 +vn 0.499887 -0.006959 -0.866063 +vn 0.415519 -0.415519 -0.809128 +vn 0.415519 -0.415519 -0.809128 +vn 0.499887 -0.006959 -0.866063 +vn 0.866061 -0.006959 -0.499890 +vn 0.809132 -0.415513 -0.415518 +vn 0.866061 -0.006959 -0.499890 +vn 0.999921 -0.009164 -0.008568 +vn 0.866070 -0.499881 -0.006507 +vn 0.809132 -0.415513 -0.415518 +vn 0.809132 -0.415513 -0.415518 +vn 0.866070 -0.499881 -0.006507 +vn 0.499877 -0.866072 -0.006507 +vn 0.415517 -0.809132 -0.415514 +vn 0.415517 -0.809132 -0.415514 +vn 0.415519 -0.415519 -0.809128 +vn 0.809132 -0.415513 -0.415518 +vn 0.499887 0.006959 -0.866063 +vn 0.009159 0.009159 -0.999916 +vn 0.006959 0.499877 -0.866068 +vn 0.415517 0.415520 -0.809129 +vn 0.415517 0.415520 -0.809129 +vn 0.006959 0.499877 -0.866068 +vn 0.006959 0.866045 -0.499918 +vn 0.415531 0.809115 -0.415531 +vn 0.006959 0.866045 -0.499918 +vn 0.009165 0.999921 -0.008569 +vn 0.499922 0.866046 -0.006507 +vn 0.415531 0.809115 -0.415531 +vn 0.415531 0.809115 -0.415531 +vn 0.499922 0.866046 -0.006507 +vn 0.866070 0.499881 -0.006507 +vn 0.809131 0.415513 -0.415519 +vn 0.866070 0.499881 -0.006507 +vn 0.999921 0.009164 -0.008568 +vn 0.866061 0.006959 -0.499890 +vn 0.809131 0.415513 -0.415519 +vn 0.809131 0.415513 -0.415519 +vn 0.866061 0.006959 -0.499890 +vn 0.499887 0.006959 -0.866063 +vn 0.415517 0.415520 -0.809129 +vn 0.415517 0.415520 -0.809129 +vn 0.415531 0.809115 -0.415531 +vn 0.809131 0.415513 -0.415519 +vn -0.006959 0.499877 -0.866068 +vn -0.009159 0.009159 -0.999916 +vn -0.499887 0.006959 -0.866063 +vn -0.415519 0.415519 -0.809128 +vn -0.415519 0.415519 -0.809128 +vn -0.499887 0.006959 -0.866063 +vn -0.866061 0.006959 -0.499890 +vn -0.809132 0.415513 -0.415518 +vn -0.866061 0.006959 -0.499890 +vn -0.982114 0.137536 -0.128596 +vn -0.866070 0.499881 -0.006507 +vn -0.809132 0.415513 -0.415518 +vn -0.809132 0.415513 -0.415518 +vn -0.866070 0.499881 -0.006507 +vn -0.499922 0.866046 -0.006507 +vn -0.415533 0.809116 -0.415528 +vn -0.499922 0.866046 -0.006507 +vn -0.009165 0.999921 -0.008569 +vn -0.006959 0.866045 -0.499918 +vn -0.415533 0.809116 -0.415528 +vn -0.415533 0.809116 -0.415528 +vn -0.006959 0.866045 -0.499918 +vn -0.006959 0.499877 -0.866068 +vn -0.415519 0.415519 -0.809128 +vn -0.415519 0.415519 -0.809128 +vn -0.809132 0.415513 -0.415518 +vn -0.415533 0.809116 -0.415528 +vn -0.499887 -0.006959 -0.866063 +vn -0.009159 -0.009159 -0.999916 +vn -0.006959 -0.499877 -0.866068 +vn -0.415517 -0.415520 -0.809129 +vn -0.415517 -0.415520 -0.809129 +vn -0.006959 -0.499877 -0.866068 +vn -0.006958 -0.866071 -0.499873 +vn -0.415516 -0.809132 -0.415515 +vn -0.006958 -0.866071 -0.499873 +vn -0.006709 -0.966108 -0.258052 +vn -0.482313 -0.843380 -0.236822 +vn -0.415516 -0.809132 -0.415515 +vn -0.415516 -0.809132 -0.415515 +vn -0.482313 -0.843380 -0.236822 +vn -0.843388 -0.482290 -0.236839 +vn -0.809131 -0.415513 -0.415518 +vn -0.843388 -0.482290 -0.236839 +vn -0.966085 -0.006709 -0.258139 +vn -0.866061 -0.006959 -0.499890 +vn -0.809131 -0.415513 -0.415518 +vn -0.809131 -0.415513 -0.415518 +vn -0.866061 -0.006959 -0.499890 +vn -0.499887 -0.006959 -0.866063 +vn -0.415517 -0.415520 -0.809129 +vn -0.415517 -0.415520 -0.809129 +vn -0.415516 -0.809132 -0.415515 +vn -0.809131 -0.415513 -0.415518 +vn 0.009165 0.999921 -0.008569 +vn -0.009165 0.999921 -0.008569 +vn -0.009239 0.999957 0.000000 +vn 0.009239 0.999957 0.000000 +vn -0.866066 -0.499887 -0.006507 +vn -0.866030 -0.499993 0.000000 +vn 0.965925 -0.258821 0.000000 +vn 0.982112 -0.137544 -0.128596 +vn -0.499884 -0.866068 -0.006507 +vn -0.499989 -0.866032 0.000000 +vn -0.866030 -0.499993 0.000000 +vn -0.866066 -0.499887 -0.006507 +vn -0.009235 -0.999957 0.000000 +vn -0.499989 -0.866032 0.000000 +vn -0.499884 -0.866068 -0.006507 +vn -0.009161 -0.999921 -0.008565 +vn 0.982112 -0.137544 -0.128596 +vn 0.982112 0.137544 -0.128596 +vn -0.866061 0.006959 -0.499890 +vn -0.866061 -0.006959 -0.499890 +vn -0.866061 -0.006959 -0.499890 +vn -0.866061 0.006959 -0.499890 +vn -0.499888 0.006959 -0.866062 +vn -0.499887 -0.006959 -0.866063 +vn -0.499887 -0.006959 -0.866063 +vn -0.499888 0.006959 -0.866062 +vn -0.009159 0.009159 -0.999916 +vn -0.009159 -0.009159 -0.999916 +vn -0.499929 0.866042 -0.006507 +vn -0.500035 0.866005 0.000000 +vn -0.009239 0.999957 0.000000 +vn -0.009165 0.999921 -0.008569 +vn -0.866066 0.499887 -0.006507 +vn -0.866030 0.499993 0.000000 +vn -0.500035 0.866005 0.000000 +vn -0.499929 0.866042 -0.006507 +vn 0.982112 0.137544 -0.128596 +vn 0.965925 0.258821 0.000000 +vn -0.866030 0.499993 0.000000 +vn -0.866066 0.499887 -0.006507 +vn -0.499884 -0.866068 -0.006507 +vn -0.415522 -0.809128 -0.415515 +vn -0.006958 -0.866072 -0.499871 +vn -0.009161 -0.999921 -0.008565 +vn -0.415522 -0.809128 -0.415515 +vn -0.415517 -0.415525 -0.809126 +vn -0.006959 -0.499876 -0.866069 +vn -0.006958 -0.866072 -0.499871 +vn -0.006959 -0.499876 -0.866069 +vn -0.415517 -0.415525 -0.809126 +vn -0.499887 -0.006959 -0.866063 +vn -0.009159 -0.009159 -0.999916 +vn -0.415517 -0.415525 -0.809126 +vn -0.809129 -0.415522 -0.415514 +vn -0.866061 -0.006959 -0.499890 +vn -0.499887 -0.006959 -0.866063 +vn -0.866061 -0.006959 -0.499890 +vn -0.809129 -0.415522 -0.415514 +vn -0.866066 -0.499887 -0.006507 +vn 0.982112 -0.137544 -0.128596 +vn -0.809129 -0.415522 -0.415514 +vn -0.415522 -0.809128 -0.415515 +vn -0.499884 -0.866068 -0.006507 +vn -0.866066 -0.499887 -0.006507 +vn -0.415522 -0.809128 -0.415515 +vn -0.809129 -0.415522 -0.415514 +vn -0.415517 -0.415525 -0.809126 +vn -0.499888 0.006959 -0.866062 +vn -0.415517 0.415526 -0.809125 +vn -0.006958 0.499879 -0.866068 +vn -0.009159 0.009159 -0.999916 +vn -0.415517 0.415526 -0.809125 +vn -0.415535 0.809112 -0.415533 +vn -0.006959 0.866044 -0.499920 +vn -0.006958 0.499879 -0.866068 +vn -0.006959 0.866044 -0.499920 +vn -0.415535 0.809112 -0.415533 +vn -0.499929 0.866042 -0.006507 +vn -0.009165 0.999921 -0.008569 +vn -0.415535 0.809112 -0.415533 +vn -0.809132 0.415519 -0.415512 +vn -0.866066 0.499887 -0.006507 +vn -0.499929 0.866042 -0.006507 +vn -0.866066 0.499887 -0.006507 +vn -0.809132 0.415519 -0.415512 +vn -0.866061 0.006959 -0.499890 +vn 0.982112 0.137544 -0.128596 +vn -0.809132 0.415519 -0.415512 +vn -0.415517 0.415526 -0.809125 +vn -0.499888 0.006959 -0.866062 +vn -0.866061 0.006959 -0.499890 +vn -0.415517 0.415526 -0.809125 +vn -0.809132 0.415519 -0.415512 +vn -0.415535 0.809112 -0.415533 +vn 0.009165 0.999921 -0.008569 +vn -0.009165 0.999921 -0.008569 +vn -0.009239 0.999957 0.000000 +vn 0.009239 0.999957 0.000000 +vn 0.006959 0.866044 -0.499920 +vn -0.006959 0.866044 -0.499920 +vn -0.009165 0.999921 -0.008569 +vn 0.009165 0.999921 -0.008569 +vn 0.006959 0.499878 -0.866068 +vn -0.006958 0.499879 -0.866068 +vn -0.006959 0.866044 -0.499920 +vn 0.006959 0.866044 -0.499920 +vn 0.009159 0.009159 -0.999916 +vn -0.009159 0.009159 -0.999916 +vn -0.006958 0.499879 -0.866068 +vn 0.006959 0.499878 -0.866068 +vn 0.009159 -0.009159 -0.999916 +vn -0.009159 -0.009159 -0.999916 +vn -0.009159 0.009159 -0.999916 +vn 0.009159 0.009159 -0.999916 +vn 0.006959 -0.499877 -0.866069 +vn -0.006959 -0.499876 -0.866069 +vn -0.009159 -0.009159 -0.999916 +vn 0.009159 -0.009159 -0.999916 +vn 0.006958 -0.866072 -0.499871 +vn -0.006958 -0.866072 -0.499871 +vn -0.006959 -0.499876 -0.866069 +vn 0.006959 -0.499877 -0.866069 +vn 0.009161 -0.999921 -0.008565 +vn -0.009161 -0.999921 -0.008565 +vn -0.006958 -0.866072 -0.499871 +vn 0.006958 -0.866072 -0.499871 +vn 0.009235 -0.999957 0.000000 +vn -0.009235 -0.999957 0.000000 +vn -0.009161 -0.999921 -0.008565 +vn 0.009161 -0.999921 -0.008565 +vn -0.866068 -0.499884 -0.006507 +vn -0.866031 -0.499990 0.000000 +vn -0.999957 -0.009238 0.000000 +vn -0.999921 -0.009164 -0.008568 +vn -0.499880 -0.866070 -0.006507 +vn -0.499985 -0.866034 0.000000 +vn -0.866031 -0.499990 0.000000 +vn -0.866068 -0.499884 -0.006507 +vn -0.009235 -0.999957 0.000000 +vn -0.499985 -0.866034 0.000000 +vn -0.499880 -0.866070 -0.006507 +vn -0.009161 -0.999921 -0.008565 +vn -0.999921 -0.009164 -0.008568 +vn -0.999921 0.009164 -0.008568 +vn -0.866061 0.006959 -0.499890 +vn -0.866061 -0.006959 -0.499890 +vn -0.866061 -0.006959 -0.499890 +vn -0.866061 0.006959 -0.499890 +vn -0.499887 0.006959 -0.866063 +vn -0.499887 -0.006959 -0.866063 +vn -0.499887 -0.006959 -0.866063 +vn -0.499887 0.006959 -0.866063 +vn -0.009159 0.009159 -0.999916 +vn -0.009159 -0.009159 -0.999916 +vn -0.499925 0.866044 -0.006507 +vn -0.500031 0.866008 0.000000 +vn -0.258726 -0.965951 0.000000 +vn -0.137493 -0.982126 -0.128549 +vn -0.866068 0.499884 -0.006507 +vn -0.866031 0.499990 0.000000 +vn -0.500031 0.866008 0.000000 +vn -0.499925 0.866044 -0.006507 +vn -0.999921 0.009164 -0.008568 +vn -0.999957 0.009238 0.000000 +vn -0.866031 0.499990 0.000000 +vn -0.866068 0.499884 -0.006507 +vn -0.999957 0.009238 0.000000 +vn -0.999921 0.009164 -0.008568 +vn -0.999921 -0.009164 -0.008568 +vn -0.999957 -0.009238 0.000000 +vn -0.499880 -0.866070 -0.006507 +vn -0.415522 -0.809128 -0.415515 +vn -0.006958 -0.866072 -0.499871 +vn -0.009161 -0.999921 -0.008565 +vn -0.415522 -0.809128 -0.415515 +vn -0.415517 -0.415523 -0.809127 +vn -0.006959 -0.499877 -0.866069 +vn -0.006958 -0.866072 -0.499871 +vn -0.006959 -0.499877 -0.866069 +vn -0.415517 -0.415523 -0.809127 +vn -0.499887 -0.006959 -0.866063 +vn -0.009159 -0.009159 -0.999916 +vn -0.415517 -0.415523 -0.809127 +vn -0.809129 -0.415522 -0.415515 +vn -0.866061 -0.006959 -0.499890 +vn -0.499887 -0.006959 -0.866063 +vn -0.866061 -0.006959 -0.499890 +vn -0.809129 -0.415522 -0.415515 +vn -0.866068 -0.499884 -0.006507 +vn -0.999921 -0.009164 -0.008568 +vn -0.809129 -0.415522 -0.415515 +vn -0.415522 -0.809128 -0.415515 +vn -0.499880 -0.866070 -0.006507 +vn -0.866068 -0.499884 -0.006507 +vn -0.415522 -0.809128 -0.415515 +vn -0.809129 -0.415522 -0.415515 +vn -0.415517 -0.415523 -0.809127 +vn -0.499887 0.006959 -0.866063 +vn -0.415515 0.415524 -0.809127 +vn -0.006958 0.499877 -0.866069 +vn -0.009159 0.009159 -0.999916 +vn -0.415515 0.415524 -0.809127 +vn -0.415536 0.809113 -0.415531 +vn -0.006959 0.866044 -0.499920 +vn -0.006958 0.499877 -0.866069 +vn -0.006959 0.866044 -0.499920 +vn -0.415536 0.809113 -0.415531 +vn -0.499925 0.866044 -0.006507 +vn -0.137493 -0.982126 -0.128549 +vn -0.415536 0.809113 -0.415531 +vn -0.809132 0.415519 -0.415511 +vn -0.866068 0.499884 -0.006507 +vn -0.499925 0.866044 -0.006507 +vn -0.866068 0.499884 -0.006507 +vn -0.809132 0.415519 -0.415511 +vn -0.866061 0.006959 -0.499890 +vn -0.999921 0.009164 -0.008568 +vn -0.809132 0.415519 -0.415511 +vn -0.415515 0.415524 -0.809127 +vn -0.499887 0.006959 -0.866063 +vn -0.866061 0.006959 -0.499890 +vn -0.415515 0.415524 -0.809127 +vn -0.809132 0.415519 -0.415511 +vn -0.415536 0.809113 -0.415531 +vn -0.006959 0.866044 -0.499920 +vn -0.137493 -0.982126 -0.128549 +vn 0.137494 -0.982125 -0.128550 +vn 0.006959 0.866044 -0.499920 +vn -0.006958 0.499877 -0.866069 +vn -0.006959 0.866044 -0.499920 +vn 0.006959 0.866044 -0.499920 +vn 0.006958 0.499877 -0.866069 +vn -0.009159 0.009159 -0.999916 +vn -0.006958 0.499877 -0.866069 +vn 0.006958 0.499877 -0.866069 +vn 0.009159 0.009159 -0.999916 +vn -0.009159 -0.009159 -0.999916 +vn -0.009159 0.009159 -0.999916 +vn 0.009159 0.009159 -0.999916 +vn 0.009159 -0.009159 -0.999916 +vn -0.006959 -0.499877 -0.866069 +vn -0.009159 -0.009159 -0.999916 +vn 0.009159 -0.009159 -0.999916 +vn 0.006959 -0.499877 -0.866069 +vn -0.006958 -0.866072 -0.499871 +vn -0.006959 -0.499877 -0.866069 +vn 0.006959 -0.499877 -0.866069 +vn 0.006958 -0.866072 -0.499871 +vn -0.009161 -0.999921 -0.008565 +vn -0.006958 -0.866072 -0.499871 +vn 0.006958 -0.866072 -0.499871 +vn 0.009161 -0.999921 -0.008565 +vn 0.009235 -0.999957 0.000000 +vn -0.009235 -0.999957 0.000000 +vn -0.009161 -0.999921 -0.008565 +vn 0.009161 -0.999921 -0.008565 +vn 0.866066 -0.499887 -0.006507 +vn 0.999921 -0.009164 -0.008568 +vn 0.999957 -0.009238 0.000000 +vn 0.866030 -0.499993 0.000000 +vn 0.499884 -0.866068 -0.006507 +vn 0.866066 -0.499887 -0.006507 +vn 0.866030 -0.499993 0.000000 +vn 0.499989 -0.866032 0.000000 +vn 0.009235 -0.999957 0.000000 +vn 0.009161 -0.999921 -0.008565 +vn 0.499884 -0.866068 -0.006507 +vn 0.499989 -0.866032 0.000000 +vn 0.999921 -0.009164 -0.008568 +vn 0.866061 -0.006959 -0.499890 +vn 0.866061 0.006959 -0.499890 +vn 0.999921 0.009164 -0.008568 +vn 0.866061 -0.006959 -0.499890 +vn 0.499887 -0.006959 -0.866063 +vn 0.499887 0.006959 -0.866063 +vn 0.866061 0.006959 -0.499890 +vn 0.499887 -0.006959 -0.866063 +vn 0.009159 -0.009159 -0.999916 +vn 0.009159 0.009159 -0.999916 +vn 0.499887 0.006959 -0.866063 +vn 0.499929 0.866042 -0.006507 +vn 0.137494 -0.982125 -0.128550 +vn 0.258730 -0.965950 0.000000 +vn 0.500035 0.866005 0.000000 +vn 0.866066 0.499887 -0.006507 +vn 0.499929 0.866042 -0.006507 +vn 0.500035 0.866005 0.000000 +vn 0.866030 0.499993 0.000000 +vn 0.999921 0.009164 -0.008568 +vn 0.866066 0.499887 -0.006507 +vn 0.866030 0.499993 0.000000 +vn 0.999957 0.009238 0.000000 +vn 0.999957 0.009238 0.000000 +vn 0.999957 -0.009238 0.000000 +vn 0.999921 -0.009164 -0.008568 +vn 0.999921 0.009164 -0.008568 +vn 0.499884 -0.866068 -0.006507 +vn 0.009161 -0.999921 -0.008565 +vn 0.006958 -0.866072 -0.499871 +vn 0.415518 -0.809129 -0.415517 +vn 0.415518 -0.809129 -0.415517 +vn 0.006958 -0.866072 -0.499871 +vn 0.006959 -0.499877 -0.866069 +vn 0.415517 -0.415524 -0.809126 +vn 0.006959 -0.499877 -0.866069 +vn 0.009159 -0.009159 -0.999916 +vn 0.499887 -0.006959 -0.866063 +vn 0.415517 -0.415524 -0.809126 +vn 0.415517 -0.415524 -0.809126 +vn 0.499887 -0.006959 -0.866063 +vn 0.866061 -0.006959 -0.499890 +vn 0.809126 -0.415524 -0.415518 +vn 0.866061 -0.006959 -0.499890 +vn 0.999921 -0.009164 -0.008568 +vn 0.866066 -0.499887 -0.006507 +vn 0.809126 -0.415524 -0.415518 +vn 0.809126 -0.415524 -0.415518 +vn 0.866066 -0.499887 -0.006507 +vn 0.499884 -0.866068 -0.006507 +vn 0.415518 -0.809129 -0.415517 +vn 0.415518 -0.809129 -0.415517 +vn 0.415517 -0.415524 -0.809126 +vn 0.809126 -0.415524 -0.415518 +vn 0.499887 0.006959 -0.866063 +vn 0.009159 0.009159 -0.999916 +vn 0.006958 0.499877 -0.866069 +vn 0.415516 0.415525 -0.809126 +vn 0.415516 0.415525 -0.809126 +vn 0.006958 0.499877 -0.866069 +vn 0.006959 0.866044 -0.499920 +vn 0.415534 0.809114 -0.415531 +vn 0.006959 0.866044 -0.499920 +vn 0.137494 -0.982125 -0.128550 +vn 0.499929 0.866042 -0.006507 +vn 0.415534 0.809114 -0.415531 +vn 0.415534 0.809114 -0.415531 +vn 0.499929 0.866042 -0.006507 +vn 0.866066 0.499887 -0.006507 +vn 0.809128 0.415525 -0.415513 +vn 0.866066 0.499887 -0.006507 +vn 0.999921 0.009164 -0.008568 +vn 0.866061 0.006959 -0.499890 +vn 0.809128 0.415525 -0.415513 +vn 0.809128 0.415525 -0.415513 +vn 0.866061 0.006959 -0.499890 +vn 0.499887 0.006959 -0.866063 +vn 0.415516 0.415525 -0.809126 +vn 0.415516 0.415525 -0.809126 +vn 0.415534 0.809114 -0.415531 +vn 0.809128 0.415525 -0.415513 +vn 0.866054 0.499940 -0.003193 +vn 0.999981 0.004374 -0.004235 +vn 0.866052 0.003298 -0.499943 +vn 0.809132 0.415515 -0.415516 +vn 0.809132 0.415515 -0.415516 +vn 0.866052 0.003298 -0.499943 +vn 0.499942 0.003298 -0.866053 +vn 0.415511 0.415522 -0.809131 +vn 0.499942 0.003298 -0.866053 +vn 0.695549 0.718479 0.000000 +vn 0.003192 0.499943 -0.866053 +vn 0.415511 0.415522 -0.809131 +vn 0.415511 0.415522 -0.809131 +vn 0.003192 0.499943 -0.866053 +vn 0.003193 0.866030 -0.499982 +vn 0.415522 0.809119 -0.415533 +vn 0.003193 0.866030 -0.499982 +vn 0.707105 -0.000001 -0.707108 +vn 0.499981 0.866031 -0.003193 +vn 0.415522 0.809119 -0.415533 +vn 0.415522 0.809119 -0.415533 +vn 0.499981 0.866031 -0.003193 +vn 0.866054 0.499940 -0.003193 +vn 0.809132 0.415515 -0.415516 +vn 0.809132 0.415515 -0.415516 +vn 0.415511 0.415522 -0.809131 +vn 0.415522 0.809119 -0.415533 +vn 0.866052 -0.003298 -0.499943 +vn 0.999981 -0.004374 -0.004235 +vn 0.866054 -0.499940 -0.003193 +vn 0.809131 -0.415512 -0.415520 +vn 0.809131 -0.415512 -0.415520 +vn 0.866054 -0.499940 -0.003193 +vn 0.499935 -0.866057 -0.003192 +vn 0.415510 -0.809133 -0.415518 +vn 0.499935 -0.866057 -0.003192 +vn 0.999929 -0.000001 -0.011909 +vn 0.236817 -0.843379 -0.482318 +vn 0.415510 -0.809133 -0.415518 +vn 0.415510 -0.809133 -0.415518 +vn 0.236817 -0.843379 -0.482318 +vn 0.236829 -0.482297 -0.843387 +vn 0.415518 -0.415519 -0.809129 +vn 0.236829 -0.482297 -0.843387 +vn 0.999924 -0.012301 0.000000 +vn 0.499942 -0.003298 -0.866053 +vn 0.415518 -0.415519 -0.809129 +vn 0.415518 -0.415519 -0.809129 +vn 0.499942 -0.003298 -0.866053 +vn 0.866052 -0.003298 -0.499943 +vn 0.809131 -0.415512 -0.415520 +vn 0.809131 -0.415512 -0.415520 +vn 0.415510 -0.809133 -0.415518 +vn 0.415518 -0.415519 -0.809129 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.499992 -0.866030 +vn 0.003192 0.499943 -0.866053 +vn 0.695549 0.718479 0.000000 +vn 0.000000 0.499992 -0.866030 +vn 0.000000 0.866008 -0.500031 +vn 0.003193 0.866030 -0.499982 +vn 0.003192 0.499943 -0.866053 +vn 0.000000 0.866008 -0.500031 +vn 0.000000 0.000000 -1.000000 +vn 0.707105 -0.000001 -0.707108 +vn 0.003193 0.866030 -0.499982 +vn 0.999981 -0.004374 -0.004235 +vn 0.866052 -0.003298 -0.499943 +vn 0.866052 0.003298 -0.499943 +vn 0.999981 0.004374 -0.004235 +vn 0.866052 -0.003298 -0.499943 +vn 0.499942 -0.003298 -0.866053 +vn 0.499942 0.003298 -0.866053 +vn 0.866052 0.003298 -0.499943 +vn 0.499942 -0.003298 -0.866053 +vn 0.999924 -0.012301 0.000000 +vn 0.695549 0.718479 0.000000 +vn 0.499942 0.003298 -0.866053 +vn 0.999929 -0.000001 -0.011909 +vn 0.499935 -0.866057 -0.003192 +vn 0.499984 -0.866035 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.499935 -0.866057 -0.003192 +vn 0.866054 -0.499940 -0.003193 +vn 0.866032 -0.499989 0.000000 +vn 0.499984 -0.866035 0.000000 +vn 0.866054 -0.499940 -0.003193 +vn 0.999981 -0.004374 -0.004235 +vn 0.999990 -0.004392 0.000000 +vn 0.866032 -0.499989 0.000000 +vn 0.999981 -0.004374 -0.004235 +vn 0.999981 0.004374 -0.004235 +vn 0.999990 0.004392 0.000000 +vn 0.999990 -0.004392 0.000000 +vn 0.999981 0.004374 -0.004235 +vn 0.866054 0.499940 -0.003193 +vn 0.866032 0.499989 0.000000 +vn 0.999990 0.004392 0.000000 +vn 0.866054 0.499940 -0.003193 +vn 0.499981 0.866031 -0.003193 +vn 0.500030 0.866008 0.000000 +vn 0.866032 0.499989 0.000000 +vn 0.499981 0.866031 -0.003193 +vn 0.707105 -0.000001 -0.707108 +vn 1.000000 0.000000 0.000000 +vn 0.500030 0.866008 0.000000 +vn 0.866054 0.499940 -0.003193 +vn 0.999981 0.004374 -0.004235 +vn 0.866052 0.003298 -0.499943 +vn 0.809132 0.415514 -0.415516 +vn 0.809132 0.415514 -0.415516 +vn 0.866052 0.003298 -0.499943 +vn 0.499942 0.003298 -0.866053 +vn 0.415512 0.415522 -0.809130 +vn 0.499942 0.003298 -0.866053 +vn 0.004235 0.004375 -0.999981 +vn 0.003192 0.499940 -0.866054 +vn 0.415512 0.415522 -0.809130 +vn 0.415512 0.415522 -0.809130 +vn 0.003192 0.499940 -0.866054 +vn 0.003193 0.866030 -0.499982 +vn 0.415521 0.809119 -0.415535 +vn 0.003193 0.866030 -0.499982 +vn 0.004236 0.999982 -0.004236 +vn 0.499981 0.866031 -0.003193 +vn 0.415521 0.809119 -0.415535 +vn 0.415521 0.809119 -0.415535 +vn 0.499981 0.866031 -0.003193 +vn 0.866054 0.499940 -0.003193 +vn 0.809132 0.415514 -0.415516 +vn 0.809132 0.415514 -0.415516 +vn 0.415512 0.415522 -0.809130 +vn 0.415521 0.809119 -0.415535 +vn 0.866052 -0.003298 -0.499943 +vn 0.999981 -0.004374 -0.004235 +vn 0.866054 -0.499940 -0.003193 +vn 0.809130 -0.415512 -0.415522 +vn 0.809130 -0.415512 -0.415522 +vn 0.866054 -0.499940 -0.003193 +vn 0.499935 -0.866057 -0.003192 +vn 0.415510 -0.809134 -0.415517 +vn 0.499935 -0.866057 -0.003192 +vn 0.707105 -0.000001 -0.707108 +vn 0.003192 -0.866056 -0.499938 +vn 0.415510 -0.809134 -0.415517 +vn 0.415510 -0.809134 -0.415517 +vn 0.003192 -0.866056 -0.499938 +vn 0.003193 -0.499941 -0.866054 +vn 0.415516 -0.415518 -0.809130 +vn 0.003193 -0.499941 -0.866054 +vn 0.004235 -0.004375 -0.999981 +vn 0.499942 -0.003298 -0.866053 +vn 0.415516 -0.415518 -0.809130 +vn 0.415516 -0.415518 -0.809130 +vn 0.499942 -0.003298 -0.866053 +vn 0.866052 -0.003298 -0.499943 +vn 0.809130 -0.415512 -0.415522 +vn 0.809130 -0.415512 -0.415522 +vn 0.415510 -0.809134 -0.415517 +vn 0.415516 -0.415518 -0.809130 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 -0.866033 -0.499987 +vn 0.003192 -0.866056 -0.499938 +vn 0.707105 -0.000001 -0.707108 +vn 0.000000 -0.866033 -0.499987 +vn 0.000000 -0.499990 -0.866031 +vn 0.003193 -0.499941 -0.866054 +vn 0.003192 -0.866056 -0.499938 +vn 0.000000 -0.499990 -0.866031 +vn 0.000000 -0.004392 -0.999990 +vn 0.004235 -0.004375 -0.999981 +vn 0.003193 -0.499941 -0.866054 +vn 0.000000 0.004392 -0.999990 +vn 0.000000 0.499989 -0.866032 +vn 0.003192 0.499940 -0.866054 +vn 0.004235 0.004375 -0.999981 +vn 0.000000 0.499989 -0.866032 +vn 0.000000 0.866008 -0.500031 +vn 0.003193 0.866030 -0.499982 +vn 0.003192 0.499940 -0.866054 +vn 0.000000 0.866008 -0.500031 +vn 0.000000 0.999991 -0.004253 +vn 0.004236 0.999982 -0.004236 +vn 0.003193 0.866030 -0.499982 +vn 0.004236 0.999982 -0.004236 +vn 0.000000 0.999991 -0.004253 +vn 0.000000 1.000000 0.000000 +vn 0.004253 0.999991 0.000000 +vn 0.866052 0.003298 -0.499943 +vn 0.999981 0.004374 -0.004235 +vn 0.999981 -0.004374 -0.004235 +vn 0.866052 -0.003298 -0.499943 +vn 0.499942 0.003298 -0.866053 +vn 0.866052 0.003298 -0.499943 +vn 0.866052 -0.003298 -0.499943 +vn 0.499942 -0.003298 -0.866053 +vn 0.004235 0.004375 -0.999981 +vn 0.499942 0.003298 -0.866053 +vn 0.499942 -0.003298 -0.866053 +vn 0.004235 -0.004375 -0.999981 +vn 0.000000 -0.004392 -0.999990 +vn 0.000000 0.004392 -0.999990 +vn 0.004235 0.004375 -0.999981 +vn 0.004235 -0.004375 -0.999981 +vn 0.707105 -0.000001 -0.707108 +vn 0.499935 -0.866057 -0.003192 +vn 0.499984 -0.866035 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.499935 -0.866057 -0.003192 +vn 0.866054 -0.499940 -0.003193 +vn 0.866032 -0.499989 0.000000 +vn 0.499984 -0.866035 0.000000 +vn 0.866054 -0.499940 -0.003193 +vn 0.999981 -0.004374 -0.004235 +vn 0.999990 -0.004392 0.000000 +vn 0.866032 -0.499989 0.000000 +vn 0.999981 -0.004374 -0.004235 +vn 0.999981 0.004374 -0.004235 +vn 0.999990 0.004392 0.000000 +vn 0.999990 -0.004392 0.000000 +vn 0.999981 0.004374 -0.004235 +vn 0.866054 0.499940 -0.003193 +vn 0.866032 0.499989 0.000000 +vn 0.999990 0.004392 0.000000 +vn 0.866054 0.499940 -0.003193 +vn 0.499981 0.866031 -0.003193 +vn 0.500030 0.866008 0.000000 +vn 0.866032 0.499989 0.000000 +vn 0.499981 0.866031 -0.003193 +vn 0.004236 0.999982 -0.004236 +vn 0.004253 0.999991 0.000000 +vn 0.500030 0.866008 0.000000 +vn 0.236811 -0.843380 0.482318 +vn 0.258403 -0.966032 0.003179 +vn 0.499931 -0.866059 0.003297 +vn 0.415506 -0.809135 0.415518 +vn 0.415506 -0.809135 0.415518 +vn 0.499931 -0.866059 0.003297 +vn 0.866056 -0.499936 0.003298 +vn 0.809130 -0.415514 0.415519 +vn 0.866056 -0.499936 0.003298 +vn 0.999981 -0.004374 0.004374 +vn 0.866052 -0.003298 0.499943 +vn 0.809130 -0.415514 0.415519 +vn 0.809130 -0.415514 0.415519 +vn 0.866052 -0.003298 0.499943 +vn 0.499942 -0.003298 0.866053 +vn 0.415511 -0.415521 0.809131 +vn 0.499942 -0.003298 0.866053 +vn 0.999924 -0.012301 0.000000 +vn 0.236818 -0.482300 0.843388 +vn 0.415511 -0.415521 0.809131 +vn 0.415511 -0.415521 0.809131 +vn 0.236818 -0.482300 0.843388 +vn 0.236811 -0.843380 0.482318 +vn 0.415506 -0.809135 0.415518 +vn 0.415506 -0.809135 0.415518 +vn 0.809130 -0.415514 0.415519 +vn 0.415511 -0.415521 0.809131 +vn 0.866052 0.003298 0.499943 +vn 0.999981 0.004374 0.004374 +vn 0.866057 0.499935 0.003298 +vn 0.809131 0.415512 0.415520 +vn 0.809131 0.415512 0.415520 +vn 0.866057 0.499935 0.003298 +vn 0.499977 0.866033 0.003298 +vn 0.415526 0.809119 0.415530 +vn 0.499977 0.866033 0.003298 +vn 0.999924 -0.000001 0.012301 +vn 0.236846 0.843361 0.482335 +vn 0.415526 0.809119 0.415530 +vn 0.415526 0.809119 0.415530 +vn 0.236846 0.843361 0.482335 +vn 0.236829 0.482298 0.843387 +vn 0.415517 0.415519 0.809129 +vn 0.236829 0.482298 0.843387 +vn 0.999924 0.012301 0.000000 +vn 0.499942 0.003298 0.866053 +vn 0.415517 0.415519 0.809129 +vn 0.415517 0.415519 0.809129 +vn 0.499942 0.003298 0.866053 +vn 0.866052 0.003298 0.499943 +vn 0.809131 0.415512 0.415520 +vn 0.809131 0.415512 0.415520 +vn 0.415526 0.809119 0.415530 +vn 0.415517 0.415519 0.809129 +vn 0.866056 0.499936 -0.003298 +vn 0.999981 0.004374 -0.004374 +vn 0.866050 0.003298 -0.499946 +vn 0.809128 0.415515 -0.415523 +vn 0.809128 0.415515 -0.415523 +vn 0.866050 0.003298 -0.499946 +vn 0.499948 0.003298 -0.866049 +vn 0.415516 0.415520 -0.809129 +vn 0.499948 0.003298 -0.866049 +vn 0.695571 0.718457 0.000000 +vn 0.003193 0.499942 -0.866053 +vn 0.415516 0.415520 -0.809129 +vn 0.415516 0.415520 -0.809129 +vn 0.003193 0.499942 -0.866053 +vn 0.003193 0.866029 -0.499983 +vn 0.415525 0.809118 -0.415532 +vn 0.003193 0.866029 -0.499983 +vn 0.695566 0.000000 -0.718462 +vn 0.499977 0.866033 -0.003298 +vn 0.415525 0.809118 -0.415532 +vn 0.415525 0.809118 -0.415532 +vn 0.499977 0.866033 -0.003298 +vn 0.866056 0.499936 -0.003298 +vn 0.809128 0.415515 -0.415523 +vn 0.809128 0.415515 -0.415523 +vn 0.415516 0.415520 -0.809129 +vn 0.415525 0.809118 -0.415532 +vn 0.866050 -0.003298 -0.499946 +vn 0.999981 -0.004374 -0.004374 +vn 0.866056 -0.499936 -0.003298 +vn 0.809129 -0.415515 -0.415522 +vn 0.809129 -0.415515 -0.415522 +vn 0.866056 -0.499936 -0.003298 +vn 0.499931 -0.866059 -0.003297 +vn 0.415510 -0.809134 -0.415515 +vn 0.499931 -0.866059 -0.003297 +vn 0.258403 -0.966032 -0.003179 +vn 0.236818 -0.843380 -0.482315 +vn 0.415510 -0.809134 -0.415515 +vn 0.415510 -0.809134 -0.415515 +vn 0.236818 -0.843380 -0.482315 +vn 0.236837 -0.482297 -0.843385 +vn 0.415518 -0.415519 -0.809129 +vn 0.236837 -0.482297 -0.843385 +vn 0.999924 -0.012300 0.000000 +vn 0.499948 -0.003298 -0.866049 +vn 0.415518 -0.415519 -0.809129 +vn 0.415518 -0.415519 -0.809129 +vn 0.499948 -0.003298 -0.866049 +vn 0.866050 -0.003298 -0.499946 +vn 0.809129 -0.415515 -0.415522 +vn 0.809129 -0.415515 -0.415522 +vn 0.415510 -0.809134 -0.415515 +vn 0.415518 -0.415519 -0.809129 +vn 0.695571 0.718457 0.000000 +vn 0.000000 0.258817 -0.965926 +vn 0.000000 0.499991 -0.866031 +vn 0.003193 0.499942 -0.866053 +vn 0.000000 0.499991 -0.866031 +vn 0.000000 0.866007 -0.500032 +vn 0.003193 0.866029 -0.499983 +vn 0.003193 0.499942 -0.866053 +vn 0.000000 0.866007 -0.500032 +vn 0.000000 0.000000 -1.000000 +vn 0.695566 0.000000 -0.718462 +vn 0.003193 0.866029 -0.499983 +vn 0.999924 -0.012301 0.000000 +vn 0.499942 -0.003298 0.866053 +vn 0.499942 0.003298 0.866053 +vn 0.999924 0.012301 0.000000 +vn 0.499942 -0.003298 0.866053 +vn 0.866052 -0.003298 0.499943 +vn 0.866052 0.003298 0.499943 +vn 0.499942 0.003298 0.866053 +vn 0.866052 -0.003298 0.499943 +vn 0.999981 -0.004374 0.004374 +vn 0.999981 0.004374 0.004374 +vn 0.866052 0.003298 0.499943 +vn 0.999981 -0.004374 -0.004374 +vn 0.866050 -0.003298 -0.499946 +vn 0.866050 0.003298 -0.499946 +vn 0.999981 0.004374 -0.004374 +vn 0.866050 -0.003298 -0.499946 +vn 0.499948 -0.003298 -0.866049 +vn 0.499948 0.003298 -0.866049 +vn 0.866050 0.003298 -0.499946 +vn 0.499948 -0.003298 -0.866049 +vn 0.999924 -0.012300 0.000000 +vn 0.695571 0.718457 0.000000 +vn 0.499948 0.003298 -0.866049 +vn 0.258403 -0.966032 0.003179 +vn 0.258403 -0.966032 -0.003179 +vn 0.499931 -0.866059 -0.003297 +vn 0.499931 -0.866059 0.003297 +vn 0.499931 -0.866059 -0.003297 +vn 0.866056 -0.499936 -0.003298 +vn 0.866056 -0.499936 0.003298 +vn 0.499931 -0.866059 0.003297 +vn 0.866056 -0.499936 -0.003298 +vn 0.999981 -0.004374 -0.004374 +vn 0.999981 -0.004374 0.004374 +vn 0.866056 -0.499936 0.003298 +vn 0.999981 -0.004374 0.004374 +vn 0.999981 -0.004374 -0.004374 +vn 0.999981 0.004374 -0.004374 +vn 0.999981 0.004374 0.004374 +vn 0.999981 0.004374 -0.004374 +vn 0.866056 0.499936 -0.003298 +vn 0.866057 0.499935 0.003298 +vn 0.999981 0.004374 0.004374 +vn 0.866056 0.499936 -0.003298 +vn 0.499977 0.866033 -0.003298 +vn 0.499977 0.866033 0.003298 +vn 0.866057 0.499935 0.003298 +vn 0.499977 0.866033 -0.003298 +vn 0.695566 0.000000 -0.718462 +vn 0.999924 -0.000001 0.012301 +vn 0.499977 0.866033 0.003298 +vn 0.236811 -0.843379 0.482321 +vn 0.999924 -0.000001 0.012301 +vn 0.499931 -0.866059 0.003297 +vn 0.415506 -0.809135 0.415519 +vn 0.415506 -0.809135 0.415519 +vn 0.499931 -0.866059 0.003297 +vn 0.866056 -0.499936 0.003298 +vn 0.809131 -0.415514 0.415519 +vn 0.866056 -0.499936 0.003298 +vn 0.999981 -0.004374 0.004374 +vn 0.866052 -0.003298 0.499943 +vn 0.809131 -0.415514 0.415519 +vn 0.809131 -0.415514 0.415519 +vn 0.866052 -0.003298 0.499943 +vn 0.499942 -0.003298 0.866053 +vn 0.415511 -0.415521 0.809131 +vn 0.499942 -0.003298 0.866053 +vn 0.999924 -0.012301 0.000000 +vn 0.236818 -0.482300 0.843388 +vn 0.415511 -0.415521 0.809131 +vn 0.415511 -0.415521 0.809131 +vn 0.236818 -0.482300 0.843388 +vn 0.236811 -0.843379 0.482321 +vn 0.415506 -0.809135 0.415519 +vn 0.415506 -0.809135 0.415519 +vn 0.809131 -0.415514 0.415519 +vn 0.415511 -0.415521 0.809131 +vn 0.866052 0.003298 0.499943 +vn 0.999981 0.004374 0.004374 +vn 0.866057 0.499935 0.003298 +vn 0.809133 0.415513 0.415516 +vn 0.809133 0.415513 0.415516 +vn 0.866057 0.499935 0.003298 +vn 0.499977 0.866033 0.003298 +vn 0.415526 0.809118 0.415531 +vn 0.499977 0.866033 0.003298 +vn 0.004236 0.999981 0.004375 +vn 0.003193 0.866030 0.499982 +vn 0.415526 0.809118 0.415531 +vn 0.415526 0.809118 0.415531 +vn 0.003193 0.866030 0.499982 +vn 0.003193 0.499943 0.866053 +vn 0.415518 0.415519 0.809129 +vn 0.003193 0.499943 0.866053 +vn 0.695549 0.718479 0.000000 +vn 0.499942 0.003298 0.866053 +vn 0.415518 0.415519 0.809129 +vn 0.415518 0.415519 0.809129 +vn 0.499942 0.003298 0.866053 +vn 0.866052 0.003298 0.499943 +vn 0.809133 0.415513 0.415516 +vn 0.809133 0.415513 0.415516 +vn 0.415526 0.809118 0.415531 +vn 0.415518 0.415519 0.809129 +vn 0.866056 0.499936 -0.003298 +vn 0.999981 0.004374 -0.004374 +vn 0.866050 0.003298 -0.499946 +vn 0.809129 0.415516 -0.415519 +vn 0.809129 0.415516 -0.415519 +vn 0.866050 0.003298 -0.499946 +vn 0.499948 0.003298 -0.866049 +vn 0.415516 0.415520 -0.809129 +vn 0.499948 0.003298 -0.866049 +vn 0.004235 0.004375 -0.999981 +vn 0.003193 0.499943 -0.866053 +vn 0.415516 0.415520 -0.809129 +vn 0.415516 0.415520 -0.809129 +vn 0.003193 0.499943 -0.866053 +vn 0.003193 0.866030 -0.499982 +vn 0.415525 0.809118 -0.415533 +vn 0.003193 0.866030 -0.499982 +vn 0.004236 0.999981 -0.004375 +vn 0.499977 0.866033 -0.003298 +vn 0.415525 0.809118 -0.415533 +vn 0.415525 0.809118 -0.415533 +vn 0.499977 0.866033 -0.003298 +vn 0.866056 0.499936 -0.003298 +vn 0.809129 0.415516 -0.415519 +vn 0.809129 0.415516 -0.415519 +vn 0.415516 0.415520 -0.809129 +vn 0.415525 0.809118 -0.415533 +vn 0.866050 -0.003298 -0.499946 +vn 0.999981 -0.004374 -0.004374 +vn 0.866056 -0.499936 -0.003298 +vn 0.809128 -0.415515 -0.415523 +vn 0.809128 -0.415515 -0.415523 +vn 0.866056 -0.499936 -0.003298 +vn 0.499931 -0.866059 -0.003297 +vn 0.415510 -0.809133 -0.415518 +vn 0.499931 -0.866059 -0.003297 +vn 0.695566 0.000000 -0.718462 +vn 0.003192 -0.866056 -0.499938 +vn 0.415510 -0.809133 -0.415518 +vn 0.415510 -0.809133 -0.415518 +vn 0.003192 -0.866056 -0.499938 +vn 0.003193 -0.499942 -0.866053 +vn 0.415518 -0.415519 -0.809128 +vn 0.003193 -0.499942 -0.866053 +vn 0.004235 -0.004375 -0.999981 +vn 0.499948 -0.003298 -0.866049 +vn 0.415518 -0.415519 -0.809128 +vn 0.415518 -0.415519 -0.809128 +vn 0.499948 -0.003298 -0.866049 +vn 0.866050 -0.003298 -0.499946 +vn 0.809128 -0.415515 -0.415523 +vn 0.809128 -0.415515 -0.415523 +vn 0.415510 -0.809133 -0.415518 +vn 0.415518 -0.415519 -0.809128 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 -0.866033 -0.499987 +vn 0.003192 -0.866056 -0.499938 +vn 0.695566 0.000000 -0.718462 +vn 0.000000 -0.866033 -0.499987 +vn 0.000000 -0.499991 -0.866031 +vn 0.003193 -0.499942 -0.866053 +vn 0.003192 -0.866056 -0.499938 +vn 0.000000 -0.499991 -0.866031 +vn 0.000000 -0.004392 -0.999990 +vn 0.004235 -0.004375 -0.999981 +vn 0.003193 -0.499942 -0.866053 +vn 0.000000 0.004392 -0.999990 +vn 0.000000 0.499992 -0.866030 +vn 0.003193 0.499943 -0.866053 +vn 0.004235 0.004375 -0.999981 +vn 0.000000 0.499992 -0.866030 +vn 0.000000 0.866008 -0.500031 +vn 0.003193 0.866030 -0.499982 +vn 0.003193 0.499943 -0.866053 +vn 0.000000 0.866008 -0.500031 +vn 0.000000 0.999990 -0.004393 +vn 0.004236 0.999981 -0.004375 +vn 0.003193 0.866030 -0.499982 +vn 0.000000 0.999990 -0.004393 +vn 0.000000 0.999990 0.004393 +vn 0.004236 0.999981 0.004375 +vn 0.004236 0.999981 -0.004375 +vn 0.000000 0.999990 0.004393 +vn 0.000000 0.866008 0.500031 +vn 0.003193 0.866030 0.499982 +vn 0.004236 0.999981 0.004375 +vn 0.000000 0.866008 0.500031 +vn 0.000000 0.499992 0.866030 +vn 0.003193 0.499943 0.866053 +vn 0.003193 0.866030 0.499982 +vn 0.000000 0.499992 0.866030 +vn 0.000000 1.000000 0.000000 +vn 0.695549 0.718479 0.000000 +vn 0.003193 0.499943 0.866053 +vn 0.999924 -0.012301 0.000000 +vn 0.499942 -0.003298 0.866053 +vn 0.499942 0.003298 0.866053 +vn 0.695549 0.718479 0.000000 +vn 0.499942 -0.003298 0.866053 +vn 0.866052 -0.003298 0.499943 +vn 0.866052 0.003298 0.499943 +vn 0.499942 0.003298 0.866053 +vn 0.866052 -0.003298 0.499943 +vn 0.999981 -0.004374 0.004374 +vn 0.999981 0.004374 0.004374 +vn 0.866052 0.003298 0.499943 +vn 0.999981 -0.004374 -0.004374 +vn 0.866050 -0.003298 -0.499946 +vn 0.866050 0.003298 -0.499946 +vn 0.999981 0.004374 -0.004374 +vn 0.866050 -0.003298 -0.499946 +vn 0.499948 -0.003298 -0.866049 +vn 0.499948 0.003298 -0.866049 +vn 0.866050 0.003298 -0.499946 +vn 0.499948 -0.003298 -0.866049 +vn 0.004235 -0.004375 -0.999981 +vn 0.004235 0.004375 -0.999981 +vn 0.499948 0.003298 -0.866049 +vn 0.000000 -0.004392 -0.999990 +vn 0.000000 0.004392 -0.999990 +vn 0.004235 0.004375 -0.999981 +vn 0.004235 -0.004375 -0.999981 +vn 0.695566 0.000000 -0.718462 +vn 0.499931 -0.866059 -0.003297 +vn 0.499931 -0.866059 0.003297 +vn 0.999924 -0.000001 0.012301 +vn 0.499931 -0.866059 -0.003297 +vn 0.866056 -0.499936 -0.003298 +vn 0.866056 -0.499936 0.003298 +vn 0.499931 -0.866059 0.003297 +vn 0.866056 -0.499936 -0.003298 +vn 0.999981 -0.004374 -0.004374 +vn 0.999981 -0.004374 0.004374 +vn 0.866056 -0.499936 0.003298 +vn 0.999981 0.004374 0.004374 +vn 0.999981 -0.004374 0.004374 +vn 0.999981 -0.004374 -0.004374 +vn 0.999981 0.004374 -0.004374 +vn 0.999981 0.004374 -0.004374 +vn 0.866056 0.499936 -0.003298 +vn 0.866057 0.499935 0.003298 +vn 0.999981 0.004374 0.004374 +vn 0.866056 0.499936 -0.003298 +vn 0.499977 0.866033 -0.003298 +vn 0.499977 0.866033 0.003298 +vn 0.866057 0.499935 0.003298 +vn 0.499977 0.866033 -0.003298 +vn 0.004236 0.999981 -0.004375 +vn 0.004236 0.999981 0.004375 +vn 0.499977 0.866033 0.003298 +vn 0.236819 -0.843379 0.482316 +vn 0.258404 -0.966032 0.003179 +vn 0.499931 -0.866059 0.003297 +vn 0.415509 -0.809134 0.415517 +vn 0.415509 -0.809134 0.415517 +vn 0.499931 -0.866059 0.003297 +vn 0.866057 -0.499935 0.003298 +vn 0.809128 -0.415516 0.415522 +vn 0.866057 -0.499935 0.003298 +vn 0.999981 -0.004374 0.004374 +vn 0.866048 -0.003298 0.499950 +vn 0.809128 -0.415516 0.415522 +vn 0.809128 -0.415516 0.415522 +vn 0.866048 -0.003298 0.499950 +vn 0.499948 -0.003298 0.866049 +vn 0.415516 -0.415520 0.809129 +vn 0.499948 -0.003298 0.866049 +vn 0.999924 -0.012300 0.000000 +vn 0.236835 -0.482298 0.843385 +vn 0.415516 -0.415520 0.809129 +vn 0.415516 -0.415520 0.809129 +vn 0.236835 -0.482298 0.843385 +vn 0.236819 -0.843379 0.482316 +vn 0.415509 -0.809134 0.415517 +vn 0.415509 -0.809134 0.415517 +vn 0.809128 -0.415516 0.415522 +vn 0.415516 -0.415520 0.809129 +vn 0.866048 0.003298 0.499950 +vn 0.999981 0.004374 0.004374 +vn 0.866056 0.499936 0.003298 +vn 0.809128 0.415515 0.415523 +vn 0.809128 0.415515 0.415523 +vn 0.866056 0.499936 0.003298 +vn 0.499977 0.866033 0.003298 +vn 0.415526 0.809119 0.415530 +vn 0.499977 0.866033 0.003298 +vn 0.004236 0.999981 0.004375 +vn 0.003193 0.866029 0.499983 +vn 0.415526 0.809119 0.415530 +vn 0.415526 0.809119 0.415530 +vn 0.003193 0.866029 0.499983 +vn 0.003193 0.499942 0.866053 +vn 0.415518 0.415519 0.809129 +vn 0.003193 0.499942 0.866053 +vn 0.695571 0.718457 0.000000 +vn 0.499948 0.003298 0.866049 +vn 0.415518 0.415519 0.809129 +vn 0.415518 0.415519 0.809129 +vn 0.499948 0.003298 0.866049 +vn 0.866048 0.003298 0.499950 +vn 0.809128 0.415515 0.415523 +vn 0.809128 0.415515 0.415523 +vn 0.415526 0.809119 0.415530 +vn 0.415518 0.415519 0.809129 +vn 0.866056 0.499936 -0.003298 +vn 0.999981 0.004374 -0.004374 +vn 0.866048 0.003298 -0.499950 +vn 0.809128 0.415516 -0.415523 +vn 0.809128 0.415516 -0.415523 +vn 0.866048 0.003298 -0.499950 +vn 0.499948 0.003298 -0.866049 +vn 0.415516 0.415520 -0.809129 +vn 0.499948 0.003298 -0.866049 +vn 0.004235 0.004375 -0.999981 +vn 0.003193 0.499942 -0.866053 +vn 0.415516 0.415520 -0.809129 +vn 0.415516 0.415520 -0.809129 +vn 0.003193 0.499942 -0.866053 +vn 0.003193 0.866029 -0.499983 +vn 0.415526 0.809118 -0.415531 +vn 0.003193 0.866029 -0.499983 +vn 0.004236 0.999981 -0.004375 +vn 0.499977 0.866033 -0.003298 +vn 0.415526 0.809118 -0.415531 +vn 0.415526 0.809118 -0.415531 +vn 0.499977 0.866033 -0.003298 +vn 0.866056 0.499936 -0.003298 +vn 0.809128 0.415516 -0.415523 +vn 0.809128 0.415516 -0.415523 +vn 0.415516 0.415520 -0.809129 +vn 0.415526 0.809118 -0.415531 +vn 0.866048 -0.003298 -0.499950 +vn 0.999981 -0.004374 -0.004374 +vn 0.866056 -0.499936 -0.003298 +vn 0.809128 -0.415515 -0.415522 +vn 0.809128 -0.415515 -0.415522 +vn 0.866056 -0.499936 -0.003298 +vn 0.499931 -0.866059 -0.003297 +vn 0.415512 -0.809134 -0.415515 +vn 0.499931 -0.866059 -0.003297 +vn 0.130130 -0.982344 -0.134414 +vn 0.003192 -0.866056 -0.499937 +vn 0.415512 -0.809134 -0.415515 +vn 0.415512 -0.809134 -0.415515 +vn 0.003192 -0.866056 -0.499937 +vn 0.003193 -0.499942 -0.866053 +vn 0.415518 -0.415519 -0.809129 +vn 0.003193 -0.499942 -0.866053 +vn 0.004235 -0.004375 -0.999981 +vn 0.499948 -0.003298 -0.866049 +vn 0.415518 -0.415519 -0.809129 +vn 0.415518 -0.415519 -0.809129 +vn 0.499948 -0.003298 -0.866049 +vn 0.866048 -0.003298 -0.499950 +vn 0.809128 -0.415515 -0.415522 +vn 0.809128 -0.415515 -0.415522 +vn 0.415512 -0.809134 -0.415515 +vn 0.415518 -0.415519 -0.809129 +vn 0.130130 -0.982344 -0.134414 +vn 0.000000 -0.965951 -0.258727 +vn 0.000000 -0.866033 -0.499986 +vn 0.003192 -0.866056 -0.499937 +vn 0.000000 -0.866033 -0.499986 +vn 0.000000 -0.499991 -0.866031 +vn 0.003193 -0.499942 -0.866053 +vn 0.003192 -0.866056 -0.499937 +vn 0.000000 -0.499991 -0.866031 +vn 0.000000 -0.004392 -0.999990 +vn 0.004235 -0.004375 -0.999981 +vn 0.003193 -0.499942 -0.866053 +vn 0.000000 0.004392 -0.999990 +vn 0.000000 0.499991 -0.866031 +vn 0.003193 0.499942 -0.866053 +vn 0.004235 0.004375 -0.999981 +vn 0.000000 0.499991 -0.866031 +vn 0.000000 0.866007 -0.500032 +vn 0.003193 0.866029 -0.499983 +vn 0.003193 0.499942 -0.866053 +vn 0.000000 0.866007 -0.500032 +vn 0.000000 0.999990 -0.004392 +vn 0.004236 0.999981 -0.004375 +vn 0.003193 0.866029 -0.499983 +vn 0.000000 0.999990 -0.004392 +vn 0.000000 0.999990 0.004392 +vn 0.004236 0.999981 0.004375 +vn 0.004236 0.999981 -0.004375 +vn 0.000000 0.999990 0.004392 +vn 0.000000 0.866007 0.500032 +vn 0.003193 0.866029 0.499983 +vn 0.004236 0.999981 0.004375 +vn 0.000000 0.866007 0.500032 +vn 0.000000 0.499991 0.866031 +vn 0.003193 0.499942 0.866053 +vn 0.003193 0.866029 0.499983 +vn 0.000000 0.499991 0.866031 +vn 0.000000 0.258817 0.965926 +vn 0.695571 0.718457 0.000000 +vn 0.003193 0.499942 0.866053 +vn 0.999924 -0.012300 0.000000 +vn 0.499948 -0.003298 0.866049 +vn 0.499948 0.003298 0.866049 +vn 0.695571 0.718457 0.000000 +vn 0.499948 -0.003298 0.866049 +vn 0.866048 -0.003298 0.499950 +vn 0.866048 0.003298 0.499950 +vn 0.499948 0.003298 0.866049 +vn 0.866048 -0.003298 0.499950 +vn 0.999981 -0.004374 0.004374 +vn 0.999981 0.004374 0.004374 +vn 0.866048 0.003298 0.499950 +vn 0.999981 -0.004374 -0.004374 +vn 0.866048 -0.003298 -0.499950 +vn 0.866048 0.003298 -0.499950 +vn 0.999981 0.004374 -0.004374 +vn 0.866048 -0.003298 -0.499950 +vn 0.499948 -0.003298 -0.866049 +vn 0.499948 0.003298 -0.866049 +vn 0.866048 0.003298 -0.499950 +vn 0.499948 -0.003298 -0.866049 +vn 0.004235 -0.004375 -0.999981 +vn 0.004235 0.004375 -0.999981 +vn 0.499948 0.003298 -0.866049 +vn 0.004235 -0.004375 -0.999981 +vn 0.000000 -0.004392 -0.999990 +vn 0.000000 0.004392 -0.999990 +vn 0.004235 0.004375 -0.999981 +vn 0.258404 -0.966032 0.003179 +vn 0.130130 -0.982344 -0.134414 +vn 0.499931 -0.866059 -0.003297 +vn 0.499931 -0.866059 0.003297 +vn 0.499931 -0.866059 -0.003297 +vn 0.866056 -0.499936 -0.003298 +vn 0.866057 -0.499935 0.003298 +vn 0.499931 -0.866059 0.003297 +vn 0.866056 -0.499936 -0.003298 +vn 0.999981 -0.004374 -0.004374 +vn 0.999981 -0.004374 0.004374 +vn 0.866057 -0.499935 0.003298 +vn 0.999981 -0.004374 0.004374 +vn 0.999981 -0.004374 -0.004374 +vn 0.999981 0.004374 -0.004374 +vn 0.999981 0.004374 0.004374 +vn 0.999981 0.004374 -0.004374 +vn 0.866056 0.499936 -0.003298 +vn 0.866056 0.499936 0.003298 +vn 0.999981 0.004374 0.004374 +vn 0.866056 0.499936 -0.003298 +vn 0.499977 0.866033 -0.003298 +vn 0.499977 0.866033 0.003298 +vn 0.866056 0.499936 0.003298 +vn 0.499977 0.866033 -0.003298 +vn 0.004236 0.999981 -0.004375 +vn 0.004236 0.999981 0.004375 +vn 0.499977 0.866033 0.003298 +vn 0.866054 0.499940 -0.003193 +vn 0.999981 0.004374 -0.004235 +vn 0.866052 0.003298 -0.499943 +vn 0.809130 0.415514 -0.415520 +vn 0.809130 0.415514 -0.415520 +vn 0.866052 0.003298 -0.499943 +vn 0.499942 0.003298 -0.866053 +vn 0.415511 0.415521 -0.809131 +vn 0.499942 0.003298 -0.866053 +vn 0.999924 0.012301 0.000000 +vn 0.236818 0.482300 -0.843388 +vn 0.415511 0.415521 -0.809131 +vn 0.415511 0.415521 -0.809131 +vn 0.236818 0.482300 -0.843388 +vn 0.236839 0.843361 -0.482338 +vn 0.415522 0.809120 -0.415532 +vn 0.236839 0.843361 -0.482338 +vn 0.999929 -0.000001 -0.011909 +vn 0.499981 0.866031 -0.003193 +vn 0.415522 0.809120 -0.415532 +vn 0.415522 0.809120 -0.415532 +vn 0.499981 0.866031 -0.003193 +vn 0.866054 0.499940 -0.003193 +vn 0.809130 0.415514 -0.415520 +vn 0.809130 0.415514 -0.415520 +vn 0.415511 0.415521 -0.809131 +vn 0.415522 0.809120 -0.415532 +vn 0.866052 -0.003298 -0.499943 +vn 0.999981 -0.004374 -0.004235 +vn 0.866054 -0.499940 -0.003193 +vn 0.809131 -0.415512 -0.415519 +vn 0.809131 -0.415512 -0.415519 +vn 0.866054 -0.499940 -0.003193 +vn 0.499935 -0.866057 -0.003192 +vn 0.415510 -0.809134 -0.415515 +vn 0.499935 -0.866057 -0.003192 +vn 0.258420 -0.966028 -0.003078 +vn 0.236818 -0.843380 -0.482315 +vn 0.415510 -0.809134 -0.415515 +vn 0.415510 -0.809134 -0.415515 +vn 0.236818 -0.843380 -0.482315 +vn 0.236829 -0.482298 -0.843387 +vn 0.415517 -0.415519 -0.809129 +vn 0.236829 -0.482298 -0.843387 +vn 0.999924 -0.012301 0.000000 +vn 0.499942 -0.003298 -0.866053 +vn 0.415517 -0.415519 -0.809129 +vn 0.415517 -0.415519 -0.809129 +vn 0.499942 -0.003298 -0.866053 +vn 0.866052 -0.003298 -0.499943 +vn 0.809131 -0.415512 -0.415519 +vn 0.809131 -0.415512 -0.415519 +vn 0.415510 -0.809134 -0.415515 +vn 0.415517 -0.415519 -0.809129 +vn 0.999981 -0.004374 -0.004235 +vn 0.866052 -0.003298 -0.499943 +vn 0.866052 0.003298 -0.499943 +vn 0.999981 0.004374 -0.004235 +vn 0.866052 -0.003298 -0.499943 +vn 0.499942 -0.003298 -0.866053 +vn 0.499942 0.003298 -0.866053 +vn 0.866052 0.003298 -0.499943 +vn 0.499942 -0.003298 -0.866053 +vn 0.999924 -0.012301 0.000000 +vn 0.999924 0.012301 0.000000 +vn 0.499942 0.003298 -0.866053 +vn 0.258691 -0.965960 0.000000 +vn 0.258420 -0.966028 -0.003078 +vn 0.499935 -0.866057 -0.003192 +vn 0.258691 -0.965960 0.000000 +vn 0.499935 -0.866057 -0.003192 +vn 0.866054 -0.499940 -0.003193 +vn 0.707228 -0.706986 0.000000 +vn 0.707228 -0.706986 0.000000 +vn 0.866054 -0.499940 -0.003193 +vn 0.999981 -0.004374 -0.004235 +vn 0.965920 -0.258840 0.000000 +vn 0.965920 -0.258840 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.999981 -0.004374 -0.004235 +vn 0.999981 0.004374 -0.004235 +vn 0.999981 0.004374 -0.004235 +vn 0.866054 0.499940 -0.003193 +vn 0.866032 0.499989 0.000000 +vn 0.999990 0.004392 0.000000 +vn 0.866054 0.499940 -0.003193 +vn 0.499981 0.866031 -0.003193 +vn 0.500030 0.866008 0.000000 +vn 0.866032 0.499989 0.000000 +vn 0.499981 0.866031 -0.003193 +vn 0.999929 -0.000001 -0.011909 +vn 1.000000 0.000000 0.000000 +vn 0.500030 0.866008 0.000000 +vn 0.236817 -0.843379 -0.482318 +vn 0.999929 -0.000001 -0.011909 +vn 1.000000 0.000000 0.000015 +vn 0.236829 -0.482297 -0.843387 +vn 0.236817 -0.843379 -0.482318 +vn 1.000000 0.000000 0.000015 +vn 0.999924 -0.012301 0.000000 +vn 0.236829 -0.482297 -0.843387 +vn 1.000000 0.000000 0.000015 +vn 0.236846 0.843361 0.482335 +vn 0.999924 -0.000001 0.012301 +vn 1.000000 0.000000 0.000015 +vn 0.236829 0.482298 0.843387 +vn 0.236846 0.843361 0.482335 +vn 1.000000 0.000000 0.000015 +vn 0.999924 0.012301 0.000000 +vn 0.236829 0.482298 0.843387 +vn 1.000000 0.000000 0.000015 +vn 0.236818 -0.482300 0.843388 +vn 0.999924 -0.012301 0.000000 +vn 1.000000 0.000000 0.000015 +vn 0.236811 -0.843379 0.482321 +vn 0.236818 -0.482300 0.843388 +vn 1.000000 0.000000 0.000015 +vn 0.999924 -0.000001 0.012301 +vn 0.236811 -0.843379 0.482321 +vn 1.000000 0.000000 0.000015 +vn 0.236818 0.482300 -0.843388 +vn 0.999924 0.012301 0.000000 +vn 1.000000 0.000000 0.000015 +vn 0.236839 0.843361 -0.482338 +vn 0.236818 0.482300 -0.843388 +vn 1.000000 0.000000 0.000015 +vn 0.999929 -0.000001 -0.011909 +vn 0.236839 0.843361 -0.482338 +vn 1.000000 0.000000 0.000015 +vn 0.867143 0.498048 -0.003271 +vn 0.999982 0.004306 -0.004236 +vn 0.866057 0.003297 -0.499935 +vn 0.809132 0.415510 -0.415520 +vn 0.809132 0.415510 -0.415520 +vn 0.866057 0.003297 -0.499935 +vn 0.499979 0.003298 -0.866031 +vn 0.415525 0.415523 -0.809123 +vn 0.499979 0.003298 -0.866031 +vn 0.004237 0.004306 -0.999982 +vn 0.003271 0.498083 -0.867123 +vn 0.415525 0.415523 -0.809123 +vn 0.415525 0.415523 -0.809123 +vn 0.003271 0.498083 -0.867123 +vn 0.003298 0.866056 -0.499936 +vn 0.415517 0.809133 -0.415512 +vn 0.003298 0.866056 -0.499936 +vn 0.004374 0.999981 -0.004374 +vn 0.499943 0.866052 -0.003298 +vn 0.415517 0.809133 -0.415512 +vn 0.415517 0.809133 -0.415512 +vn 0.499943 0.866052 -0.003298 +vn 0.867143 0.498048 -0.003271 +vn 0.809132 0.415510 -0.415520 +vn 0.809132 0.415510 -0.415520 +vn 0.415525 0.415523 -0.809123 +vn 0.415517 0.809133 -0.415512 +vn 0.866057 -0.003297 -0.499935 +vn 0.999981 -0.004375 -0.004235 +vn 0.866050 -0.499947 -0.003193 +vn 0.809129 -0.415515 -0.415521 +vn 0.809129 -0.415515 -0.415521 +vn 0.866050 -0.499947 -0.003193 +vn 0.499953 -0.866047 -0.003193 +vn 0.415521 -0.809132 -0.415509 +vn 0.499953 -0.866047 -0.003193 +vn 0.004236 -0.999982 -0.004236 +vn 0.003193 -0.866048 -0.499951 +vn 0.415521 -0.809132 -0.415509 +vn 0.415521 -0.809132 -0.415509 +vn 0.003193 -0.866048 -0.499951 +vn 0.003193 -0.499980 -0.866031 +vn 0.415529 -0.415525 -0.809120 +vn 0.003193 -0.499980 -0.866031 +vn 0.004235 -0.004375 -0.999981 +vn 0.499979 -0.003298 -0.866031 +vn 0.415529 -0.415525 -0.809120 +vn 0.415529 -0.415525 -0.809120 +vn 0.499979 -0.003298 -0.866031 +vn 0.866057 -0.003297 -0.499935 +vn 0.809129 -0.415515 -0.415521 +vn 0.809129 -0.415515 -0.415521 +vn 0.415521 -0.809132 -0.415509 +vn 0.415529 -0.415525 -0.809120 +vn 0.000000 -0.999991 -0.004253 +vn 0.000000 -0.866025 -0.500001 +vn 0.003193 -0.866048 -0.499951 +vn 0.004236 -0.999982 -0.004236 +vn 0.000000 -0.866025 -0.500001 +vn 0.000000 -0.500030 -0.866008 +vn 0.003193 -0.499980 -0.866031 +vn 0.003193 -0.866048 -0.499951 +vn 0.000000 -0.500030 -0.866008 +vn 0.000000 -0.004392 -0.999990 +vn 0.004235 -0.004375 -0.999981 +vn 0.003193 -0.499980 -0.866031 +vn 0.004235 -0.004375 -0.999981 +vn 0.000000 -0.004392 -0.999990 +vn 0.000000 0.001329 -0.999999 +vn 0.004237 0.004306 -0.999982 +vn 0.000000 0.001329 -0.999999 +vn 0.000000 0.437230 -0.899350 +vn 0.003271 0.498083 -0.867123 +vn 0.004237 0.004306 -0.999982 +vn 0.000000 0.437230 -0.899350 +vn 0.000000 0.866033 -0.499987 +vn 0.003298 0.866056 -0.499936 +vn 0.003271 0.498083 -0.867123 +vn 0.000000 0.866033 -0.499987 +vn 0.000000 0.999990 -0.004392 +vn 0.004374 0.999981 -0.004374 +vn 0.003298 0.866056 -0.499936 +vn 0.004392 0.999990 0.000000 +vn 0.499993 0.866029 0.000000 +vn 0.499943 0.866052 -0.003298 +vn 0.004374 0.999981 -0.004374 +vn 0.499993 0.866029 0.000000 +vn 0.899367 0.437194 0.000000 +vn 0.867143 0.498048 -0.003271 +vn 0.499943 0.866052 -0.003298 +vn 0.899367 0.437194 0.000000 +vn 0.999999 0.001329 0.000000 +vn 0.999982 0.004306 -0.004236 +vn 0.867143 0.498048 -0.003271 +vn 0.999990 -0.004392 0.000000 +vn 0.866028 -0.499996 0.000000 +vn 0.866050 -0.499947 -0.003193 +vn 0.999981 -0.004375 -0.004235 +vn 0.866028 -0.499996 0.000000 +vn 0.500002 -0.866024 0.000000 +vn 0.499953 -0.866047 -0.003193 +vn 0.866050 -0.499947 -0.003193 +vn 0.500002 -0.866024 0.000000 +vn 0.004253 -0.999991 0.000000 +vn 0.004236 -0.999982 -0.004236 +vn 0.499953 -0.866047 -0.003193 +vn 0.004253 -0.999991 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -0.999991 -0.004253 +vn 0.004236 -0.999982 -0.004236 +vn 0.999982 0.004306 -0.004236 +vn 0.999999 0.001329 0.000000 +vn 0.999990 -0.004392 0.000000 +vn 0.999981 -0.004375 -0.004235 +vn 0.866057 0.003297 -0.499935 +vn 0.999982 0.004306 -0.004236 +vn 0.999981 -0.004375 -0.004235 +vn 0.866057 -0.003297 -0.499935 +vn 0.499979 0.003298 -0.866031 +vn 0.866057 0.003297 -0.499935 +vn 0.866057 -0.003297 -0.499935 +vn 0.499979 -0.003298 -0.866031 +vn 0.004237 0.004306 -0.999982 +vn 0.499979 0.003298 -0.866031 +vn 0.499979 -0.003298 -0.866031 +vn 0.004235 -0.004375 -0.999981 +vn -0.866042 -0.003298 0.499961 +vn -0.999981 -0.004374 0.004374 +vn -0.866049 -0.499948 0.003298 +vn -0.809120 -0.415529 0.415524 +vn -0.809120 -0.415529 0.415524 +vn -0.866049 -0.499948 0.003298 +vn -0.499938 -0.866055 0.003298 +vn -0.415520 -0.809129 0.415515 +vn -0.499938 -0.866055 0.003298 +vn -0.258411 -0.966030 0.003179 +vn -0.236828 -0.843376 0.482317 +vn -0.415520 -0.809129 0.415515 +vn -0.415520 -0.809129 0.415515 +vn -0.236828 -0.843376 0.482317 +vn -0.236844 -0.482300 0.843381 +vn -0.415524 -0.415524 0.809123 +vn -0.236844 -0.482300 0.843381 +vn -0.999924 -0.012300 0.000000 +vn -0.499955 -0.003298 0.866045 +vn -0.415524 -0.415524 0.809123 +vn -0.415524 -0.415524 0.809123 +vn -0.499955 -0.003298 0.866045 +vn -0.866042 -0.003298 0.499961 +vn -0.809120 -0.415529 0.415524 +vn -0.809120 -0.415529 0.415524 +vn -0.415520 -0.809129 0.415515 +vn -0.415524 -0.415524 0.809123 +vn -0.003193 0.866029 0.499983 +vn -0.004236 0.999981 0.004375 +vn -0.499984 0.866029 0.003298 +vn -0.415535 0.809114 0.415531 +vn -0.415535 0.809114 0.415531 +vn -0.499984 0.866029 0.003298 +vn -0.866049 0.499948 0.003298 +vn -0.809119 0.415533 0.415523 +vn -0.866049 0.499948 0.003298 +vn -0.999981 0.004374 0.004374 +vn -0.866042 0.003298 0.499961 +vn -0.809119 0.415533 0.415523 +vn -0.809119 0.415533 0.415523 +vn -0.866042 0.003298 0.499961 +vn -0.499955 0.003298 0.866045 +vn -0.415521 0.415528 0.809122 +vn -0.499955 0.003298 0.866045 +vn -0.695571 0.718457 0.000000 +vn -0.003193 0.499942 0.866053 +vn -0.415521 0.415528 0.809122 +vn -0.415521 0.415528 0.809122 +vn -0.003193 0.499942 0.866053 +vn -0.003193 0.866029 0.499983 +vn -0.415535 0.809114 0.415531 +vn -0.415535 0.809114 0.415531 +vn -0.809119 0.415533 0.415523 +vn -0.415521 0.415528 0.809122 +vn -0.003193 0.499942 -0.866053 +vn -0.004235 0.004375 -0.999981 +vn -0.499948 0.003298 -0.866049 +vn -0.415518 0.415519 -0.809129 +vn -0.415518 0.415519 -0.809129 +vn -0.499948 0.003298 -0.866049 +vn -0.866048 0.003298 -0.499950 +vn -0.809128 0.415515 -0.415523 +vn -0.866048 0.003298 -0.499950 +vn -0.999981 0.004374 -0.004374 +vn -0.866050 0.499947 -0.003297 +vn -0.809128 0.415515 -0.415523 +vn -0.809128 0.415515 -0.415523 +vn -0.866050 0.499947 -0.003297 +vn -0.499984 0.866029 -0.003298 +vn -0.415527 0.809118 -0.415530 +vn -0.499984 0.866029 -0.003298 +vn -0.004236 0.999981 -0.004375 +vn -0.003193 0.866029 -0.499983 +vn -0.415527 0.809118 -0.415530 +vn -0.415527 0.809118 -0.415530 +vn -0.003193 0.866029 -0.499983 +vn -0.003193 0.499942 -0.866053 +vn -0.415518 0.415519 -0.809129 +vn -0.415518 0.415519 -0.809129 +vn -0.809128 0.415515 -0.415523 +vn -0.415527 0.809118 -0.415530 +vn -0.003192 -0.866056 -0.499937 +vn -0.130133 -0.982343 -0.134416 +vn -0.499938 -0.866055 -0.003297 +vn -0.415511 -0.809133 -0.415517 +vn -0.415511 -0.809133 -0.415517 +vn -0.499938 -0.866055 -0.003297 +vn -0.866049 -0.499948 -0.003297 +vn -0.809128 -0.415516 -0.415522 +vn -0.866049 -0.499948 -0.003297 +vn -0.999981 -0.004374 -0.004374 +vn -0.866048 -0.003298 -0.499950 +vn -0.809128 -0.415516 -0.415522 +vn -0.809128 -0.415516 -0.415522 +vn -0.866048 -0.003298 -0.499950 +vn -0.499948 -0.003298 -0.866049 +vn -0.415516 -0.415520 -0.809129 +vn -0.499948 -0.003298 -0.866049 +vn -0.004235 -0.004375 -0.999981 +vn -0.003193 -0.499942 -0.866053 +vn -0.415516 -0.415520 -0.809129 +vn -0.415516 -0.415520 -0.809129 +vn -0.003193 -0.499942 -0.866053 +vn -0.003192 -0.866056 -0.499937 +vn -0.415511 -0.809133 -0.415517 +vn -0.415511 -0.809133 -0.415517 +vn -0.809128 -0.415516 -0.415522 +vn -0.415516 -0.415520 -0.809129 +vn 0.000000 -0.866033 -0.499986 +vn 0.000000 -0.965951 -0.258727 +vn -0.130133 -0.982343 -0.134416 +vn -0.003192 -0.866056 -0.499937 +vn 0.000000 -0.499991 -0.866031 +vn 0.000000 -0.866033 -0.499986 +vn -0.003192 -0.866056 -0.499937 +vn -0.003193 -0.499942 -0.866053 +vn 0.000000 -0.004392 -0.999990 +vn 0.000000 -0.499991 -0.866031 +vn -0.003193 -0.499942 -0.866053 +vn -0.004235 -0.004375 -0.999981 +vn 0.000000 0.499991 -0.866031 +vn 0.000000 0.004392 -0.999990 +vn -0.004235 0.004375 -0.999981 +vn -0.003193 0.499942 -0.866053 +vn 0.000000 0.866007 -0.500032 +vn 0.000000 0.499991 -0.866031 +vn -0.003193 0.499942 -0.866053 +vn -0.003193 0.866029 -0.499983 +vn 0.000000 0.999990 -0.004392 +vn 0.000000 0.866007 -0.500032 +vn -0.003193 0.866029 -0.499983 +vn -0.004236 0.999981 -0.004375 +vn 0.000000 0.999990 0.004392 +vn 0.000000 0.999990 -0.004392 +vn -0.004236 0.999981 -0.004375 +vn -0.004236 0.999981 0.004375 +vn 0.000000 0.866007 0.500032 +vn 0.000000 0.999990 0.004392 +vn -0.004236 0.999981 0.004375 +vn -0.003193 0.866029 0.499983 +vn 0.000000 0.499991 0.866031 +vn 0.000000 0.866007 0.500032 +vn -0.003193 0.866029 0.499983 +vn -0.003193 0.499942 0.866053 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.499991 0.866031 +vn -0.003193 0.499942 0.866053 +vn -0.695571 0.718457 0.000000 +vn -0.999981 -0.004374 0.004374 +vn -0.866042 -0.003298 0.499961 +vn -0.866042 0.003298 0.499961 +vn -0.999981 0.004374 0.004374 +vn -0.866042 -0.003298 0.499961 +vn -0.499955 -0.003298 0.866045 +vn -0.499955 0.003298 0.866045 +vn -0.866042 0.003298 0.499961 +vn -0.499955 -0.003298 0.866045 +vn -0.999924 -0.012300 0.000000 +vn -0.695571 0.718457 0.000000 +vn -0.499955 0.003298 0.866045 +vn -0.004235 0.004375 -0.999981 +vn 0.000000 0.004392 -0.999990 +vn 0.000000 -0.004392 -0.999990 +vn -0.004235 -0.004375 -0.999981 +vn -0.004235 -0.004375 -0.999981 +vn -0.499948 -0.003298 -0.866049 +vn -0.499948 0.003298 -0.866049 +vn -0.004235 0.004375 -0.999981 +vn -0.499948 -0.003298 -0.866049 +vn -0.866048 -0.003298 -0.499950 +vn -0.866048 0.003298 -0.499950 +vn -0.499948 0.003298 -0.866049 +vn -0.866048 -0.003298 -0.499950 +vn -0.999981 -0.004374 -0.004374 +vn -0.999981 0.004374 -0.004374 +vn -0.866048 0.003298 -0.499950 +vn -0.999981 -0.004374 0.004374 +vn -0.999981 0.004374 0.004374 +vn -0.999981 0.004374 -0.004374 +vn -0.999981 -0.004374 -0.004374 +vn -0.499984 0.866029 0.003298 +vn -0.004236 0.999981 0.004375 +vn -0.004236 0.999981 -0.004375 +vn -0.499984 0.866029 -0.003298 +vn -0.866049 0.499948 0.003298 +vn -0.499984 0.866029 0.003298 +vn -0.499984 0.866029 -0.003298 +vn -0.866050 0.499947 -0.003297 +vn -0.999981 0.004374 0.004374 +vn -0.866049 0.499948 0.003298 +vn -0.866050 0.499947 -0.003297 +vn -0.999981 0.004374 -0.004374 +vn -0.866049 -0.499948 0.003298 +vn -0.999981 -0.004374 0.004374 +vn -0.999981 -0.004374 -0.004374 +vn -0.866049 -0.499948 -0.003297 +vn -0.499938 -0.866055 0.003298 +vn -0.866049 -0.499948 0.003298 +vn -0.866049 -0.499948 -0.003297 +vn -0.499938 -0.866055 -0.003297 +vn -0.130133 -0.982343 -0.134416 +vn -0.258411 -0.966030 0.003179 +vn -0.499938 -0.866055 0.003298 +vn -0.499938 -0.866055 -0.003297 +vn -0.866046 -0.003298 0.499954 +vn -0.999981 -0.004374 0.004374 +vn -0.866049 -0.499948 0.003298 +vn -0.809123 -0.415526 0.415521 +vn -0.809123 -0.415526 0.415521 +vn -0.866049 -0.499948 0.003298 +vn -0.499938 -0.866055 0.003297 +vn -0.415520 -0.809129 0.415515 +vn -0.499938 -0.866055 0.003297 +vn -0.258411 -0.966030 0.003179 +vn -0.236828 -0.843376 0.482317 +vn -0.415520 -0.809129 0.415515 +vn -0.415520 -0.809129 0.415515 +vn -0.236828 -0.843376 0.482317 +vn -0.236819 -0.482243 0.843421 +vn -0.415504 -0.415504 0.809144 +vn -0.236819 -0.482243 0.843421 +vn -0.258414 -0.003178 0.966029 +vn -0.499883 -0.003297 0.866087 +vn -0.415504 -0.415504 0.809144 +vn -0.415504 -0.415504 0.809144 +vn -0.499883 -0.003297 0.866087 +vn -0.866046 -0.003298 0.499954 +vn -0.809123 -0.415526 0.415521 +vn -0.809123 -0.415526 0.415521 +vn -0.415520 -0.809129 0.415515 +vn -0.415504 -0.415504 0.809144 +vn -0.236846 0.843358 0.482340 +vn -0.999924 -0.000001 0.012301 +vn -0.499984 0.866029 0.003298 +vn -0.415531 0.809115 0.415532 +vn -0.415531 0.809115 0.415532 +vn -0.499984 0.866029 0.003298 +vn -0.866049 0.499948 0.003298 +vn -0.809121 0.415531 0.415520 +vn -0.866049 0.499948 0.003298 +vn -0.999981 0.004374 0.004374 +vn -0.866046 0.003298 0.499954 +vn -0.809121 0.415531 0.415520 +vn -0.809121 0.415531 0.415520 +vn -0.866046 0.003298 0.499954 +vn -0.499883 0.003298 0.866087 +vn -0.415496 0.415510 0.809145 +vn -0.499883 0.003298 0.866087 +vn -0.258414 0.003178 0.966029 +vn -0.236809 0.482245 0.843423 +vn -0.415496 0.415510 0.809145 +vn -0.415496 0.415510 0.809145 +vn -0.236809 0.482245 0.843423 +vn -0.236846 0.843358 0.482340 +vn -0.415531 0.809115 0.415532 +vn -0.415531 0.809115 0.415532 +vn -0.809121 0.415531 0.415520 +vn -0.415496 0.415510 0.809145 +vn -0.003193 0.499942 -0.866053 +vn -0.695571 0.718457 0.000000 +vn -0.499955 0.003298 -0.866045 +vn -0.415524 0.415523 -0.809123 +vn -0.415524 0.415523 -0.809123 +vn -0.499955 0.003298 -0.866045 +vn -0.866044 0.003298 -0.499958 +vn -0.809120 0.415529 -0.415524 +vn -0.866044 0.003298 -0.499958 +vn -0.999981 0.004374 -0.004374 +vn -0.866049 0.499948 -0.003298 +vn -0.809120 0.415529 -0.415524 +vn -0.809120 0.415529 -0.415524 +vn -0.866049 0.499948 -0.003298 +vn -0.499984 0.866029 -0.003298 +vn -0.415536 0.809114 -0.415530 +vn -0.499984 0.866029 -0.003298 +vn -0.695566 0.000000 -0.718462 +vn -0.003193 0.866029 -0.499983 +vn -0.415536 0.809114 -0.415530 +vn -0.415536 0.809114 -0.415530 +vn -0.003193 0.866029 -0.499983 +vn -0.003193 0.499942 -0.866053 +vn -0.415524 0.415523 -0.809123 +vn -0.415524 0.415523 -0.809123 +vn -0.809120 0.415529 -0.415524 +vn -0.415536 0.809114 -0.415530 +vn -0.236827 -0.843376 -0.482318 +vn -0.258411 -0.966030 -0.003179 +vn -0.499938 -0.866055 -0.003297 +vn -0.415519 -0.809130 -0.415516 +vn -0.415519 -0.809130 -0.415516 +vn -0.499938 -0.866055 -0.003297 +vn -0.866049 -0.499948 -0.003298 +vn -0.809119 -0.415533 -0.415523 +vn -0.866049 -0.499948 -0.003298 +vn -0.999981 -0.004374 -0.004374 +vn -0.866044 -0.003298 -0.499958 +vn -0.809119 -0.415533 -0.415523 +vn -0.809119 -0.415533 -0.415523 +vn -0.866044 -0.003298 -0.499958 +vn -0.499955 -0.003298 -0.866045 +vn -0.415522 -0.415529 -0.809121 +vn -0.499955 -0.003298 -0.866045 +vn -0.999924 -0.012300 0.000000 +vn -0.236842 -0.482300 -0.843382 +vn -0.415522 -0.415529 -0.809121 +vn -0.415522 -0.415529 -0.809121 +vn -0.236842 -0.482300 -0.843382 +vn -0.236827 -0.843376 -0.482318 +vn -0.415519 -0.809130 -0.415516 +vn -0.415519 -0.809130 -0.415516 +vn -0.809119 -0.415533 -0.415523 +vn -0.415522 -0.415529 -0.809121 +vn 0.000000 0.499991 -0.866031 +vn 0.000000 1.000000 0.000000 +vn -0.695571 0.718457 0.000000 +vn -0.003193 0.499942 -0.866053 +vn 0.000000 0.866007 -0.500032 +vn 0.000000 0.499991 -0.866031 +vn -0.003193 0.499942 -0.866053 +vn -0.003193 0.866029 -0.499983 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.866007 -0.500032 +vn -0.003193 0.866029 -0.499983 +vn -0.695566 0.000000 -0.718462 +vn -0.999981 -0.004374 0.004374 +vn -0.866046 -0.003298 0.499954 +vn -0.866046 0.003298 0.499954 +vn -0.999981 0.004374 0.004374 +vn -0.866046 -0.003298 0.499954 +vn -0.499883 -0.003297 0.866087 +vn -0.499883 0.003298 0.866087 +vn -0.866046 0.003298 0.499954 +vn -0.499883 -0.003297 0.866087 +vn -0.258414 -0.003178 0.966029 +vn -0.258414 0.003178 0.966029 +vn -0.499883 0.003298 0.866087 +vn -0.999924 -0.012300 0.000000 +vn -0.499955 -0.003298 -0.866045 +vn -0.499955 0.003298 -0.866045 +vn -0.695571 0.718457 0.000000 +vn -0.499955 -0.003298 -0.866045 +vn -0.866044 -0.003298 -0.499958 +vn -0.866044 0.003298 -0.499958 +vn -0.499955 0.003298 -0.866045 +vn -0.866044 -0.003298 -0.499958 +vn -0.999981 -0.004374 -0.004374 +vn -0.999981 0.004374 -0.004374 +vn -0.866044 0.003298 -0.499958 +vn -0.999981 0.004374 0.004374 +vn -0.999981 0.004374 -0.004374 +vn -0.999981 -0.004374 -0.004374 +vn -0.999981 -0.004374 0.004374 +vn -0.695566 0.000000 -0.718462 +vn -0.499984 0.866029 -0.003298 +vn -0.499984 0.866029 0.003298 +vn -0.999924 -0.000001 0.012301 +vn -0.499984 0.866029 -0.003298 +vn -0.866049 0.499948 -0.003298 +vn -0.866049 0.499948 0.003298 +vn -0.499984 0.866029 0.003298 +vn -0.866049 0.499948 -0.003298 +vn -0.999981 0.004374 -0.004374 +vn -0.999981 0.004374 0.004374 +vn -0.866049 0.499948 0.003298 +vn -0.999981 -0.004374 -0.004374 +vn -0.866049 -0.499948 -0.003298 +vn -0.866049 -0.499948 0.003298 +vn -0.999981 -0.004374 0.004374 +vn -0.866049 -0.499948 -0.003298 +vn -0.499938 -0.866055 -0.003297 +vn -0.499938 -0.866055 0.003297 +vn -0.866049 -0.499948 0.003298 +vn -0.499938 -0.866055 -0.003297 +vn -0.258411 -0.966030 -0.003179 +vn -0.258411 -0.966030 0.003179 +vn -0.499938 -0.866055 0.003297 +vn -0.866046 -0.003298 0.499954 +vn -0.999981 -0.004374 0.004374 +vn -0.866049 -0.499948 0.003298 +vn -0.809123 -0.415526 0.415522 +vn -0.809123 -0.415526 0.415522 +vn -0.866049 -0.499948 0.003298 +vn -0.499938 -0.866055 0.003297 +vn -0.415520 -0.809129 0.415515 +vn -0.499938 -0.866055 0.003297 +vn -0.999924 -0.000001 0.012301 +vn -0.236828 -0.843376 0.482316 +vn -0.415520 -0.809129 0.415515 +vn -0.415520 -0.809129 0.415515 +vn -0.236828 -0.843376 0.482316 +vn -0.236836 -0.482301 0.843383 +vn -0.415524 -0.415524 0.809123 +vn -0.236836 -0.482301 0.843383 +vn -0.999924 -0.012301 0.000000 +vn -0.499949 -0.003298 0.866049 +vn -0.415524 -0.415524 0.809123 +vn -0.415524 -0.415524 0.809123 +vn -0.499949 -0.003298 0.866049 +vn -0.866046 -0.003298 0.499954 +vn -0.809123 -0.415526 0.415522 +vn -0.809123 -0.415526 0.415522 +vn -0.415520 -0.809129 0.415515 +vn -0.415524 -0.415524 0.809123 +vn -0.003193 0.866030 0.499982 +vn -0.004236 0.999981 0.004375 +vn -0.499984 0.866029 0.003298 +vn -0.415531 0.809115 0.415531 +vn -0.415531 0.809115 0.415531 +vn -0.499984 0.866029 0.003298 +vn -0.866049 0.499948 0.003298 +vn -0.809123 0.415532 0.415516 +vn -0.866049 0.499948 0.003298 +vn -0.999981 0.004374 0.004374 +vn -0.866046 0.003298 0.499954 +vn -0.809123 0.415532 0.415516 +vn -0.809123 0.415532 0.415516 +vn -0.866046 0.003298 0.499954 +vn -0.499949 0.003298 0.866049 +vn -0.415517 0.415531 0.809123 +vn -0.499949 0.003298 0.866049 +vn -0.695549 0.718479 0.000000 +vn -0.003192 0.499943 0.866053 +vn -0.415517 0.415531 0.809123 +vn -0.415517 0.415531 0.809123 +vn -0.003192 0.499943 0.866053 +vn -0.003193 0.866030 0.499982 +vn -0.415531 0.809115 0.415531 +vn -0.415531 0.809115 0.415531 +vn -0.809123 0.415532 0.415516 +vn -0.415517 0.415531 0.809123 +vn -0.003193 0.499943 -0.866053 +vn -0.004235 0.004375 -0.999981 +vn -0.499955 0.003298 -0.866045 +vn -0.415525 0.415524 -0.809122 +vn -0.415525 0.415524 -0.809122 +vn -0.499955 0.003298 -0.866045 +vn -0.866044 0.003298 -0.499957 +vn -0.809121 0.415530 -0.415521 +vn -0.866044 0.003298 -0.499957 +vn -0.999981 0.004374 -0.004374 +vn -0.866049 0.499948 -0.003298 +vn -0.809121 0.415530 -0.415521 +vn -0.809121 0.415530 -0.415521 +vn -0.866049 0.499948 -0.003298 +vn -0.499984 0.866029 -0.003298 +vn -0.415536 0.809114 -0.415530 +vn -0.499984 0.866029 -0.003298 +vn -0.004236 0.999981 -0.004375 +vn -0.003193 0.866030 -0.499982 +vn -0.415536 0.809114 -0.415530 +vn -0.415536 0.809114 -0.415530 +vn -0.003193 0.866030 -0.499982 +vn -0.003193 0.499943 -0.866053 +vn -0.415525 0.415524 -0.809122 +vn -0.415525 0.415524 -0.809122 +vn -0.809121 0.415530 -0.415521 +vn -0.415536 0.809114 -0.415530 +vn -0.003192 -0.866056 -0.499938 +vn -0.695566 0.000000 -0.718462 +vn -0.499938 -0.866055 -0.003297 +vn -0.415519 -0.809130 -0.415516 +vn -0.415519 -0.809130 -0.415516 +vn -0.499938 -0.866055 -0.003297 +vn -0.866049 -0.499948 -0.003298 +vn -0.809119 -0.415533 -0.415522 +vn -0.866049 -0.499948 -0.003298 +vn -0.999981 -0.004374 -0.004374 +vn -0.866044 -0.003298 -0.499958 +vn -0.809119 -0.415533 -0.415522 +vn -0.809119 -0.415533 -0.415522 +vn -0.866044 -0.003298 -0.499958 +vn -0.499955 -0.003298 -0.866045 +vn -0.415522 -0.415529 -0.809121 +vn -0.499955 -0.003298 -0.866045 +vn -0.004235 -0.004375 -0.999981 +vn -0.003193 -0.499942 -0.866053 +vn -0.415522 -0.415529 -0.809121 +vn -0.415522 -0.415529 -0.809121 +vn -0.003193 -0.499942 -0.866053 +vn -0.003192 -0.866056 -0.499938 +vn -0.415519 -0.809130 -0.415516 +vn -0.415519 -0.809130 -0.415516 +vn -0.809119 -0.415533 -0.415522 +vn -0.415522 -0.415529 -0.809121 +vn 0.000000 -0.866033 -0.499987 +vn 0.000000 0.000000 -1.000000 +vn -0.695566 0.000000 -0.718462 +vn -0.003192 -0.866056 -0.499938 +vn 0.000000 -0.499991 -0.866031 +vn 0.000000 -0.866033 -0.499987 +vn -0.003192 -0.866056 -0.499938 +vn -0.003193 -0.499942 -0.866053 +vn 0.000000 -0.004392 -0.999990 +vn 0.000000 -0.499991 -0.866031 +vn -0.003193 -0.499942 -0.866053 +vn -0.004235 -0.004375 -0.999981 +vn 0.000000 0.499992 -0.866030 +vn 0.000000 0.004392 -0.999990 +vn -0.004235 0.004375 -0.999981 +vn -0.003193 0.499943 -0.866053 +vn 0.000000 0.866008 -0.500031 +vn 0.000000 0.499992 -0.866030 +vn -0.003193 0.499943 -0.866053 +vn -0.003193 0.866030 -0.499982 +vn 0.000000 0.999990 -0.004393 +vn 0.000000 0.866008 -0.500031 +vn -0.003193 0.866030 -0.499982 +vn -0.004236 0.999981 -0.004375 +vn -0.004236 0.999981 0.004375 +vn 0.000000 0.999990 0.004393 +vn 0.000000 0.999990 -0.004393 +vn -0.004236 0.999981 -0.004375 +vn 0.000000 0.866008 0.500031 +vn 0.000000 0.999990 0.004393 +vn -0.004236 0.999981 0.004375 +vn -0.003193 0.866030 0.499982 +vn 0.000000 0.499992 0.866030 +vn 0.000000 0.866008 0.500031 +vn -0.003193 0.866030 0.499982 +vn -0.003192 0.499943 0.866053 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.499992 0.866030 +vn -0.003192 0.499943 0.866053 +vn -0.695549 0.718479 0.000000 +vn -0.866046 0.003298 0.499954 +vn -0.999981 0.004374 0.004374 +vn -0.999981 -0.004374 0.004374 +vn -0.866046 -0.003298 0.499954 +vn -0.499949 0.003298 0.866049 +vn -0.866046 0.003298 0.499954 +vn -0.866046 -0.003298 0.499954 +vn -0.499949 -0.003298 0.866049 +vn -0.695549 0.718479 0.000000 +vn -0.499949 0.003298 0.866049 +vn -0.499949 -0.003298 0.866049 +vn -0.999924 -0.012301 0.000000 +vn -0.004235 0.004375 -0.999981 +vn 0.000000 0.004392 -0.999990 +vn 0.000000 -0.004392 -0.999990 +vn -0.004235 -0.004375 -0.999981 +vn -0.499955 0.003298 -0.866045 +vn -0.004235 0.004375 -0.999981 +vn -0.004235 -0.004375 -0.999981 +vn -0.499955 -0.003298 -0.866045 +vn -0.866044 0.003298 -0.499957 +vn -0.499955 0.003298 -0.866045 +vn -0.499955 -0.003298 -0.866045 +vn -0.866044 -0.003298 -0.499958 +vn -0.999981 0.004374 -0.004374 +vn -0.866044 0.003298 -0.499957 +vn -0.866044 -0.003298 -0.499958 +vn -0.999981 -0.004374 -0.004374 +vn -0.999981 0.004374 0.004374 +vn -0.999981 0.004374 -0.004374 +vn -0.999981 -0.004374 -0.004374 +vn -0.999981 -0.004374 0.004374 +vn -0.004236 0.999981 -0.004375 +vn -0.499984 0.866029 -0.003298 +vn -0.499984 0.866029 0.003298 +vn -0.004236 0.999981 0.004375 +vn -0.499984 0.866029 -0.003298 +vn -0.866049 0.499948 -0.003298 +vn -0.866049 0.499948 0.003298 +vn -0.499984 0.866029 0.003298 +vn -0.866049 0.499948 -0.003298 +vn -0.999981 0.004374 -0.004374 +vn -0.999981 0.004374 0.004374 +vn -0.866049 0.499948 0.003298 +vn -0.999981 -0.004374 -0.004374 +vn -0.866049 -0.499948 -0.003298 +vn -0.866049 -0.499948 0.003298 +vn -0.999981 -0.004374 0.004374 +vn -0.866049 -0.499948 -0.003298 +vn -0.499938 -0.866055 -0.003297 +vn -0.499938 -0.866055 0.003297 +vn -0.866049 -0.499948 0.003298 +vn -0.499938 -0.866055 -0.003297 +vn -0.695566 0.000000 -0.718462 +vn -0.999924 -0.000001 0.012301 +vn -0.499938 -0.866055 0.003297 +vn -0.003193 0.499940 -0.866054 +vn -0.004235 0.004375 -0.999981 +vn -0.499946 0.003298 -0.866050 +vn -0.415516 0.415519 -0.809130 +vn -0.415516 0.415519 -0.809130 +vn -0.499946 0.003298 -0.866050 +vn -0.866049 0.003297 -0.499948 +vn -0.809131 0.415512 -0.415520 +vn -0.866049 0.003297 -0.499948 +vn -0.999981 0.004374 -0.004235 +vn -0.866054 0.499940 -0.003193 +vn -0.809131 0.415512 -0.415520 +vn -0.809131 0.415512 -0.415520 +vn -0.866054 0.499940 -0.003193 +vn -0.499981 0.866031 -0.003193 +vn -0.415525 0.809117 -0.415533 +vn -0.499981 0.866031 -0.003193 +vn -0.004236 0.999982 -0.004236 +vn -0.003193 0.866030 -0.499982 +vn -0.415525 0.809117 -0.415533 +vn -0.415525 0.809117 -0.415533 +vn -0.003193 0.866030 -0.499982 +vn -0.003193 0.499940 -0.866054 +vn -0.415516 0.415519 -0.809130 +vn -0.415516 0.415519 -0.809130 +vn -0.809131 0.415512 -0.415520 +vn -0.415525 0.809117 -0.415533 +vn -0.003192 -0.866056 -0.499938 +vn -0.707105 0.000000 -0.707108 +vn -0.499942 -0.866053 -0.003192 +vn -0.415515 -0.809130 -0.415518 +vn -0.415515 -0.809130 -0.415518 +vn -0.499942 -0.866053 -0.003192 +vn -0.866048 -0.499951 -0.003193 +vn -0.809120 -0.415531 -0.415522 +vn -0.866048 -0.499951 -0.003193 +vn -0.999981 -0.004375 -0.004235 +vn -0.866049 -0.003298 -0.499948 +vn -0.809120 -0.415531 -0.415522 +vn -0.809120 -0.415531 -0.415522 +vn -0.866049 -0.003298 -0.499948 +vn -0.499946 -0.003298 -0.866050 +vn -0.415516 -0.415530 -0.809124 +vn -0.499946 -0.003298 -0.866050 +vn -0.004235 -0.004375 -0.999981 +vn -0.003192 -0.499941 -0.866054 +vn -0.415516 -0.415530 -0.809124 +vn -0.415516 -0.415530 -0.809124 +vn -0.003192 -0.499941 -0.866054 +vn -0.003192 -0.866056 -0.499938 +vn -0.415515 -0.809130 -0.415518 +vn -0.415515 -0.809130 -0.415518 +vn -0.809120 -0.415531 -0.415522 +vn -0.415516 -0.415530 -0.809124 +vn 0.000000 -0.866033 -0.499987 +vn 0.000000 0.000000 -1.000000 +vn -0.707105 0.000000 -0.707108 +vn -0.003192 -0.866056 -0.499938 +vn 0.000000 -0.499990 -0.866031 +vn 0.000000 -0.866033 -0.499987 +vn -0.003192 -0.866056 -0.499938 +vn -0.003192 -0.499941 -0.866054 +vn 0.000000 -0.004392 -0.999990 +vn 0.000000 -0.499990 -0.866031 +vn -0.003192 -0.499941 -0.866054 +vn -0.004235 -0.004375 -0.999981 +vn 0.000000 0.499989 -0.866032 +vn 0.000000 0.004392 -0.999990 +vn -0.004235 0.004375 -0.999981 +vn -0.003193 0.499940 -0.866054 +vn 0.000000 0.866008 -0.500031 +vn 0.000000 0.499989 -0.866032 +vn -0.003193 0.499940 -0.866054 +vn -0.003193 0.866030 -0.499982 +vn 0.000000 0.999991 -0.004253 +vn 0.000000 0.866008 -0.500031 +vn -0.003193 0.866030 -0.499982 +vn -0.004236 0.999982 -0.004236 +vn -0.004253 0.999991 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.999991 -0.004253 +vn -0.004236 0.999982 -0.004236 +vn 0.000000 0.004392 -0.999990 +vn 0.000000 -0.004392 -0.999990 +vn -0.004235 -0.004375 -0.999981 +vn -0.004235 0.004375 -0.999981 +vn -0.004235 -0.004375 -0.999981 +vn -0.499946 -0.003298 -0.866050 +vn -0.499946 0.003298 -0.866050 +vn -0.004235 0.004375 -0.999981 +vn -0.499946 -0.003298 -0.866050 +vn -0.866049 -0.003298 -0.499948 +vn -0.866049 0.003297 -0.499948 +vn -0.499946 0.003298 -0.866050 +vn -0.866049 -0.003298 -0.499948 +vn -0.999981 -0.004375 -0.004235 +vn -0.999981 0.004374 -0.004235 +vn -0.866049 0.003297 -0.499948 +vn -0.999981 -0.004375 -0.004235 +vn -0.999990 -0.004392 0.000000 +vn -0.999990 0.004392 0.000000 +vn -0.999981 0.004374 -0.004235 +vn -0.500030 0.866008 0.000000 +vn -0.004253 0.999991 0.000000 +vn -0.004236 0.999982 -0.004236 +vn -0.499981 0.866031 -0.003193 +vn -0.866032 0.499989 0.000000 +vn -0.500030 0.866008 0.000000 +vn -0.499981 0.866031 -0.003193 +vn -0.866054 0.499940 -0.003193 +vn -0.999990 0.004392 0.000000 +vn -0.866032 0.499989 0.000000 +vn -0.866054 0.499940 -0.003193 +vn -0.999981 0.004374 -0.004235 +vn -0.866025 -0.500001 0.000000 +vn -0.999990 -0.004392 0.000000 +vn -0.999981 -0.004375 -0.004235 +vn -0.866048 -0.499951 -0.003193 +vn -0.499991 -0.866031 0.000000 +vn -0.866025 -0.500001 0.000000 +vn -0.866048 -0.499951 -0.003193 +vn -0.499942 -0.866053 -0.003192 +vn -1.000000 0.000000 0.000000 +vn -0.499991 -0.866031 0.000000 +vn -0.499942 -0.866053 -0.003192 +vn -0.707105 0.000000 -0.707108 +vn -0.003193 0.499943 -0.866053 +vn -0.695549 0.718479 0.000000 +vn -0.499949 0.003298 -0.866049 +vn -0.415524 0.415524 -0.809123 +vn -0.415524 0.415524 -0.809123 +vn -0.499949 0.003298 -0.866049 +vn -0.866046 0.003298 -0.499954 +vn -0.809124 0.415527 -0.415518 +vn -0.866046 0.003298 -0.499954 +vn -0.999981 0.004375 -0.004236 +vn -0.866048 0.499951 -0.003193 +vn -0.809124 0.415527 -0.415518 +vn -0.809124 0.415527 -0.415518 +vn -0.866048 0.499951 -0.003193 +vn -0.499987 0.866027 -0.003193 +vn -0.415536 0.809114 -0.415530 +vn -0.499987 0.866027 -0.003193 +vn -0.707105 0.000000 -0.707108 +vn -0.003193 0.866030 -0.499982 +vn -0.415536 0.809114 -0.415530 +vn -0.415536 0.809114 -0.415530 +vn -0.003193 0.866030 -0.499982 +vn -0.003193 0.499943 -0.866053 +vn -0.415524 0.415524 -0.809123 +vn -0.415524 0.415524 -0.809123 +vn -0.809124 0.415527 -0.415518 +vn -0.415536 0.809114 -0.415530 +vn -0.236802 -0.843415 -0.482262 +vn -0.258352 -0.966046 -0.003077 +vn -0.499874 -0.866092 -0.003192 +vn -0.415496 -0.809151 -0.415496 +vn -0.415496 -0.809151 -0.415496 +vn -0.499874 -0.866092 -0.003192 +vn -0.866048 -0.499951 -0.003193 +vn -0.809121 -0.415532 -0.415519 +vn -0.866048 -0.499951 -0.003193 +vn -0.999981 -0.004375 -0.004236 +vn -0.866046 -0.003298 -0.499954 +vn -0.809121 -0.415532 -0.415519 +vn -0.809121 -0.415532 -0.415519 +vn -0.866046 -0.003298 -0.499954 +vn -0.499949 -0.003298 -0.866049 +vn -0.415517 -0.415530 -0.809123 +vn -0.499949 -0.003298 -0.866049 +vn -0.999924 -0.012301 0.000000 +vn -0.236826 -0.482303 -0.843384 +vn -0.415517 -0.415530 -0.809123 +vn -0.415517 -0.415530 -0.809123 +vn -0.236826 -0.482303 -0.843384 +vn -0.236802 -0.843415 -0.482262 +vn -0.415496 -0.809151 -0.415496 +vn -0.415496 -0.809151 -0.415496 +vn -0.809121 -0.415532 -0.415519 +vn -0.415517 -0.415530 -0.809123 +vn 0.000000 0.499992 -0.866030 +vn 0.000000 1.000000 0.000000 +vn -0.695549 0.718479 0.000000 +vn -0.003193 0.499943 -0.866053 +vn 0.000000 0.866008 -0.500031 +vn 0.000000 0.499992 -0.866030 +vn -0.003193 0.499943 -0.866053 +vn -0.003193 0.866030 -0.499982 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.866008 -0.500031 +vn -0.003193 0.866030 -0.499982 +vn -0.707105 0.000000 -0.707108 +vn -0.499949 0.003298 -0.866049 +vn -0.695549 0.718479 0.000000 +vn -0.999924 -0.012301 0.000000 +vn -0.499949 -0.003298 -0.866049 +vn -0.866046 0.003298 -0.499954 +vn -0.499949 0.003298 -0.866049 +vn -0.499949 -0.003298 -0.866049 +vn -0.866046 -0.003298 -0.499954 +vn -0.999981 0.004375 -0.004236 +vn -0.866046 0.003298 -0.499954 +vn -0.866046 -0.003298 -0.499954 +vn -0.999981 -0.004375 -0.004236 +vn -0.999981 -0.004375 -0.004236 +vn -0.999990 -0.004392 0.000000 +vn -0.999990 0.004392 0.000000 +vn -0.999981 0.004375 -0.004236 +vn -0.500037 0.866004 0.000000 +vn -1.000000 0.000000 0.000000 +vn -0.707105 0.000000 -0.707108 +vn -0.499987 0.866027 -0.003193 +vn -0.866025 0.500001 0.000000 +vn -0.500037 0.866004 0.000000 +vn -0.499987 0.866027 -0.003193 +vn -0.866048 0.499951 -0.003193 +vn -0.999990 0.004392 0.000000 +vn -0.866025 0.500001 0.000000 +vn -0.866048 0.499951 -0.003193 +vn -0.999981 0.004375 -0.004236 +vn -0.866025 -0.500001 0.000000 +vn -0.999990 -0.004392 0.000000 +vn -0.999981 -0.004375 -0.004236 +vn -0.866048 -0.499951 -0.003193 +vn -0.499923 -0.866070 0.000000 +vn -0.866025 -0.500001 0.000000 +vn -0.866048 -0.499951 -0.003193 +vn -0.499874 -0.866092 -0.003192 +vn -0.258352 -0.966046 -0.003077 +vn -0.258660 -0.965968 0.000000 +vn -0.499923 -0.866070 0.000000 +vn -0.499874 -0.866092 -0.003192 +vn -0.999924 -0.000001 0.012301 +vn -0.236846 0.843358 0.482340 +vn -1.000000 0.000228 0.000092 +vn -0.236809 0.482245 0.843423 +vn -0.258414 0.003178 0.966029 +vn -1.000000 0.000228 0.000092 +vn -0.236846 0.843358 0.482340 +vn -0.236809 0.482245 0.843423 +vn -1.000000 0.000228 0.000092 +vn -0.236828 -0.843376 0.482316 +vn -0.999924 -0.000001 0.012301 +vn -1.000000 0.000228 0.000092 +vn -0.236836 -0.482301 0.843383 +vn -0.236828 -0.843376 0.482316 +vn -1.000000 0.000228 0.000092 +vn -0.999924 -0.012301 0.000000 +vn -0.236836 -0.482301 0.843383 +vn -1.000000 0.000228 0.000092 +vn -0.258352 -0.966046 -0.003077 +vn -0.236802 -0.843415 -0.482262 +vn -1.000000 0.000228 0.000092 +vn -0.236826 -0.482303 -0.843384 +vn -0.999924 -0.012301 0.000000 +vn -1.000000 0.000228 0.000092 +vn -0.236802 -0.843415 -0.482262 +vn -0.236826 -0.482303 -0.843384 +vn -1.000000 0.000228 0.000092 +vn -0.258414 0.003178 0.966029 +vn -0.999999 -0.000057 0.001367 +vn -1.000000 0.000228 0.000092 +vn -0.999999 -0.000057 0.001367 +vn -1.000000 -0.000329 0.000337 +vn -1.000000 0.000228 0.000092 +vn -1.000000 -0.000329 0.000337 +vn -0.258352 -0.966046 -0.003077 +vn -1.000000 0.000228 0.000092 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.999990 -0.004392 0.000000 +vn 0.965920 -0.258840 0.000000 +vn 0.965920 -0.258840 0.000000 +vn 0.999990 -0.004392 0.000000 +vn 0.866032 -0.499989 0.000000 +vn 0.707228 -0.706986 0.000000 +vn 0.707228 -0.706986 0.000000 +vn 0.866032 -0.499989 0.000000 +vn 0.499984 -0.866035 0.000000 +vn 0.258728 -0.965950 0.000000 +vn 0.258691 -0.965960 0.000000 +vn 0.258691 -0.965960 0.000000 +vn 0.499984 -0.866035 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.999981 0.004374 -0.004235 +vn 0.999990 0.004392 0.000000 +vn 1.000000 0.000000 0.000000 +vn -0.946159 -0.228895 0.228889 +vn -0.946159 -0.228895 0.228889 +vn -0.946159 -0.228895 0.228889 +vn -0.946159 -0.228895 0.228889 +vn -0.809129 -0.415515 0.415522 +vn -0.866071 -0.499807 0.010655 +vn -0.499800 -0.866075 0.010654 +vn -0.415511 -0.809133 0.415516 +vn -0.499800 -0.866075 0.010654 +vn -0.013912 -0.999806 0.013912 +vn -0.010654 -0.866074 0.499803 +vn -0.415511 -0.809133 0.415516 +vn -0.415511 -0.809133 0.415516 +vn -0.010654 -0.866074 0.499803 +vn -0.010655 -0.499807 0.866071 +vn -0.415518 -0.415519 0.809129 +vn -0.010655 -0.499807 0.866071 +vn -0.014005 -0.007145 0.999876 +vn -0.499911 -0.005447 0.866060 +vn -0.415518 -0.415519 0.809129 +vn -0.415518 -0.415519 0.809129 +vn -0.499911 -0.005447 0.866060 +vn -0.866061 -0.005447 0.499908 +vn -0.809129 -0.415515 0.415522 +vn -0.809129 -0.415515 0.415522 +vn -0.415511 -0.809133 0.415516 +vn -0.415518 -0.415519 0.809129 +vn -0.010655 0.866048 0.499848 +vn -0.013919 0.999806 0.013919 +vn -0.499845 0.866050 0.010655 +vn -0.415527 0.809117 0.415532 +vn -0.415527 0.809117 0.415532 +vn -0.499845 0.866050 0.010655 +vn -0.866071 0.499807 0.010655 +vn -0.809128 0.415516 0.415522 +vn -0.866071 0.499807 0.010655 +vn -0.999876 0.007145 0.014006 +vn -0.866061 0.005447 0.499908 +vn -0.809128 0.415516 0.415522 +vn -0.809128 0.415516 0.415522 +vn -0.866061 0.005447 0.499908 +vn -0.499911 0.005447 0.866060 +vn -0.415517 0.415519 0.809129 +vn -0.499911 0.005447 0.866060 +vn -0.014005 0.007145 0.999876 +vn -0.010655 0.499806 0.866072 +vn -0.415517 0.415519 0.809129 +vn -0.415517 0.415519 0.809129 +vn -0.010655 0.499806 0.866072 +vn -0.010655 0.866048 0.499848 +vn -0.415527 0.809117 0.415532 +vn -0.415527 0.809117 0.415532 +vn -0.809128 0.415516 0.415522 +vn -0.415517 0.415519 0.809129 +vn -0.010655 0.499806 -0.866072 +vn -0.014005 0.007145 -0.999876 +vn -0.499911 0.005447 -0.866060 +vn -0.415517 0.415519 -0.809129 +vn -0.415517 0.415519 -0.809129 +vn -0.499911 0.005447 -0.866060 +vn -0.866061 0.005447 -0.499908 +vn -0.809131 0.415512 -0.415519 +vn -0.866061 0.005447 -0.499908 +vn -0.999876 0.007145 -0.014006 +vn -0.866071 0.499807 -0.010655 +vn -0.809131 0.415512 -0.415519 +vn -0.809131 0.415512 -0.415519 +vn -0.866071 0.499807 -0.010655 +vn -0.499845 0.866050 -0.010656 +vn -0.415527 0.809117 -0.415532 +vn -0.499845 0.866050 -0.010656 +vn -0.013919 0.999806 -0.013919 +vn -0.010655 0.866048 -0.499848 +vn -0.415527 0.809117 -0.415532 +vn -0.415527 0.809117 -0.415532 +vn -0.010655 0.866048 -0.499848 +vn -0.010655 0.499806 -0.866072 +vn -0.415517 0.415519 -0.809129 +vn -0.415517 0.415519 -0.809129 +vn -0.809131 0.415512 -0.415519 +vn -0.415527 0.809117 -0.415532 +vn -0.010654 -0.866074 -0.499803 +vn -0.013912 -0.999806 -0.013912 +vn -0.499800 -0.866075 -0.010654 +vn -0.415508 -0.809135 -0.415517 +vn -0.415508 -0.809135 -0.415517 +vn -0.499800 -0.866075 -0.010654 +vn -0.866071 -0.499807 -0.010655 +vn -0.809131 -0.415514 -0.415519 +vn -0.866071 -0.499807 -0.010655 +vn -0.999876 -0.007145 -0.014006 +vn -0.866061 -0.005447 -0.499908 +vn -0.809131 -0.415514 -0.415519 +vn -0.809131 -0.415514 -0.415519 +vn -0.866061 -0.005447 -0.499908 +vn -0.499911 -0.005447 -0.866060 +vn -0.415512 -0.415520 -0.809131 +vn -0.499911 -0.005447 -0.866060 +vn -0.014005 -0.007145 -0.999876 +vn -0.010654 -0.499807 -0.866071 +vn -0.415512 -0.415520 -0.809131 +vn -0.415512 -0.415520 -0.809131 +vn -0.010654 -0.499807 -0.866071 +vn -0.010654 -0.866074 -0.499803 +vn -0.415508 -0.809135 -0.415517 +vn -0.415508 -0.809135 -0.415517 +vn -0.809131 -0.415514 -0.415519 +vn -0.415512 -0.415520 -0.809131 +vn -0.014005 0.007145 -0.999876 +vn -0.010655 0.499806 -0.866072 +vn 0.010654 0.499806 -0.866072 +vn 0.014005 0.007145 -0.999876 +vn -0.010655 0.499806 -0.866072 +vn -0.010655 0.866048 -0.499848 +vn 0.010655 0.866048 -0.499848 +vn 0.010654 0.499806 -0.866072 +vn -0.010655 0.866048 -0.499848 +vn -0.013919 0.999806 -0.013919 +vn 0.013919 0.999806 -0.013919 +vn 0.010655 0.866048 -0.499848 +vn -0.999876 -0.007145 0.014006 +vn -0.866061 -0.005447 0.499908 +vn -0.866061 0.005447 0.499908 +vn -0.999876 0.007145 0.014006 +vn -0.866061 -0.005447 0.499908 +vn -0.499911 -0.005447 0.866060 +vn -0.499911 0.005447 0.866060 +vn -0.866061 0.005447 0.499908 +vn -0.499911 -0.005447 0.866060 +vn -0.014005 -0.007145 0.999876 +vn -0.014005 0.007145 0.999876 +vn -0.499911 0.005447 0.866060 +vn -0.014005 -0.007145 -0.999876 +vn -0.499911 -0.005447 -0.866060 +vn -0.499911 0.005447 -0.866060 +vn -0.014005 0.007145 -0.999876 +vn -0.499911 -0.005447 -0.866060 +vn -0.866061 -0.005447 -0.499908 +vn -0.866061 0.005447 -0.499908 +vn -0.499911 0.005447 -0.866060 +vn -0.866061 -0.005447 -0.499908 +vn -0.999876 -0.007145 -0.014006 +vn -0.999876 0.007145 -0.014006 +vn -0.866061 0.005447 -0.499908 +vn -0.999876 -0.007145 -0.014006 +vn -0.999876 -0.007145 0.014006 +vn -0.999876 0.007145 0.014006 +vn -0.999876 0.007145 -0.014006 +vn -0.013919 0.999806 -0.013919 +vn -0.499845 0.866050 -0.010656 +vn -0.499845 0.866050 0.010655 +vn -0.013919 0.999806 0.013919 +vn -0.499845 0.866050 -0.010656 +vn -0.866071 0.499807 -0.010655 +vn -0.866071 0.499807 0.010655 +vn -0.499845 0.866050 0.010655 +vn -0.866071 0.499807 -0.010655 +vn -0.999876 0.007145 -0.014006 +vn -0.999876 0.007145 0.014006 +vn -0.866071 0.499807 0.010655 +vn -0.999876 -0.007145 -0.014006 +vn -0.866071 -0.499807 -0.010655 +vn -0.866071 -0.499807 0.010655 +vn -0.999876 -0.007145 0.014006 +vn -0.866071 -0.499807 -0.010655 +vn -0.499800 -0.866075 -0.010654 +vn -0.499800 -0.866075 0.010654 +vn -0.866071 -0.499807 0.010655 +vn -0.499800 -0.866075 -0.010654 +vn -0.013912 -0.999806 -0.013912 +vn -0.013912 -0.999806 0.013912 +vn -0.499800 -0.866075 0.010654 +vn 0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn -0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn -0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn 0.007145 -0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn 0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn -0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn -0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn 0.007145 0.999876 0.014006 +vn -0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn -0.499807 -0.866071 0.010655 +vn -0.499807 -0.866071 -0.010655 +vn -0.007145 -0.999876 -0.014006 +vn -0.499807 -0.866071 0.010655 +vn -0.866050 -0.499845 0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.499807 -0.866071 -0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.866050 -0.499845 0.010655 +vn -0.999806 -0.013919 0.013919 +vn -0.999806 -0.013919 -0.013919 +vn -0.866048 0.010655 0.499848 +vn -0.999806 0.013919 0.013919 +vn -0.999806 -0.013919 0.013919 +vn -0.866048 -0.010655 0.499848 +vn -0.499806 0.010655 0.866072 +vn -0.866048 0.010655 0.499848 +vn -0.866048 -0.010655 0.499848 +vn -0.499806 -0.010655 0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.499806 0.010655 0.866072 +vn -0.499806 -0.010655 0.866072 +vn -0.007145 -0.014005 0.999876 +vn -0.999806 0.013919 0.013919 +vn -0.866050 0.499845 0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.999806 0.013919 -0.013919 +vn -0.866050 0.499845 0.010655 +vn -0.499807 0.866071 0.010655 +vn -0.499807 0.866071 -0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.499807 0.866071 0.010655 +vn -0.007145 0.999876 0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.499807 0.866071 -0.010655 +vn 0.005447 -0.866061 -0.499908 +vn 0.007145 -0.999876 -0.014006 +vn -0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn 0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn -0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn 0.007145 -0.014005 -0.999876 +vn 0.005447 -0.499911 -0.866060 +vn -0.005447 -0.499911 -0.866060 +vn -0.007145 -0.014005 -0.999876 +vn -0.499806 0.010654 -0.866072 +vn -0.007145 0.014005 -0.999876 +vn -0.007145 -0.014005 -0.999876 +vn -0.499806 -0.010655 -0.866072 +vn -0.866048 0.010655 -0.499848 +vn -0.499806 0.010654 -0.866072 +vn -0.499806 -0.010655 -0.866072 +vn -0.866048 -0.010655 -0.499848 +vn -0.999806 0.013919 -0.013919 +vn -0.866048 0.010655 -0.499848 +vn -0.866048 -0.010655 -0.499848 +vn -0.999806 -0.013919 -0.013919 +vn 0.005447 0.499911 -0.866060 +vn 0.007145 0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn 0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn -0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn 0.007145 0.999876 -0.014006 +vn 0.005447 0.866061 -0.499908 +vn -0.005447 0.866061 -0.499908 +vn -0.007145 0.999876 -0.014006 +vn -0.007145 -0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn -0.007145 0.014005 0.999876 +vn 0.007145 0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn -0.007145 -0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn 0.007145 0.999876 0.014006 +vn 0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 -0.014006 +vn -0.866048 -0.010655 0.499848 +vn -0.999806 -0.013919 0.013919 +vn -0.866050 -0.499845 0.010655 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.866050 -0.499845 0.010655 +vn -0.499807 -0.866071 0.010655 +vn -0.415516 -0.809128 0.415522 +vn -0.499807 -0.866071 0.010655 +vn -0.007145 -0.999876 0.014006 +vn -0.005447 -0.866061 0.499908 +vn -0.415516 -0.809128 0.415522 +vn -0.415516 -0.809128 0.415522 +vn -0.005447 -0.866061 0.499908 +vn -0.005447 -0.499911 0.866060 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 -0.499911 0.866060 +vn -0.007145 -0.014005 0.999876 +vn -0.499806 -0.010655 0.866072 +vn -0.415519 -0.415517 0.809129 +vn -0.415519 -0.415517 0.809129 +vn -0.499806 -0.010655 0.866072 +vn -0.866048 -0.010655 0.499848 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.415516 -0.809128 0.415522 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 0.866061 0.499908 +vn -0.007145 0.999876 0.014006 +vn -0.499807 0.866071 0.010655 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.499807 0.866071 0.010655 +vn -0.866050 0.499845 0.010655 +vn -0.809118 0.415526 0.415531 +vn -0.866050 0.499845 0.010655 +vn -0.999806 0.013919 0.013919 +vn -0.866048 0.010655 0.499848 +vn -0.809118 0.415526 0.415531 +vn -0.809118 0.415526 0.415531 +vn -0.866048 0.010655 0.499848 +vn -0.499806 0.010655 0.866072 +vn -0.415519 0.415518 0.809129 +vn -0.499806 0.010655 0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.005447 0.499911 0.866060 +vn -0.415519 0.415518 0.809129 +vn -0.415519 0.415518 0.809129 +vn -0.005447 0.499911 0.866060 +vn -0.005447 0.866061 0.499908 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.809118 0.415526 0.415531 +vn -0.415519 0.415518 0.809129 +vn -0.499806 -0.010655 -0.866072 +vn -0.007145 -0.014005 -0.999876 +vn -0.005447 -0.499911 -0.866060 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.005447 -0.499911 -0.866060 +vn -0.005447 -0.866061 -0.499908 +vn -0.415512 -0.809131 -0.415519 +vn -0.005447 -0.866061 -0.499908 +vn -0.007145 -0.999876 -0.014006 +vn -0.499807 -0.866071 -0.010655 +vn -0.415512 -0.809131 -0.415519 +vn -0.415512 -0.809131 -0.415519 +vn -0.499807 -0.866071 -0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.809117 -0.415527 -0.415532 +vn -0.866050 -0.499845 -0.010656 +vn -0.999806 -0.013919 -0.013919 +vn -0.866048 -0.010655 -0.499848 +vn -0.809117 -0.415527 -0.415532 +vn -0.809117 -0.415527 -0.415532 +vn -0.866048 -0.010655 -0.499848 +vn -0.499806 -0.010655 -0.866072 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.415512 -0.809131 -0.415519 +vn -0.809117 -0.415527 -0.415532 +vn -0.499807 0.866071 -0.010655 +vn -0.007145 0.999876 -0.014006 +vn -0.005447 0.866061 -0.499908 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.005447 0.866061 -0.499908 +vn -0.005447 0.499911 -0.866060 +vn -0.415521 0.415511 -0.809131 +vn -0.005447 0.499911 -0.866060 +vn -0.007145 0.014005 -0.999876 +vn -0.499806 0.010654 -0.866072 +vn -0.415521 0.415511 -0.809131 +vn -0.415521 0.415511 -0.809131 +vn -0.499806 0.010654 -0.866072 +vn -0.866048 0.010655 -0.499848 +vn -0.809119 0.415522 -0.415533 +vn -0.866048 0.010655 -0.499848 +vn -0.999806 0.013919 -0.013919 +vn -0.866050 0.499845 -0.010656 +vn -0.809119 0.415522 -0.415533 +vn -0.809119 0.415522 -0.415533 +vn -0.866050 0.499845 -0.010656 +vn -0.499807 0.866071 -0.010655 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.415521 0.415511 -0.809131 +vn -0.809119 0.415522 -0.415533 +vn -0.999806 0.013919 0.013919 +vn -0.999806 0.013919 -0.013919 +vn -0.999806 -0.013919 -0.013919 +vn -0.999806 -0.013919 0.013919 +vn -0.866061 -0.005447 0.499908 +vn -0.999876 -0.007145 0.014006 +vn -0.866071 -0.499807 0.010655 +vn -0.809129 -0.415515 0.415522 +vn -0.809129 -0.415515 0.415522 +vn -0.866071 -0.499807 0.010655 +vn -0.499800 -0.866075 0.010654 +vn -0.415511 -0.809133 0.415516 +vn -0.499800 -0.866075 0.010654 +vn -0.013912 -0.999806 0.013912 +vn -0.010654 -0.866074 0.499803 +vn -0.415511 -0.809133 0.415516 +vn -0.415511 -0.809133 0.415516 +vn -0.010654 -0.866074 0.499803 +vn -0.010655 -0.499807 0.866071 +vn -0.415518 -0.415519 0.809129 +vn -0.010655 -0.499807 0.866071 +vn -0.014005 -0.007145 0.999876 +vn -0.499911 -0.005447 0.866060 +vn -0.415518 -0.415519 0.809129 +vn -0.415518 -0.415519 0.809129 +vn -0.499911 -0.005447 0.866060 +vn -0.866061 -0.005447 0.499908 +vn -0.809129 -0.415515 0.415522 +vn -0.809129 -0.415515 0.415522 +vn -0.415511 -0.809133 0.415516 +vn -0.415518 -0.415519 0.809129 +vn -0.010655 0.866048 0.499848 +vn -0.013919 0.999806 0.013919 +vn -0.499845 0.866050 0.010655 +vn -0.415527 0.809117 0.415532 +vn -0.415527 0.809117 0.415532 +vn -0.499845 0.866050 0.010655 +vn -0.866071 0.499807 0.010655 +vn -0.809128 0.415516 0.415522 +vn -0.866071 0.499807 0.010655 +vn -0.999876 0.007145 0.014006 +vn -0.866061 0.005447 0.499908 +vn -0.809128 0.415516 0.415522 +vn -0.809128 0.415516 0.415522 +vn -0.866061 0.005447 0.499908 +vn -0.499911 0.005447 0.866060 +vn -0.415517 0.415519 0.809129 +vn -0.499911 0.005447 0.866060 +vn -0.014005 0.007145 0.999876 +vn -0.010655 0.499806 0.866072 +vn -0.415517 0.415519 0.809129 +vn -0.415517 0.415519 0.809129 +vn -0.010655 0.499806 0.866072 +vn -0.010655 0.866048 0.499848 +vn -0.415527 0.809117 0.415532 +vn -0.415527 0.809117 0.415532 +vn -0.809128 0.415516 0.415522 +vn -0.415517 0.415519 0.809129 +vn -0.010655 0.499806 -0.866072 +vn -0.014005 0.007145 0.999876 +vn -0.499911 0.005447 -0.866060 +vn -0.415517 0.415519 -0.809129 +vn -0.415517 0.415519 -0.809129 +vn -0.499911 0.005447 -0.866060 +vn -0.866061 0.005447 -0.499908 +vn -0.809131 0.415512 -0.415519 +vn -0.866061 0.005447 -0.499908 +vn -0.999876 0.007145 -0.014006 +vn -0.866071 0.499807 -0.010655 +vn -0.809131 0.415512 -0.415519 +vn -0.809131 0.415512 -0.415519 +vn -0.866071 0.499807 -0.010655 +vn -0.499845 0.866050 -0.010656 +vn -0.415527 0.809117 -0.415532 +vn -0.499845 0.866050 -0.010656 +vn -0.013919 0.999806 -0.013919 +vn -0.010655 0.866048 -0.499848 +vn -0.415527 0.809117 -0.415532 +vn -0.415527 0.809117 -0.415532 +vn -0.010655 0.866048 -0.499848 +vn -0.010655 0.499806 -0.866072 +vn -0.415517 0.415519 -0.809129 +vn -0.415517 0.415519 -0.809129 +vn -0.809131 0.415512 -0.415519 +vn -0.415527 0.809117 -0.415532 +vn -0.010654 -0.866074 -0.499803 +vn -0.013912 -0.999806 -0.013912 +vn -0.499800 -0.866075 -0.010654 +vn -0.415508 -0.809135 -0.415517 +vn -0.415508 -0.809135 -0.415517 +vn -0.499800 -0.866075 -0.010654 +vn -0.866071 -0.499807 -0.010655 +vn -0.809131 -0.415514 -0.415519 +vn -0.866071 -0.499807 -0.010655 +vn -0.999876 -0.007145 -0.014006 +vn -0.866061 -0.005447 -0.499908 +vn -0.809131 -0.415514 -0.415519 +vn -0.809131 -0.415514 -0.415519 +vn -0.866061 -0.005447 -0.499908 +vn -0.499911 -0.005447 -0.866060 +vn -0.415512 -0.415520 -0.809131 +vn -0.499911 -0.005447 -0.866060 +vn -0.014005 -0.007145 0.999876 +vn -0.010654 -0.499807 -0.866071 +vn -0.415512 -0.415520 -0.809131 +vn -0.415512 -0.415520 -0.809131 +vn -0.010654 -0.499807 -0.866071 +vn -0.010654 -0.866074 -0.499803 +vn -0.415508 -0.809135 -0.415517 +vn -0.415508 -0.809135 -0.415517 +vn -0.809131 -0.415514 -0.415519 +vn -0.415512 -0.415520 -0.809131 +vn -0.013919 0.999806 0.013919 +vn -0.010655 0.866048 0.499848 +vn 0.010655 0.866048 0.499848 +vn 0.013919 0.999806 0.013919 +vn -0.010655 0.866048 0.499848 +vn -0.010655 0.499806 0.866072 +vn 0.010655 0.499806 0.866072 +vn 0.010655 0.866048 0.499848 +vn -0.010655 0.499806 0.866072 +vn -0.014005 0.007145 0.999876 +vn 0.014005 0.007145 0.999876 +vn 0.010655 0.499806 0.866072 +vn -0.014005 -0.007145 0.999876 +vn -0.010655 -0.499807 0.866071 +vn 0.010655 -0.499807 0.866071 +vn 0.014005 -0.007145 0.999876 +vn -0.010655 -0.499807 0.866071 +vn -0.010654 -0.866074 0.499803 +vn 0.010654 -0.866074 0.499803 +vn 0.010655 -0.499807 0.866071 +vn -0.010654 -0.866074 0.499803 +vn -0.013912 -0.999806 0.013912 +vn 0.013912 -0.999806 0.013912 +vn 0.010654 -0.866074 0.499803 +vn -0.999876 -0.007145 0.014006 +vn -0.866061 -0.005447 0.499908 +vn -0.866061 0.005447 0.499908 +vn -0.999876 0.007145 0.014006 +vn -0.866061 -0.005447 0.499908 +vn -0.499911 -0.005447 0.866060 +vn -0.499911 0.005447 0.866060 +vn -0.866061 0.005447 0.499908 +vn -0.499911 -0.005447 0.866060 +vn -0.014005 -0.007145 0.999876 +vn -0.014005 0.007145 0.999876 +vn -0.499911 0.005447 0.866060 +vn -0.014005 0.007145 0.999876 +vn -0.014005 -0.007145 0.999876 +vn 0.014005 -0.007145 0.999876 +vn 0.014005 0.007145 0.999876 +vn -0.014005 -0.007145 0.999876 +vn -0.499911 -0.005447 -0.866060 +vn -0.499911 0.005447 -0.866060 +vn -0.014005 0.007145 0.999876 +vn -0.499911 -0.005447 -0.866060 +vn -0.866061 -0.005447 -0.499908 +vn -0.866061 0.005447 -0.499908 +vn -0.499911 0.005447 -0.866060 +vn -0.866061 -0.005447 -0.499908 +vn -0.999876 -0.007145 -0.014006 +vn -0.999876 0.007145 -0.014006 +vn -0.866061 0.005447 -0.499908 +vn -0.999876 -0.007145 -0.014006 +vn -0.999876 -0.007145 0.014006 +vn -0.999876 0.007145 0.014006 +vn -0.999876 0.007145 -0.014006 +vn -0.013919 0.999806 -0.013919 +vn -0.499845 0.866050 -0.010656 +vn -0.499845 0.866050 0.010655 +vn -0.013919 0.999806 0.013919 +vn -0.499845 0.866050 -0.010656 +vn -0.866071 0.499807 -0.010655 +vn -0.866071 0.499807 0.010655 +vn -0.499845 0.866050 0.010655 +vn -0.866071 0.499807 -0.010655 +vn -0.999876 0.007145 -0.014006 +vn -0.999876 0.007145 0.014006 +vn -0.866071 0.499807 0.010655 +vn -0.999876 -0.007145 -0.014006 +vn -0.866071 -0.499807 -0.010655 +vn -0.866071 -0.499807 0.010655 +vn -0.999876 -0.007145 0.014006 +vn -0.866071 -0.499807 -0.010655 +vn -0.499800 -0.866075 -0.010654 +vn -0.499800 -0.866075 0.010654 +vn -0.866071 -0.499807 0.010655 +vn -0.499800 -0.866075 -0.010654 +vn -0.013912 -0.999806 -0.013912 +vn -0.013912 -0.999806 0.013912 +vn -0.499800 -0.866075 0.010654 +vn -0.866061 -0.005447 0.499908 +vn -0.999876 -0.007145 0.014006 +vn -0.866071 -0.499807 0.010655 +vn -0.809129 -0.415515 0.415522 +vn -0.809129 -0.415515 0.415522 +vn -0.866071 -0.499807 0.010655 +vn -0.499800 -0.866075 0.010654 +vn -0.415511 -0.809133 0.415516 +vn -0.499800 -0.866075 0.010654 +vn -0.013912 -0.999806 0.013912 +vn -0.010654 -0.866074 0.499803 +vn -0.415511 -0.809133 0.415516 +vn -0.415511 -0.809133 0.415516 +vn -0.010654 -0.866074 0.499803 +vn -0.010655 -0.499807 0.866071 +vn -0.415518 -0.415519 0.809129 +vn -0.010655 -0.499807 0.866071 +vn -0.014005 -0.007145 -0.999876 +vn -0.499911 -0.005447 0.866060 +vn -0.415518 -0.415519 0.809129 +vn -0.415518 -0.415519 0.809129 +vn -0.499911 -0.005447 0.866060 +vn -0.866061 -0.005447 0.499908 +vn -0.809129 -0.415515 0.415522 +vn -0.809129 -0.415515 0.415522 +vn -0.415511 -0.809133 0.415516 +vn -0.415518 -0.415519 0.809129 +vn -0.010655 0.866048 0.499848 +vn -0.013919 0.999806 0.013919 +vn -0.499845 0.866050 0.010655 +vn -0.415527 0.809117 0.415532 +vn -0.415527 0.809117 0.415532 +vn -0.499845 0.866050 0.010655 +vn -0.866071 0.499807 0.010655 +vn -0.809128 0.415516 0.415522 +vn -0.866071 0.499807 0.010655 +vn -0.999876 0.007145 0.014006 +vn -0.866061 0.005447 0.499908 +vn -0.809128 0.415516 0.415522 +vn -0.809128 0.415516 0.415522 +vn -0.866061 0.005447 0.499908 +vn -0.499911 0.005447 0.866060 +vn -0.415517 0.415519 0.809129 +vn -0.499911 0.005447 0.866060 +vn -0.014005 0.007145 -0.999876 +vn -0.010655 0.499806 0.866072 +vn -0.415517 0.415519 0.809129 +vn -0.415517 0.415519 0.809129 +vn -0.010655 0.499806 0.866072 +vn -0.010655 0.866048 0.499848 +vn -0.415527 0.809117 0.415532 +vn -0.415527 0.809117 0.415532 +vn -0.809128 0.415516 0.415522 +vn -0.415517 0.415519 0.809129 +vn -0.010655 0.499806 -0.866072 +vn -0.014005 0.007145 -0.999876 +vn -0.499911 0.005447 -0.866060 +vn -0.415517 0.415519 -0.809129 +vn -0.415517 0.415519 -0.809129 +vn -0.499911 0.005447 -0.866060 +vn -0.866061 0.005447 -0.499908 +vn -0.809131 0.415512 -0.415519 +vn -0.866061 0.005447 -0.499908 +vn -0.999876 0.007145 -0.014006 +vn -0.866071 0.499807 -0.010655 +vn -0.809131 0.415512 -0.415519 +vn -0.809131 0.415512 -0.415519 +vn -0.866071 0.499807 -0.010655 +vn -0.499845 0.866050 -0.010656 +vn -0.415527 0.809117 -0.415532 +vn -0.499845 0.866050 -0.010656 +vn -0.013919 0.999806 -0.013919 +vn -0.010655 0.866048 -0.499848 +vn -0.415527 0.809117 -0.415532 +vn -0.415527 0.809117 -0.415532 +vn -0.010655 0.866048 -0.499848 +vn -0.010655 0.499806 -0.866072 +vn -0.415517 0.415519 -0.809129 +vn -0.415517 0.415519 -0.809129 +vn -0.809131 0.415512 -0.415519 +vn -0.415527 0.809117 -0.415532 +vn -0.010654 -0.866074 -0.499803 +vn -0.013912 -0.999806 -0.013912 +vn -0.499800 -0.866075 -0.010654 +vn -0.415508 -0.809135 -0.415517 +vn -0.415508 -0.809135 -0.415517 +vn -0.499800 -0.866075 -0.010654 +vn -0.866071 -0.499807 -0.010655 +vn -0.809131 -0.415514 -0.415519 +vn -0.866071 -0.499807 -0.010655 +vn -0.999876 -0.007145 -0.014006 +vn -0.866061 -0.005447 -0.499908 +vn -0.809131 -0.415514 -0.415519 +vn -0.809131 -0.415514 -0.415519 +vn -0.866061 -0.005447 -0.499908 +vn -0.499911 -0.005447 -0.866060 +vn -0.415512 -0.415520 -0.809131 +vn -0.499911 -0.005447 -0.866060 +vn -0.014005 -0.007145 -0.999876 +vn -0.010654 -0.499807 -0.866071 +vn -0.415512 -0.415520 -0.809131 +vn -0.415512 -0.415520 -0.809131 +vn -0.010654 -0.499807 -0.866071 +vn -0.010654 -0.866074 -0.499803 +vn -0.415508 -0.809135 -0.415517 +vn -0.415508 -0.809135 -0.415517 +vn -0.809131 -0.415514 -0.415519 +vn -0.415512 -0.415520 -0.809131 +vn 0.013912 -0.999806 -0.013912 +vn -0.013912 -0.999806 -0.013912 +vn -0.010654 -0.866074 -0.499803 +vn 0.010654 -0.866074 -0.499803 +vn -0.010654 -0.866074 -0.499803 +vn -0.010654 -0.499807 -0.866071 +vn 0.010655 -0.499807 -0.866071 +vn 0.010654 -0.866074 -0.499803 +vn -0.010654 -0.499807 -0.866071 +vn -0.014005 -0.007145 -0.999876 +vn 0.014005 -0.007145 -0.999876 +vn 0.010655 -0.499807 -0.866071 +vn -0.014005 0.007145 -0.999876 +vn -0.010655 0.499806 -0.866072 +vn 0.010654 0.499806 -0.866072 +vn 0.014005 0.007145 -0.999876 +vn -0.010655 0.499806 -0.866072 +vn -0.010655 0.866048 -0.499848 +vn 0.010655 0.866048 -0.499848 +vn 0.010654 0.499806 -0.866072 +vn -0.010655 0.866048 -0.499848 +vn -0.013919 0.999806 -0.013919 +vn 0.013919 0.999806 -0.013919 +vn 0.010655 0.866048 -0.499848 +vn -0.013919 0.999806 -0.013919 +vn -0.013919 0.999806 0.013919 +vn 0.013919 0.999806 0.013919 +vn 0.013919 0.999806 -0.013919 +vn -0.013919 0.999806 0.013919 +vn -0.010655 0.866048 0.499848 +vn 0.010655 0.866048 0.499848 +vn 0.013919 0.999806 0.013919 +vn -0.010655 0.866048 0.499848 +vn -0.010655 0.499806 0.866072 +vn 0.010655 0.499806 0.866072 +vn 0.010655 0.866048 0.499848 +vn -0.010655 0.499806 0.866072 +vn -0.014005 0.007145 -0.999876 +vn 0.014005 0.007145 -0.999876 +vn 0.010655 0.499806 0.866072 +vn -0.999876 -0.007145 0.014006 +vn -0.866061 -0.005447 0.499908 +vn -0.866061 0.005447 0.499908 +vn -0.999876 0.007145 0.014006 +vn -0.866061 -0.005447 0.499908 +vn -0.499911 -0.005447 0.866060 +vn -0.499911 0.005447 0.866060 +vn -0.866061 0.005447 0.499908 +vn -0.499911 -0.005447 0.866060 +vn -0.014005 -0.007145 -0.999876 +vn -0.014005 0.007145 -0.999876 +vn -0.499911 0.005447 0.866060 +vn -0.014005 -0.007145 -0.999876 +vn -0.014005 0.007145 -0.999876 +vn 0.014005 0.007145 -0.999876 +vn 0.014005 -0.007145 -0.999876 +vn -0.014005 -0.007145 -0.999876 +vn -0.499911 -0.005447 -0.866060 +vn -0.499911 0.005447 -0.866060 +vn -0.014005 0.007145 -0.999876 +vn -0.499911 -0.005447 -0.866060 +vn -0.866061 -0.005447 -0.499908 +vn -0.866061 0.005447 -0.499908 +vn -0.499911 0.005447 -0.866060 +vn -0.866061 -0.005447 -0.499908 +vn -0.999876 -0.007145 -0.014006 +vn -0.999876 0.007145 -0.014006 +vn -0.866061 0.005447 -0.499908 +vn -0.999876 -0.007145 0.014006 +vn -0.999876 0.007145 0.014006 +vn -0.999876 0.007145 -0.014006 +vn -0.999876 -0.007145 -0.014006 +vn -0.499845 0.866050 0.010655 +vn -0.013919 0.999806 0.013919 +vn -0.013919 0.999806 -0.013919 +vn -0.499845 0.866050 -0.010656 +vn -0.866071 0.499807 0.010655 +vn -0.499845 0.866050 0.010655 +vn -0.499845 0.866050 -0.010656 +vn -0.866071 0.499807 -0.010655 +vn -0.999876 0.007145 0.014006 +vn -0.866071 0.499807 0.010655 +vn -0.866071 0.499807 -0.010655 +vn -0.999876 0.007145 -0.014006 +vn -0.866071 -0.499807 0.010655 +vn -0.999876 -0.007145 0.014006 +vn -0.999876 -0.007145 -0.014006 +vn -0.866071 -0.499807 -0.010655 +vn -0.499800 -0.866075 0.010654 +vn -0.866071 -0.499807 0.010655 +vn -0.866071 -0.499807 -0.010655 +vn -0.499800 -0.866075 -0.010654 +vn -0.013912 -0.999806 -0.013912 +vn -0.013912 -0.999806 0.013912 +vn -0.499800 -0.866075 0.010654 +vn -0.499800 -0.866075 -0.010654 +vn -0.866048 -0.010655 0.499848 +vn -0.999806 -0.013919 0.013919 +vn -0.866050 -0.499845 0.010655 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.866050 -0.499845 0.010655 +vn -0.499807 -0.866071 0.010655 +vn -0.415516 -0.809128 0.415522 +vn -0.499807 -0.866071 0.010655 +vn -0.013919 0.999806 0.013919 +vn -0.005447 -0.866061 0.499908 +vn -0.415516 -0.809128 0.415522 +vn -0.415516 -0.809128 0.415522 +vn -0.005447 -0.866061 0.499908 +vn -0.005447 -0.499911 0.866060 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 -0.499911 0.866060 +vn -0.007145 -0.014005 0.999876 +vn -0.499806 -0.010655 0.866072 +vn -0.415519 -0.415517 0.809129 +vn -0.415519 -0.415517 0.809129 +vn -0.499806 -0.010655 0.866072 +vn -0.866048 -0.010655 0.499848 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.415516 -0.809128 0.415522 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 0.866061 0.499908 +vn -0.007145 0.999876 0.014006 +vn -0.499807 0.866071 0.010655 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.499807 0.866071 0.010655 +vn -0.866050 0.499845 0.010655 +vn -0.809118 0.415526 0.415531 +vn -0.866050 0.499845 0.010655 +vn -0.999806 0.013919 0.013919 +vn -0.866048 0.010655 0.499848 +vn -0.809118 0.415526 0.415531 +vn -0.809118 0.415526 0.415531 +vn -0.866048 0.010655 0.499848 +vn -0.499806 0.010655 0.866072 +vn -0.415519 0.415518 0.809129 +vn -0.499806 0.010655 0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.005447 0.499911 0.866060 +vn -0.415519 0.415518 0.809129 +vn -0.415519 0.415518 0.809129 +vn -0.005447 0.499911 0.866060 +vn -0.005447 0.866061 0.499908 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.809118 0.415526 0.415531 +vn -0.415519 0.415518 0.809129 +vn -0.499806 -0.010655 -0.866072 +vn -0.007145 -0.014005 -0.999876 +vn -0.005447 -0.499911 -0.866060 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.005447 -0.499911 -0.866060 +vn -0.005447 -0.866061 -0.499908 +vn -0.415512 -0.809131 -0.415519 +vn -0.005447 -0.866061 -0.499908 +vn -0.013919 0.999806 -0.013919 +vn -0.499807 -0.866071 -0.010655 +vn -0.415512 -0.809131 -0.415519 +vn -0.415512 -0.809131 -0.415519 +vn -0.499807 -0.866071 -0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.809117 -0.415527 -0.415532 +vn -0.866050 -0.499845 -0.010656 +vn -0.999806 -0.013919 -0.013919 +vn -0.866048 -0.010655 -0.499848 +vn -0.809117 -0.415527 -0.415532 +vn -0.809117 -0.415527 -0.415532 +vn -0.866048 -0.010655 -0.499848 +vn -0.499806 -0.010655 -0.866072 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.415512 -0.809131 -0.415519 +vn -0.809117 -0.415527 -0.415532 +vn -0.499807 0.866071 -0.010655 +vn -0.007145 0.999876 -0.014006 +vn -0.005447 0.866061 -0.499908 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.005447 0.866061 -0.499908 +vn -0.005447 0.499911 -0.866060 +vn -0.415521 0.415511 -0.809131 +vn -0.005447 0.499911 -0.866060 +vn -0.007145 0.014005 -0.999876 +vn -0.499806 0.010654 -0.866072 +vn -0.415521 0.415511 -0.809131 +vn -0.415521 0.415511 -0.809131 +vn -0.499806 0.010654 -0.866072 +vn -0.866048 0.010655 -0.499848 +vn -0.809119 0.415522 -0.415533 +vn -0.866048 0.010655 -0.499848 +vn -0.999806 0.013919 -0.013919 +vn -0.866050 0.499845 -0.010656 +vn -0.809119 0.415522 -0.415533 +vn -0.809119 0.415522 -0.415533 +vn -0.866050 0.499845 -0.010656 +vn -0.499807 0.866071 -0.010655 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.415521 0.415511 -0.809131 +vn -0.809119 0.415522 -0.415533 +vn -0.499806 0.010654 -0.866072 +vn -0.007145 0.014005 -0.999876 +vn -0.007145 -0.014005 -0.999876 +vn -0.499806 -0.010655 -0.866072 +vn -0.866048 0.010655 -0.499848 +vn -0.499806 0.010654 -0.866072 +vn -0.499806 -0.010655 -0.866072 +vn -0.866048 -0.010655 -0.499848 +vn -0.999806 0.013919 -0.013919 +vn -0.866048 0.010655 -0.499848 +vn -0.866048 -0.010655 -0.499848 +vn -0.999806 -0.013919 -0.013919 +vn -0.999806 0.013919 0.013919 +vn -0.999806 0.013919 -0.013919 +vn -0.999806 -0.013919 -0.013919 +vn -0.999806 -0.013919 0.013919 +vn -0.866048 0.010655 0.499848 +vn -0.999806 0.013919 0.013919 +vn -0.999806 -0.013919 0.013919 +vn -0.866048 -0.010655 0.499848 +vn -0.499806 0.010655 0.866072 +vn -0.866048 0.010655 0.499848 +vn -0.866048 -0.010655 0.499848 +vn -0.499806 -0.010655 0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.499806 0.010655 0.866072 +vn -0.499806 -0.010655 0.866072 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn -0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn 0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn -0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn 0.005447 0.866061 0.499908 +vn 0.007145 0.999876 0.014006 +vn -0.005447 0.866061 -0.499908 +vn -0.007145 0.999876 -0.014006 +vn 0.007145 0.999876 -0.014006 +vn 0.005447 0.866061 -0.499908 +vn -0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn 0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn -0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn 0.005447 0.499911 -0.866060 +vn 0.007145 0.014005 -0.999876 +vn -0.007145 -0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn 0.007145 0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn -0.005447 -0.499911 -0.866060 +vn -0.007145 -0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn 0.005447 -0.499911 -0.866060 +vn -0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn 0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn -0.013919 0.999806 -0.013919 +vn -0.005447 -0.866061 -0.499908 +vn 0.005447 -0.866061 -0.499908 +vn 0.013919 0.999806 -0.013919 +vn -0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 0.014006 +vn 0.007145 0.999876 0.014006 +vn 0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.499807 0.866071 -0.010655 +vn -0.499807 0.866071 0.010655 +vn -0.007145 0.999876 0.014006 +vn -0.499807 0.866071 -0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.866050 0.499845 0.010655 +vn -0.499807 0.866071 0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.999806 0.013919 -0.013919 +vn -0.999806 0.013919 0.013919 +vn -0.866050 0.499845 0.010655 +vn -0.999806 -0.013919 -0.013919 +vn -0.866050 -0.499845 -0.010656 +vn -0.866050 -0.499845 0.010655 +vn -0.999806 -0.013919 0.013919 +vn -0.866050 -0.499845 -0.010656 +vn -0.499807 -0.866071 -0.010655 +vn -0.499807 -0.866071 0.010655 +vn -0.866050 -0.499845 0.010655 +vn -0.499807 -0.866071 -0.010655 +vn -0.013919 0.999806 -0.013919 +vn -0.013919 0.999806 0.013919 +vn -0.499807 -0.866071 0.010655 +vn 0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn -0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn -0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn 0.007145 -0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn 0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn -0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn -0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn 0.007145 0.999876 0.014006 +vn -0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn -0.499807 -0.866071 0.010655 +vn -0.499807 -0.866071 -0.010655 +vn -0.007145 -0.999876 -0.014006 +vn -0.499807 -0.866071 0.010655 +vn -0.866050 -0.499845 0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.499807 -0.866071 -0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.866050 -0.499845 0.010655 +vn -0.999806 -0.013919 0.013919 +vn -0.999806 -0.013919 -0.013919 +vn -0.866048 0.010655 0.499848 +vn -0.999806 0.013919 0.013919 +vn -0.999806 -0.013919 0.013919 +vn -0.866048 -0.010655 0.499848 +vn -0.499806 0.010655 0.866072 +vn -0.866048 0.010655 0.499848 +vn -0.866048 -0.010655 0.499848 +vn -0.499806 -0.010655 0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.499806 0.010655 0.866072 +vn -0.499806 -0.010655 0.866072 +vn -0.007145 -0.014005 0.999876 +vn -0.999806 0.013919 0.013919 +vn -0.866050 0.499845 0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.999806 0.013919 -0.013919 +vn -0.866050 0.499845 0.010655 +vn -0.499807 0.866071 0.010655 +vn -0.499807 0.866071 -0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.499807 0.866071 0.010655 +vn -0.007145 0.999876 0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.499807 0.866071 -0.010655 +vn 0.005447 -0.866061 -0.499908 +vn 0.007145 -0.999876 -0.014006 +vn -0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn 0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn -0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn 0.007145 -0.014005 -0.999876 +vn 0.005447 -0.499911 -0.866060 +vn -0.005447 -0.499911 -0.866060 +vn -0.007145 -0.014005 -0.999876 +vn -0.499806 0.010654 -0.866072 +vn -0.007145 0.014005 -0.999876 +vn -0.007145 -0.014005 -0.999876 +vn -0.499806 -0.010655 -0.866072 +vn -0.866048 0.010655 -0.499848 +vn -0.499806 0.010654 -0.866072 +vn -0.499806 -0.010655 -0.866072 +vn -0.866048 -0.010655 -0.499848 +vn -0.999806 0.013919 -0.013919 +vn -0.866048 0.010655 -0.499848 +vn -0.866048 -0.010655 -0.499848 +vn -0.999806 -0.013919 -0.013919 +vn 0.005447 0.499911 -0.866060 +vn 0.007145 0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn 0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn -0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn 0.007145 0.999876 -0.014006 +vn 0.005447 0.866061 -0.499908 +vn -0.005447 0.866061 -0.499908 +vn -0.007145 0.999876 -0.014006 +vn 0.007145 0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn -0.007145 -0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn 0.007145 0.999876 0.014006 +vn 0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 -0.014006 +vn -0.866048 -0.010655 0.499848 +vn -0.999806 -0.013919 0.013919 +vn -0.866050 -0.499845 0.010655 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.866050 -0.499845 0.010655 +vn -0.499807 -0.866071 0.010655 +vn -0.415516 -0.809128 0.415522 +vn -0.499807 -0.866071 0.010655 +vn -0.007145 -0.999876 0.014006 +vn -0.005447 -0.866061 0.499908 +vn -0.415516 -0.809128 0.415522 +vn -0.415516 -0.809128 0.415522 +vn -0.005447 -0.866061 0.499908 +vn -0.005447 -0.499911 0.866060 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 -0.499911 0.866060 +vn -0.007145 -0.014005 0.999876 +vn -0.499806 -0.010655 0.866072 +vn -0.415519 -0.415517 0.809129 +vn -0.415519 -0.415517 0.809129 +vn -0.499806 -0.010655 0.866072 +vn -0.866048 -0.010655 0.499848 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.415516 -0.809128 0.415522 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 0.866061 0.499908 +vn -0.007145 0.999876 0.014006 +vn -0.499807 0.866071 0.010655 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.499807 0.866071 0.010655 +vn -0.866050 0.499845 0.010655 +vn -0.809118 0.415526 0.415531 +vn -0.866050 0.499845 0.010655 +vn -0.999806 0.013919 0.013919 +vn -0.866048 0.010655 0.499848 +vn -0.809118 0.415526 0.415531 +vn -0.809118 0.415526 0.415531 +vn -0.866048 0.010655 0.499848 +vn -0.499806 0.010655 0.866072 +vn -0.415519 0.415518 0.809129 +vn -0.499806 0.010655 0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.005447 0.499911 0.866060 +vn -0.415519 0.415518 0.809129 +vn -0.415519 0.415518 0.809129 +vn -0.005447 0.499911 0.866060 +vn -0.005447 0.866061 0.499908 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.809118 0.415526 0.415531 +vn -0.415519 0.415518 0.809129 +vn -0.499806 -0.010655 -0.866072 +vn -0.007145 -0.014005 -0.999876 +vn -0.005447 -0.499911 -0.866060 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.005447 -0.499911 -0.866060 +vn -0.005447 -0.866061 -0.499908 +vn -0.415512 -0.809131 -0.415519 +vn -0.005447 -0.866061 -0.499908 +vn -0.007145 -0.999876 -0.014006 +vn -0.499807 -0.866071 -0.010655 +vn -0.415512 -0.809131 -0.415519 +vn -0.415512 -0.809131 -0.415519 +vn -0.499807 -0.866071 -0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.809117 -0.415527 -0.415532 +vn -0.866050 -0.499845 -0.010656 +vn -0.999806 -0.013919 -0.013919 +vn -0.866048 -0.010655 -0.499848 +vn -0.809117 -0.415527 -0.415532 +vn -0.809117 -0.415527 -0.415532 +vn -0.866048 -0.010655 -0.499848 +vn -0.499806 -0.010655 -0.866072 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.415512 -0.809131 -0.415519 +vn -0.809117 -0.415527 -0.415532 +vn -0.499807 0.866071 -0.010655 +vn -0.007145 0.999876 -0.014006 +vn -0.005447 0.866061 -0.499908 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.005447 0.866061 -0.499908 +vn -0.005447 0.499911 -0.866060 +vn -0.415521 0.415511 -0.809131 +vn -0.005447 0.499911 -0.866060 +vn -0.007145 0.014005 -0.999876 +vn -0.499806 0.010654 -0.866072 +vn -0.415521 0.415511 -0.809131 +vn -0.415521 0.415511 -0.809131 +vn -0.499806 0.010654 -0.866072 +vn -0.866048 0.010655 -0.499848 +vn -0.809119 0.415522 -0.415533 +vn -0.866048 0.010655 -0.499848 +vn -0.999806 0.013919 -0.013919 +vn -0.866050 0.499845 -0.010656 +vn -0.809119 0.415522 -0.415533 +vn -0.809119 0.415522 -0.415533 +vn -0.866050 0.499845 -0.010656 +vn -0.499807 0.866071 -0.010655 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.415521 0.415511 -0.809131 +vn -0.809119 0.415522 -0.415533 +vn -0.999806 0.013919 0.013919 +vn -0.999806 0.013919 -0.013919 +vn -0.999806 -0.013919 -0.013919 +vn -0.999806 -0.013919 0.013919 +vn 0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn -0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn -0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn 0.007145 -0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn 0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn -0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn -0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn 0.007145 0.999876 0.014006 +vn -0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn -0.499807 -0.866071 0.010655 +vn -0.499807 -0.866071 -0.010655 +vn -0.007145 -0.999876 -0.014006 +vn -0.499807 -0.866071 0.010655 +vn -0.866050 -0.499845 0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.499807 -0.866071 -0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.866050 -0.499845 0.010655 +vn -0.999806 -0.013919 0.013919 +vn -0.999806 -0.013919 -0.013919 +vn -0.866048 0.010655 0.499848 +vn -0.999806 0.013919 0.013919 +vn -0.999806 -0.013919 0.013919 +vn -0.866048 -0.010655 0.499848 +vn -0.499806 0.010655 0.866072 +vn -0.866048 0.010655 0.499848 +vn -0.866048 -0.010655 0.499848 +vn -0.499806 -0.010655 0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.499806 0.010655 0.866072 +vn -0.499806 -0.010655 0.866072 +vn -0.007145 -0.014005 0.999876 +vn -0.999806 0.013919 0.013919 +vn -0.866050 0.499845 0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.999806 0.013919 -0.013919 +vn -0.866050 0.499845 0.010655 +vn -0.499807 0.866071 0.010655 +vn -0.499807 0.866071 -0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.499807 0.866071 0.010655 +vn -0.007145 0.999876 0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.499807 0.866071 -0.010655 +vn 0.005447 -0.866061 -0.499908 +vn 0.007145 -0.999876 -0.014006 +vn -0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn 0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn -0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn 0.007145 -0.014005 0.999876 +vn 0.005447 -0.499911 -0.866060 +vn -0.005447 -0.499911 -0.866060 +vn -0.007145 -0.014005 0.999876 +vn -0.499806 0.010654 -0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn -0.499806 -0.010655 -0.866072 +vn -0.866048 0.010655 -0.499848 +vn -0.499806 0.010654 -0.866072 +vn -0.499806 -0.010655 -0.866072 +vn -0.866048 -0.010655 -0.499848 +vn -0.999806 0.013919 -0.013919 +vn -0.866048 0.010655 -0.499848 +vn -0.866048 -0.010655 -0.499848 +vn -0.999806 -0.013919 -0.013919 +vn 0.005447 0.499911 -0.866060 +vn 0.007145 0.014005 0.999876 +vn -0.007145 0.014005 0.999876 +vn -0.005447 0.499911 -0.866060 +vn 0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn -0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn 0.007145 0.999876 -0.014006 +vn 0.005447 0.866061 -0.499908 +vn -0.005447 0.866061 -0.499908 +vn -0.007145 0.999876 -0.014006 +vn -0.007145 -0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn -0.007145 0.014005 0.999876 +vn 0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 -0.014006 +vn -0.866048 -0.010655 0.499848 +vn -0.999806 -0.013919 0.013919 +vn -0.866050 -0.499845 0.010655 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.866050 -0.499845 0.010655 +vn -0.499807 -0.866071 0.010655 +vn -0.415516 -0.809128 0.415522 +vn -0.499807 -0.866071 0.010655 +vn -0.007145 -0.999876 0.014006 +vn -0.005447 -0.866061 0.499908 +vn -0.415516 -0.809128 0.415522 +vn -0.415516 -0.809128 0.415522 +vn -0.005447 -0.866061 0.499908 +vn -0.005447 -0.499911 0.866060 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 -0.499911 0.866060 +vn -0.007145 -0.014005 0.999876 +vn -0.499806 -0.010655 0.866072 +vn -0.415519 -0.415517 0.809129 +vn -0.415519 -0.415517 0.809129 +vn -0.499806 -0.010655 0.866072 +vn -0.866048 -0.010655 0.499848 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.415516 -0.809128 0.415522 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 0.866061 0.499908 +vn -0.007145 0.999876 0.014006 +vn -0.499807 0.866071 0.010655 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.499807 0.866071 0.010655 +vn -0.866050 0.499845 0.010655 +vn -0.809118 0.415526 0.415531 +vn -0.866050 0.499845 0.010655 +vn -0.999806 0.013919 0.013919 +vn -0.866048 0.010655 0.499848 +vn -0.809118 0.415526 0.415531 +vn -0.809118 0.415526 0.415531 +vn -0.866048 0.010655 0.499848 +vn -0.499806 0.010655 0.866072 +vn -0.415519 0.415518 0.809129 +vn -0.499806 0.010655 0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.005447 0.499911 0.866060 +vn -0.415519 0.415518 0.809129 +vn -0.415519 0.415518 0.809129 +vn -0.005447 0.499911 0.866060 +vn -0.005447 0.866061 0.499908 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.809118 0.415526 0.415531 +vn -0.415519 0.415518 0.809129 +vn -0.499806 -0.010655 -0.866072 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 -0.866060 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.005447 -0.499911 -0.866060 +vn -0.005447 -0.866061 -0.499908 +vn -0.415512 -0.809131 -0.415519 +vn -0.005447 -0.866061 -0.499908 +vn -0.007145 -0.999876 -0.014006 +vn -0.499807 -0.866071 -0.010655 +vn -0.415512 -0.809131 -0.415519 +vn -0.415512 -0.809131 -0.415519 +vn -0.499807 -0.866071 -0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.809117 -0.415527 -0.415532 +vn -0.866050 -0.499845 -0.010656 +vn -0.999806 -0.013919 -0.013919 +vn -0.866048 -0.010655 -0.499848 +vn -0.809117 -0.415527 -0.415532 +vn -0.809117 -0.415527 -0.415532 +vn -0.866048 -0.010655 -0.499848 +vn -0.499806 -0.010655 -0.866072 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.415512 -0.809131 -0.415519 +vn -0.809117 -0.415527 -0.415532 +vn -0.499807 0.866071 -0.010655 +vn -0.007145 0.999876 -0.014006 +vn -0.005447 0.866061 -0.499908 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.005447 0.866061 -0.499908 +vn -0.005447 0.499911 -0.866060 +vn -0.415521 0.415511 -0.809131 +vn -0.005447 0.499911 -0.866060 +vn -0.007145 0.014005 0.999876 +vn -0.499806 0.010654 -0.866072 +vn -0.415521 0.415511 -0.809131 +vn -0.415521 0.415511 -0.809131 +vn -0.499806 0.010654 -0.866072 +vn -0.866048 0.010655 -0.499848 +vn -0.809119 0.415522 -0.415533 +vn -0.866048 0.010655 -0.499848 +vn -0.999806 0.013919 -0.013919 +vn -0.866050 0.499845 -0.010656 +vn -0.809119 0.415522 -0.415533 +vn -0.809119 0.415522 -0.415533 +vn -0.866050 0.499845 -0.010656 +vn -0.499807 0.866071 -0.010655 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.415521 0.415511 -0.809131 +vn -0.809119 0.415522 -0.415533 +vn -0.999806 0.013919 0.013919 +vn -0.999806 0.013919 -0.013919 +vn -0.999806 -0.013919 -0.013919 +vn -0.999806 -0.013919 0.013919 +vn -0.866048 -0.010655 0.499848 +vn -0.999806 -0.013919 0.013919 +vn -0.866050 -0.499845 0.010655 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.866050 -0.499845 0.010655 +vn -0.499807 -0.866071 0.010655 +vn -0.415516 -0.809128 0.415522 +vn -0.499807 -0.866071 0.010655 +vn -0.007145 -0.999876 0.014006 +vn -0.005447 -0.866061 0.499908 +vn -0.415516 -0.809128 0.415522 +vn -0.415516 -0.809128 0.415522 +vn -0.005447 -0.866061 0.499908 +vn -0.005447 -0.499911 0.866060 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 -0.499911 0.866060 +vn -0.007145 -0.014005 0.999876 +vn -0.499806 -0.010655 0.866072 +vn -0.415519 -0.415517 0.809129 +vn -0.415519 -0.415517 0.809129 +vn -0.499806 -0.010655 0.866072 +vn -0.866048 -0.010655 0.499848 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.415516 -0.809128 0.415522 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 0.866061 0.499908 +vn -0.007145 0.999876 0.014006 +vn -0.499807 0.866071 0.010655 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.499807 0.866071 0.010655 +vn -0.866050 0.499845 0.010655 +vn -0.809118 0.415526 0.415531 +vn -0.866050 0.499845 0.010655 +vn -0.999806 0.013919 0.013919 +vn -0.866048 0.010655 0.499848 +vn -0.809118 0.415526 0.415531 +vn -0.809118 0.415526 0.415531 +vn -0.866048 0.010655 0.499848 +vn -0.499806 0.010655 0.866072 +vn -0.415519 0.415518 0.809129 +vn -0.499806 0.010655 0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.005447 0.499911 0.866060 +vn -0.415519 0.415518 0.809129 +vn -0.415519 0.415518 0.809129 +vn -0.005447 0.499911 0.866060 +vn -0.005447 0.866061 0.499908 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.809118 0.415526 0.415531 +vn -0.415519 0.415518 0.809129 +vn -0.499806 -0.010655 -0.866072 +vn -0.007145 -0.014005 -0.999876 +vn -0.005447 -0.499911 -0.866060 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.005447 -0.499911 -0.866060 +vn -0.005447 -0.866061 -0.499908 +vn -0.415512 -0.809131 -0.415519 +vn -0.005447 -0.866061 -0.499908 +vn -0.007145 -0.999876 -0.014006 +vn -0.499807 -0.866071 -0.010655 +vn -0.415512 -0.809131 -0.415519 +vn -0.415512 -0.809131 -0.415519 +vn -0.499807 -0.866071 -0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.809117 -0.415527 -0.415532 +vn -0.866050 -0.499845 -0.010656 +vn -0.999806 -0.013919 -0.013919 +vn -0.866048 -0.010655 -0.499848 +vn -0.809117 -0.415527 -0.415532 +vn -0.809117 -0.415527 -0.415532 +vn -0.866048 -0.010655 -0.499848 +vn -0.499806 -0.010655 -0.866072 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.415512 -0.809131 -0.415519 +vn -0.809117 -0.415527 -0.415532 +vn -0.499807 0.866071 -0.010655 +vn -0.007145 0.999876 -0.014006 +vn -0.005447 0.866061 -0.499908 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.005447 0.866061 -0.499908 +vn -0.005447 0.499911 -0.866060 +vn -0.415521 0.415511 -0.809131 +vn -0.005447 0.499911 -0.866060 +vn -0.007145 0.014005 -0.999876 +vn -0.499806 0.010654 -0.866072 +vn -0.415521 0.415511 -0.809131 +vn -0.415521 0.415511 -0.809131 +vn -0.499806 0.010654 -0.866072 +vn -0.866048 0.010655 -0.499848 +vn -0.809119 0.415522 -0.415533 +vn -0.866048 0.010655 -0.499848 +vn -0.999806 0.013919 -0.013919 +vn -0.866050 0.499845 -0.010656 +vn -0.809119 0.415522 -0.415533 +vn -0.809119 0.415522 -0.415533 +vn -0.866050 0.499845 -0.010656 +vn -0.499807 0.866071 -0.010655 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.415521 0.415511 -0.809131 +vn -0.809119 0.415522 -0.415533 +vn -0.007145 -0.014005 -0.999876 +vn -0.499806 -0.010655 -0.866072 +vn -0.499806 0.010654 -0.866072 +vn -0.007145 0.014005 -0.999876 +vn -0.499806 -0.010655 -0.866072 +vn -0.866048 -0.010655 -0.499848 +vn -0.866048 0.010655 -0.499848 +vn -0.499806 0.010654 -0.866072 +vn -0.866048 -0.010655 -0.499848 +vn -0.999806 -0.013919 -0.013919 +vn -0.999806 0.013919 -0.013919 +vn -0.866048 0.010655 -0.499848 +vn -0.999806 0.013919 0.013919 +vn -0.999806 0.013919 -0.013919 +vn -0.999806 -0.013919 -0.013919 +vn -0.999806 -0.013919 0.013919 +vn -0.999806 -0.013919 0.013919 +vn -0.866048 -0.010655 0.499848 +vn -0.866048 0.010655 0.499848 +vn -0.999806 0.013919 0.013919 +vn -0.866048 -0.010655 0.499848 +vn -0.499806 -0.010655 0.866072 +vn -0.499806 0.010655 0.866072 +vn -0.866048 0.010655 0.499848 +vn -0.499806 -0.010655 0.866072 +vn -0.007145 -0.014005 0.999876 +vn -0.007145 0.014005 0.999876 +vn -0.499806 0.010655 0.866072 +vn 0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn -0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn -0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn 0.007145 -0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn -0.007145 -0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn -0.007145 0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn -0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn -0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn 0.007145 0.999876 0.014006 +vn -0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn 0.007145 0.999876 -0.014006 +vn 0.005447 0.866061 -0.499908 +vn -0.005447 0.866061 -0.499908 +vn -0.007145 0.999876 -0.014006 +vn 0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn -0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn 0.007145 0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn 0.007145 0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn -0.007145 -0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn 0.005447 -0.499911 -0.866060 +vn -0.005447 -0.499911 -0.866060 +vn -0.007145 -0.014005 -0.999876 +vn 0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn -0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn 0.007145 -0.999876 -0.014006 +vn -0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn -0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 0.014006 +vn 0.007145 0.999876 0.014006 +vn 0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.499807 0.866071 -0.010655 +vn -0.499807 0.866071 0.010655 +vn -0.007145 0.999876 0.014006 +vn -0.499807 0.866071 -0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.866050 0.499845 0.010655 +vn -0.499807 0.866071 0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.999806 0.013919 -0.013919 +vn -0.999806 0.013919 0.013919 +vn -0.866050 0.499845 0.010655 +vn -0.999806 -0.013919 -0.013919 +vn -0.866050 -0.499845 -0.010656 +vn -0.866050 -0.499845 0.010655 +vn -0.999806 -0.013919 0.013919 +vn -0.866050 -0.499845 -0.010656 +vn -0.499807 -0.866071 -0.010655 +vn -0.499807 -0.866071 0.010655 +vn -0.866050 -0.499845 0.010655 +vn -0.499807 -0.866071 -0.010655 +vn -0.007145 -0.999876 -0.014006 +vn -0.007145 -0.999876 0.014006 +vn -0.499807 -0.866071 0.010655 +vn 0.007145 0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn -0.005447 -0.866061 0.499908 +vn -0.007145 0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn -0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn 0.007145 -0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn 0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn -0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn -0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn 0.007145 0.999876 0.014006 +vn -0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn -0.007145 0.999876 0.014006 +vn -0.499807 -0.866071 0.010655 +vn -0.499807 -0.866071 -0.010655 +vn -0.007145 0.999876 -0.014006 +vn -0.499807 -0.866071 0.010655 +vn -0.866050 -0.499845 0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.499807 -0.866071 -0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.866050 -0.499845 0.010655 +vn -0.999806 -0.013919 0.013919 +vn -0.999806 -0.013919 -0.013919 +vn -0.866048 0.010655 0.499848 +vn -0.999806 0.013919 0.013919 +vn -0.999806 -0.013919 0.013919 +vn -0.866048 -0.010655 0.499848 +vn -0.499806 0.010655 0.866072 +vn -0.866048 0.010655 0.499848 +vn -0.866048 -0.010655 0.499848 +vn -0.499806 -0.010655 0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.499806 0.010655 0.866072 +vn -0.499806 -0.010655 0.866072 +vn -0.007145 -0.014005 0.999876 +vn -0.999806 0.013919 0.013919 +vn -0.866050 0.499845 0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.999806 0.013919 -0.013919 +vn -0.866050 0.499845 0.010655 +vn -0.499807 0.866071 0.010655 +vn -0.499807 0.866071 -0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.499807 0.866071 0.010655 +vn -0.007145 0.999876 0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.499807 0.866071 -0.010655 +vn 0.005447 -0.866061 -0.499908 +vn 0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn 0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn -0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn 0.007145 -0.014005 -0.999876 +vn 0.005447 -0.499911 -0.866060 +vn -0.005447 -0.499911 -0.866060 +vn -0.007145 -0.014005 -0.999876 +vn -0.499806 0.010654 -0.866072 +vn -0.007145 0.014005 -0.999876 +vn -0.007145 -0.014005 -0.999876 +vn -0.499806 -0.010655 -0.866072 +vn -0.866048 0.010655 -0.499848 +vn -0.499806 0.010654 -0.866072 +vn -0.499806 -0.010655 -0.866072 +vn -0.866048 -0.010655 -0.499848 +vn -0.999806 0.013919 -0.013919 +vn -0.866048 0.010655 -0.499848 +vn -0.866048 -0.010655 -0.499848 +vn -0.999806 -0.013919 -0.013919 +vn 0.005447 0.499911 -0.866060 +vn 0.007145 0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn -0.005447 0.499911 -0.866060 +vn 0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn -0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn 0.007145 0.999876 -0.014006 +vn 0.005447 0.866061 -0.499908 +vn -0.005447 0.866061 -0.499908 +vn -0.007145 0.999876 -0.014006 +vn -0.007145 -0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn -0.007145 0.014005 0.999876 +vn 0.007145 0.014005 -0.999876 +vn 0.007145 -0.014005 -0.999876 +vn -0.007145 -0.014005 -0.999876 +vn -0.007145 0.014005 -0.999876 +vn 0.007145 0.999876 0.014006 +vn 0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 0.014006 +vn -0.866048 -0.010655 0.499848 +vn -0.999806 -0.013919 0.013919 +vn -0.866050 -0.499845 0.010655 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.866050 -0.499845 0.010655 +vn -0.499807 -0.866071 0.010655 +vn -0.415516 -0.809128 0.415522 +vn -0.499807 -0.866071 0.010655 +vn -0.007145 0.999876 0.014006 +vn -0.005447 -0.866061 0.499908 +vn -0.415516 -0.809128 0.415522 +vn -0.415516 -0.809128 0.415522 +vn -0.005447 -0.866061 0.499908 +vn -0.005447 -0.499911 0.866060 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 -0.499911 0.866060 +vn -0.007145 -0.014005 0.999876 +vn -0.499806 -0.010655 0.866072 +vn -0.415519 -0.415517 0.809129 +vn -0.415519 -0.415517 0.809129 +vn -0.499806 -0.010655 0.866072 +vn -0.866048 -0.010655 0.499848 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.415516 -0.809128 0.415522 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 0.866061 0.499908 +vn -0.007145 0.999876 0.014006 +vn -0.499807 0.866071 0.010655 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.499807 0.866071 0.010655 +vn -0.866050 0.499845 0.010655 +vn -0.809118 0.415526 0.415531 +vn -0.866050 0.499845 0.010655 +vn -0.999806 0.013919 0.013919 +vn -0.866048 0.010655 0.499848 +vn -0.809118 0.415526 0.415531 +vn -0.809118 0.415526 0.415531 +vn -0.866048 0.010655 0.499848 +vn -0.499806 0.010655 0.866072 +vn -0.415519 0.415518 0.809129 +vn -0.499806 0.010655 0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.005447 0.499911 0.866060 +vn -0.415519 0.415518 0.809129 +vn -0.415519 0.415518 0.809129 +vn -0.005447 0.499911 0.866060 +vn -0.005447 0.866061 0.499908 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.809118 0.415526 0.415531 +vn -0.415519 0.415518 0.809129 +vn -0.499806 -0.010655 -0.866072 +vn -0.007145 -0.014005 -0.999876 +vn -0.005447 -0.499911 -0.866060 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.005447 -0.499911 -0.866060 +vn -0.005447 -0.866061 -0.499908 +vn -0.415512 -0.809131 -0.415519 +vn -0.005447 -0.866061 -0.499908 +vn -0.007145 0.999876 -0.014006 +vn -0.499807 -0.866071 -0.010655 +vn -0.415512 -0.809131 -0.415519 +vn -0.415512 -0.809131 -0.415519 +vn -0.499807 -0.866071 -0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.809117 -0.415527 -0.415532 +vn -0.866050 -0.499845 -0.010656 +vn -0.999806 -0.013919 -0.013919 +vn -0.866048 -0.010655 -0.499848 +vn -0.809117 -0.415527 -0.415532 +vn -0.809117 -0.415527 -0.415532 +vn -0.866048 -0.010655 -0.499848 +vn -0.499806 -0.010655 -0.866072 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.415512 -0.809131 -0.415519 +vn -0.809117 -0.415527 -0.415532 +vn -0.499807 0.866071 -0.010655 +vn -0.007145 0.999876 -0.014006 +vn -0.005447 0.866061 -0.499908 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.005447 0.866061 -0.499908 +vn -0.005447 0.499911 -0.866060 +vn -0.415521 0.415511 -0.809131 +vn -0.005447 0.499911 -0.866060 +vn -0.007145 0.014005 -0.999876 +vn -0.499806 0.010654 -0.866072 +vn -0.415521 0.415511 -0.809131 +vn -0.415521 0.415511 -0.809131 +vn -0.499806 0.010654 -0.866072 +vn -0.866048 0.010655 -0.499848 +vn -0.809119 0.415522 -0.415533 +vn -0.866048 0.010655 -0.499848 +vn -0.999806 0.013919 -0.013919 +vn -0.866050 0.499845 -0.010656 +vn -0.809119 0.415522 -0.415533 +vn -0.809119 0.415522 -0.415533 +vn -0.866050 0.499845 -0.010656 +vn -0.499807 0.866071 -0.010655 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.415521 0.415511 -0.809131 +vn -0.809119 0.415522 -0.415533 +vn -0.999806 0.013919 0.013919 +vn -0.999806 0.013919 -0.013919 +vn -0.999806 -0.013919 -0.013919 +vn -0.999806 -0.013919 0.013919 +vn -0.866061 -0.005447 0.499908 +vn -0.999876 -0.007145 0.014006 +vn -0.866071 -0.499807 0.010655 +vn -0.809129 -0.415515 0.415522 +vn -0.809129 -0.415515 0.415522 +vn -0.866071 -0.499807 0.010655 +vn -0.499800 -0.866075 0.010654 +vn -0.415511 -0.809133 0.415516 +vn -0.499800 -0.866075 0.010654 +vn -0.013919 0.999806 0.013919 +vn -0.010654 -0.866074 0.499803 +vn -0.415511 -0.809133 0.415516 +vn -0.415511 -0.809133 0.415516 +vn -0.010654 -0.866074 0.499803 +vn -0.010655 -0.499807 0.866071 +vn -0.415518 -0.415519 0.809129 +vn -0.010655 -0.499807 0.866071 +vn -0.014005 -0.007145 0.999876 +vn -0.499911 -0.005447 0.866060 +vn -0.415518 -0.415519 0.809129 +vn -0.415518 -0.415519 0.809129 +vn -0.499911 -0.005447 0.866060 +vn -0.866061 -0.005447 0.499908 +vn -0.809129 -0.415515 0.415522 +vn -0.809129 -0.415515 0.415522 +vn -0.415511 -0.809133 0.415516 +vn -0.415518 -0.415519 0.809129 +vn -0.010655 0.866048 0.499848 +vn -0.013919 0.999806 0.013919 +vn -0.499845 0.866050 0.010655 +vn -0.415527 0.809117 0.415532 +vn -0.415527 0.809117 0.415532 +vn -0.499845 0.866050 0.010655 +vn -0.866071 0.499807 0.010655 +vn -0.809128 0.415516 0.415522 +vn -0.866071 0.499807 0.010655 +vn -0.999876 0.007145 0.014006 +vn -0.866061 0.005447 0.499908 +vn -0.809128 0.415516 0.415522 +vn -0.809128 0.415516 0.415522 +vn -0.866061 0.005447 0.499908 +vn -0.499911 0.005447 0.866060 +vn -0.415517 0.415519 0.809129 +vn -0.499911 0.005447 0.866060 +vn -0.014005 0.007145 0.999876 +vn -0.010655 0.499806 0.866072 +vn -0.415517 0.415519 0.809129 +vn -0.415517 0.415519 0.809129 +vn -0.010655 0.499806 0.866072 +vn -0.010655 0.866048 0.499848 +vn -0.415527 0.809117 0.415532 +vn -0.415527 0.809117 0.415532 +vn -0.809128 0.415516 0.415522 +vn -0.415517 0.415519 0.809129 +vn -0.010655 0.499806 -0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.499911 0.005447 -0.866060 +vn -0.415517 0.415519 -0.809129 +vn -0.415517 0.415519 -0.809129 +vn -0.499911 0.005447 -0.866060 +vn -0.866061 0.005447 -0.499908 +vn -0.809131 0.415512 -0.415519 +vn -0.866061 0.005447 -0.499908 +vn -0.999876 0.007145 -0.014006 +vn -0.866071 0.499807 -0.010655 +vn -0.809131 0.415512 -0.415519 +vn -0.809131 0.415512 -0.415519 +vn -0.866071 0.499807 -0.010655 +vn -0.499845 0.866050 -0.010656 +vn -0.415527 0.809117 -0.415532 +vn -0.499845 0.866050 -0.010656 +vn -0.013919 0.999806 -0.013919 +vn -0.010655 0.866048 -0.499848 +vn -0.415527 0.809117 -0.415532 +vn -0.415527 0.809117 -0.415532 +vn -0.010655 0.866048 -0.499848 +vn -0.010655 0.499806 -0.866072 +vn -0.415517 0.415519 -0.809129 +vn -0.415517 0.415519 -0.809129 +vn -0.809131 0.415512 -0.415519 +vn -0.415527 0.809117 -0.415532 +vn -0.010654 -0.866074 -0.499803 +vn -0.013919 0.999806 -0.013919 +vn -0.499800 -0.866075 -0.010654 +vn -0.415508 -0.809135 -0.415517 +vn -0.415508 -0.809135 -0.415517 +vn -0.499800 -0.866075 -0.010654 +vn -0.866071 -0.499807 -0.010655 +vn -0.809131 -0.415514 -0.415519 +vn -0.866071 -0.499807 -0.010655 +vn -0.999876 -0.007145 -0.014006 +vn -0.866061 -0.005447 -0.499908 +vn -0.809131 -0.415514 -0.415519 +vn -0.809131 -0.415514 -0.415519 +vn -0.866061 -0.005447 -0.499908 +vn -0.499911 -0.005447 -0.866060 +vn -0.415512 -0.415520 -0.809131 +vn -0.499911 -0.005447 -0.866060 +vn -0.007145 -0.014005 0.999876 +vn -0.010654 -0.499807 -0.866071 +vn -0.415512 -0.415520 -0.809131 +vn -0.415512 -0.415520 -0.809131 +vn -0.010654 -0.499807 -0.866071 +vn -0.010654 -0.866074 -0.499803 +vn -0.415508 -0.809135 -0.415517 +vn -0.415508 -0.809135 -0.415517 +vn -0.809131 -0.415514 -0.415519 +vn -0.415512 -0.415520 -0.809131 +vn -0.007145 0.014005 0.999876 +vn -0.010655 0.499806 -0.866072 +vn 0.010654 0.499806 -0.866072 +vn 0.007145 0.014005 0.999876 +vn -0.010655 0.499806 -0.866072 +vn -0.010655 0.866048 -0.499848 +vn 0.010655 0.866048 -0.499848 +vn 0.010654 0.499806 -0.866072 +vn -0.010655 0.866048 -0.499848 +vn -0.013919 0.999806 -0.013919 +vn 0.013919 0.999806 -0.013919 +vn 0.010655 0.866048 -0.499848 +vn -0.013919 0.999806 -0.013919 +vn -0.013919 0.999806 0.013919 +vn 0.013919 0.999806 0.013919 +vn 0.013919 0.999806 -0.013919 +vn -0.013919 0.999806 0.013919 +vn -0.010655 0.866048 0.499848 +vn 0.010655 0.866048 0.499848 +vn 0.013919 0.999806 0.013919 +vn -0.010655 0.866048 0.499848 +vn -0.010655 0.499806 0.866072 +vn 0.010655 0.499806 0.866072 +vn 0.010655 0.866048 0.499848 +vn -0.010655 0.499806 0.866072 +vn -0.014005 0.007145 0.999876 +vn 0.014005 0.007145 0.999876 +vn 0.010655 0.499806 0.866072 +vn -0.014005 -0.007145 0.999876 +vn -0.010655 -0.499807 0.866071 +vn 0.010655 -0.499807 0.866071 +vn 0.014005 -0.007145 0.999876 +vn -0.010655 -0.499807 0.866071 +vn -0.010654 -0.866074 0.499803 +vn 0.010654 -0.866074 0.499803 +vn 0.010655 -0.499807 0.866071 +vn -0.010654 -0.866074 0.499803 +vn -0.013919 0.999806 0.013919 +vn 0.013919 0.999806 0.013919 +vn 0.010654 -0.866074 0.499803 +vn -0.866061 0.005447 0.499908 +vn -0.999876 0.007145 0.014006 +vn -0.999876 -0.007145 0.014006 +vn -0.866061 -0.005447 0.499908 +vn -0.499911 0.005447 0.866060 +vn -0.866061 0.005447 0.499908 +vn -0.866061 -0.005447 0.499908 +vn -0.499911 -0.005447 0.866060 +vn -0.014005 0.007145 0.999876 +vn -0.499911 0.005447 0.866060 +vn -0.499911 -0.005447 0.866060 +vn -0.014005 -0.007145 0.999876 +vn -0.499911 0.005447 -0.866060 +vn -0.007145 0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn -0.499911 -0.005447 -0.866060 +vn -0.866061 0.005447 -0.499908 +vn -0.499911 0.005447 -0.866060 +vn -0.499911 -0.005447 -0.866060 +vn -0.866061 -0.005447 -0.499908 +vn -0.999876 0.007145 -0.014006 +vn -0.866061 0.005447 -0.499908 +vn -0.866061 -0.005447 -0.499908 +vn -0.999876 -0.007145 -0.014006 +vn -0.999876 0.007145 0.014006 +vn -0.999876 0.007145 -0.014006 +vn -0.999876 -0.007145 -0.014006 +vn -0.999876 -0.007145 0.014006 +vn -0.013919 0.999806 -0.013919 +vn -0.499845 0.866050 -0.010656 +vn -0.499845 0.866050 0.010655 +vn -0.013919 0.999806 0.013919 +vn -0.499845 0.866050 -0.010656 +vn -0.866071 0.499807 -0.010655 +vn -0.866071 0.499807 0.010655 +vn -0.499845 0.866050 0.010655 +vn -0.866071 0.499807 -0.010655 +vn -0.999876 0.007145 -0.014006 +vn -0.999876 0.007145 0.014006 +vn -0.866071 0.499807 0.010655 +vn -0.999876 -0.007145 -0.014006 +vn -0.866071 -0.499807 -0.010655 +vn -0.866071 -0.499807 0.010655 +vn -0.999876 -0.007145 0.014006 +vn -0.866071 -0.499807 -0.010655 +vn -0.499800 -0.866075 -0.010654 +vn -0.499800 -0.866075 0.010654 +vn -0.866071 -0.499807 0.010655 +vn -0.499800 -0.866075 -0.010654 +vn -0.013919 0.999806 -0.013919 +vn -0.013919 0.999806 0.013919 +vn -0.499800 -0.866075 0.010654 +vn -0.866048 -0.010655 0.499848 +vn -0.999806 -0.013919 0.013919 +vn -0.866050 -0.499845 0.010655 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.866050 -0.499845 0.010655 +vn -0.499807 -0.866071 0.010655 +vn -0.415516 -0.809128 0.415522 +vn -0.499807 -0.866071 0.010655 +vn -0.007145 -0.999876 0.014006 +vn -0.005447 -0.866061 0.499908 +vn -0.415516 -0.809128 0.415522 +vn -0.415516 -0.809128 0.415522 +vn -0.005447 -0.866061 0.499908 +vn -0.005447 -0.499911 0.866060 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 -0.499911 0.866060 +vn -0.007145 -0.014005 0.999876 +vn -0.499806 -0.010655 0.866072 +vn -0.415519 -0.415517 0.809129 +vn -0.415519 -0.415517 0.809129 +vn -0.499806 -0.010655 0.866072 +vn -0.866048 -0.010655 0.499848 +vn -0.809117 -0.415527 0.415532 +vn -0.809117 -0.415527 0.415532 +vn -0.415516 -0.809128 0.415522 +vn -0.415519 -0.415517 0.809129 +vn -0.005447 0.866061 0.499908 +vn -0.007145 0.999876 0.014006 +vn -0.499807 0.866071 0.010655 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.499807 0.866071 0.010655 +vn -0.866050 0.499845 0.010655 +vn -0.809118 0.415526 0.415531 +vn -0.866050 0.499845 0.010655 +vn -0.999806 0.013919 0.013919 +vn -0.866048 0.010655 0.499848 +vn -0.809118 0.415526 0.415531 +vn -0.809118 0.415526 0.415531 +vn -0.866048 0.010655 0.499848 +vn -0.499806 0.010655 0.866072 +vn -0.415519 0.415518 0.809129 +vn -0.499806 0.010655 0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.005447 0.499911 0.866060 +vn -0.415519 0.415518 0.809129 +vn -0.415519 0.415518 0.809129 +vn -0.005447 0.499911 0.866060 +vn -0.005447 0.866061 0.499908 +vn -0.415515 0.809129 0.415522 +vn -0.415515 0.809129 0.415522 +vn -0.809118 0.415526 0.415531 +vn -0.415519 0.415518 0.809129 +vn -0.499806 -0.010655 -0.866072 +vn -0.014005 -0.007145 0.999876 +vn -0.005447 -0.499911 -0.866060 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.005447 -0.499911 -0.866060 +vn -0.005447 -0.866061 -0.499908 +vn -0.415512 -0.809131 -0.415519 +vn -0.005447 -0.866061 -0.499908 +vn -0.007145 -0.999876 -0.014006 +vn -0.499807 -0.866071 -0.010655 +vn -0.415512 -0.809131 -0.415519 +vn -0.415512 -0.809131 -0.415519 +vn -0.499807 -0.866071 -0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.809117 -0.415527 -0.415532 +vn -0.866050 -0.499845 -0.010656 +vn -0.999806 -0.013919 -0.013919 +vn -0.866048 -0.010655 -0.499848 +vn -0.809117 -0.415527 -0.415532 +vn -0.809117 -0.415527 -0.415532 +vn -0.866048 -0.010655 -0.499848 +vn -0.499806 -0.010655 -0.866072 +vn -0.415519 -0.415517 -0.809129 +vn -0.415519 -0.415517 -0.809129 +vn -0.415512 -0.809131 -0.415519 +vn -0.809117 -0.415527 -0.415532 +vn -0.499807 0.866071 -0.010655 +vn -0.007145 0.999876 -0.014006 +vn -0.005447 0.866061 -0.499908 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.005447 0.866061 -0.499908 +vn -0.005447 0.499911 -0.866060 +vn -0.415521 0.415511 -0.809131 +vn -0.005447 0.499911 -0.866060 +vn -0.014005 0.007145 0.999876 +vn -0.499806 0.010654 -0.866072 +vn -0.415521 0.415511 -0.809131 +vn -0.415521 0.415511 -0.809131 +vn -0.499806 0.010654 -0.866072 +vn -0.866048 0.010655 -0.499848 +vn -0.809119 0.415522 -0.415533 +vn -0.866048 0.010655 -0.499848 +vn -0.999806 0.013919 -0.013919 +vn -0.866050 0.499845 -0.010656 +vn -0.809119 0.415522 -0.415533 +vn -0.809119 0.415522 -0.415533 +vn -0.866050 0.499845 -0.010656 +vn -0.499807 0.866071 -0.010655 +vn -0.415514 0.809131 -0.415519 +vn -0.415514 0.809131 -0.415519 +vn -0.415521 0.415511 -0.809131 +vn -0.809119 0.415522 -0.415533 +vn -0.499806 0.010654 -0.866072 +vn -0.014005 0.007145 0.999876 +vn -0.014005 -0.007145 0.999876 +vn -0.499806 -0.010655 -0.866072 +vn -0.866048 0.010655 -0.499848 +vn -0.499806 0.010654 -0.866072 +vn -0.499806 -0.010655 -0.866072 +vn -0.866048 -0.010655 -0.499848 +vn -0.999806 0.013919 -0.013919 +vn -0.866048 0.010655 -0.499848 +vn -0.866048 -0.010655 -0.499848 +vn -0.999806 -0.013919 -0.013919 +vn -0.999806 0.013919 0.013919 +vn -0.999806 0.013919 -0.013919 +vn -0.999806 -0.013919 -0.013919 +vn -0.999806 -0.013919 0.013919 +vn -0.866048 0.010655 0.499848 +vn -0.999806 0.013919 0.013919 +vn -0.999806 -0.013919 0.013919 +vn -0.866048 -0.010655 0.499848 +vn -0.499806 0.010655 0.866072 +vn -0.866048 0.010655 0.499848 +vn -0.866048 -0.010655 0.499848 +vn -0.499806 -0.010655 0.866072 +vn -0.007145 0.014005 0.999876 +vn -0.499806 0.010655 0.866072 +vn -0.499806 -0.010655 0.866072 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.866061 0.499908 +vn -0.007145 -0.999876 0.014006 +vn 0.007145 -0.999876 0.014006 +vn 0.005447 -0.866061 0.499908 +vn -0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn 0.005447 -0.866061 0.499908 +vn 0.005447 -0.499911 0.866060 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn 0.005447 -0.499911 0.866060 +vn 0.007145 -0.014005 0.999876 +vn -0.007145 0.014005 0.999876 +vn -0.007145 -0.014005 0.999876 +vn 0.007145 -0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn -0.005447 0.499911 0.866060 +vn -0.007145 0.014005 0.999876 +vn 0.007145 0.014005 0.999876 +vn 0.005447 0.499911 0.866060 +vn -0.005447 0.866061 0.499908 +vn -0.005447 0.499911 0.866060 +vn 0.005447 0.499911 0.866060 +vn 0.005447 0.866061 0.499908 +vn -0.007145 0.999876 0.014006 +vn -0.005447 0.866061 0.499908 +vn 0.005447 0.866061 0.499908 +vn 0.007145 0.999876 0.014006 +vn -0.005447 0.866061 -0.499908 +vn -0.007145 0.999876 -0.014006 +vn 0.007145 0.999876 -0.014006 +vn 0.005447 0.866061 -0.499908 +vn -0.005447 0.499911 -0.866060 +vn -0.005447 0.866061 -0.499908 +vn 0.005447 0.866061 -0.499908 +vn 0.005447 0.499911 -0.866060 +vn -0.014005 0.007145 0.999876 +vn -0.005447 0.499911 -0.866060 +vn 0.005447 0.499911 -0.866060 +vn 0.014005 0.007145 0.999876 +vn -0.005447 -0.499911 -0.866060 +vn -0.014005 -0.007145 0.999876 +vn 0.014005 -0.007145 0.999876 +vn 0.005447 -0.499911 -0.866060 +vn -0.005447 -0.866061 -0.499908 +vn -0.005447 -0.499911 -0.866060 +vn 0.005447 -0.499911 -0.866060 +vn 0.005447 -0.866061 -0.499908 +vn -0.007145 -0.999876 -0.014006 +vn -0.005447 -0.866061 -0.499908 +vn 0.005447 -0.866061 -0.499908 +vn 0.007145 -0.999876 -0.014006 +vn -0.007145 -0.999876 0.014006 +vn -0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 -0.014006 +vn 0.007145 -0.999876 0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.007145 0.999876 0.014006 +vn 0.007145 0.999876 0.014006 +vn 0.007145 0.999876 -0.014006 +vn -0.499807 0.866071 0.010655 +vn -0.007145 0.999876 0.014006 +vn -0.007145 0.999876 -0.014006 +vn -0.499807 0.866071 -0.010655 +vn -0.866050 0.499845 0.010655 +vn -0.499807 0.866071 0.010655 +vn -0.499807 0.866071 -0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.999806 0.013919 0.013919 +vn -0.866050 0.499845 0.010655 +vn -0.866050 0.499845 -0.010656 +vn -0.999806 0.013919 -0.013919 +vn -0.866050 -0.499845 0.010655 +vn -0.999806 -0.013919 0.013919 +vn -0.999806 -0.013919 -0.013919 +vn -0.866050 -0.499845 -0.010656 +vn -0.499807 -0.866071 0.010655 +vn -0.866050 -0.499845 0.010655 +vn -0.866050 -0.499845 -0.010656 +vn -0.499807 -0.866071 -0.010655 +vn -0.007145 -0.999876 0.014006 +vn -0.499807 -0.866071 0.010655 +vn -0.499807 -0.866071 -0.010655 +vn -0.007145 -0.999876 -0.014006 +vn -0.013919 0.999806 0.013919 +vn -0.010655 0.866048 0.499848 +vn -1.000000 0.000000 -0.000031 +vn -0.010655 0.499806 0.866072 +vn -0.014005 0.007145 0.999876 +vn -1.000000 0.000000 -0.000031 +vn -0.010655 0.866048 0.499848 +vn -0.010655 0.499806 0.866072 +vn -1.000000 0.000000 -0.000031 +vn -0.014005 0.007145 0.999876 +vn -0.010655 0.499806 -0.866072 +vn -1.000000 0.000000 -0.000031 +vn -0.010655 0.866048 -0.499848 +vn -0.013919 0.999806 -0.013919 +vn -1.000000 0.000000 -0.000031 +vn -0.010655 0.499806 -0.866072 +vn -0.010655 0.866048 -0.499848 +vn -1.000000 0.000000 -0.000031 +vn -0.005447 -0.866061 0.499908 +vn -0.013919 0.999806 0.013919 +vn -1.000000 0.000000 -0.000031 +vn -0.005447 -0.499911 0.866060 +vn -0.005447 -0.866061 0.499908 +vn -1.000000 0.000000 -0.000031 +vn -0.007145 -0.014005 0.999876 +vn -0.005447 -0.499911 0.866060 +vn -1.000000 0.000000 -0.000031 +vn -0.013919 0.999806 -0.013919 +vn -0.010654 -0.866074 -0.499803 +vn -1.000000 0.000000 -0.000031 +vn -0.010654 -0.499807 -0.866071 +vn -0.007145 -0.014005 0.999876 +vn -1.000000 0.000000 -0.000031 +vn -0.010654 -0.866074 -0.499803 +vn -0.010654 -0.499807 -0.866071 +vn -1.000000 0.000000 -0.000031 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.327634 0.755397 0.567478 +vn 0.327634 0.755397 0.567478 +vn 0.327634 0.755397 0.567478 +vn 0.327634 0.755397 0.567478 +vn -0.327634 0.755397 0.567478 +vn -0.327634 0.755397 0.567478 +vn -0.327634 0.755397 0.567478 +vn -0.327634 0.755397 0.567478 +vn -0.406086 0.583416 0.703363 +vn -0.406086 0.583416 0.703363 +vn -0.406086 0.583416 0.703363 +vn -0.406086 0.583416 0.703363 +vn 0.406086 0.583416 0.703363 +vn 0.406086 0.583416 0.703363 +vn 0.406086 0.583416 0.703363 +vn 0.406086 0.583416 0.703363 +vn 0.812173 0.583417 0.000005 +vn 0.812173 0.583417 0.000005 +vn 0.812173 0.583417 0.000005 +vn 0.812173 0.583417 0.000005 +vn 0.406086 0.583416 -0.703363 +vn 0.406086 0.583416 -0.703363 +vn 0.406086 0.583416 -0.703363 +vn 0.406086 0.583416 -0.703363 +vn -0.406086 0.583416 -0.703363 +vn -0.406086 0.583416 -0.703363 +vn -0.406086 0.583416 -0.703363 +vn -0.406086 0.583416 -0.703363 +vn -0.812173 0.583416 -0.000005 +vn -0.812173 0.583416 -0.000005 +vn -0.812173 0.583416 -0.000005 +vn -0.812173 0.583416 -0.000005 +vn -0.500000 0.000000 0.866026 +vn -0.500000 0.000000 0.866026 +vn -0.500000 0.000000 0.866026 +vn -0.500000 0.000000 0.866026 +vn 0.500000 0.000000 0.866026 +vn 0.500000 0.000000 0.866026 +vn 0.500000 0.000000 0.866026 +vn 0.500000 0.000000 0.866026 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.500000 0.000000 -0.866026 +vn 0.500000 0.000000 -0.866026 +vn 0.500000 0.000000 -0.866026 +vn 0.500000 0.000000 -0.866026 +vn -0.500000 0.000000 -0.866026 +vn -0.500000 0.000000 -0.866026 +vn -0.500000 0.000000 -0.866026 +vn -0.500000 0.000000 -0.866026 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -0.796354 -0.392972 0.459775 +vn -0.645612 -0.268799 0.714795 +vn -0.866028 0.000005 0.499996 +vn -0.645612 -0.268799 0.714795 +vn -0.581325 -0.153937 0.798977 +vn -0.866028 0.000005 0.499996 +vn -0.982600 -0.153936 0.103926 +vn -0.941839 -0.268801 0.201708 +vn -0.866028 0.000005 0.499996 +vn -0.941839 -0.268801 0.201708 +vn -0.796354 -0.392972 0.459775 +vn -0.866028 0.000005 0.499996 +vn 0.941832 -0.268862 -0.201660 +vn 0.796312 -0.393076 -0.459759 +vn 0.866027 0.000003 -0.499998 +vn 0.982602 -0.153967 -0.103864 +vn 0.941832 -0.268862 -0.201660 +vn 0.866027 0.000003 -0.499998 +vn 0.645531 -0.268881 -0.714837 +vn 0.581228 -0.153967 -0.799042 +vn 0.866027 0.000003 -0.499998 +vn 0.796312 -0.393076 -0.459759 +vn 0.645531 -0.268881 -0.714837 +vn 0.866027 0.000003 -0.499998 +vn 0.002896 -0.999994 -0.001659 +vn 0.370064 -0.678634 0.634436 +vn 0.364405 -0.678634 0.637702 +vn -0.002894 -0.999994 0.001681 +vn 0.370064 -0.678634 0.634436 +vn 0.469559 -0.357416 0.807321 +vn 0.464391 -0.357416 0.810305 +vn 0.364405 -0.678634 0.637702 +vn -0.464391 -0.357416 -0.810306 +vn -0.364405 -0.678641 -0.637695 +vn -0.370065 -0.678640 -0.634429 +vn -0.469559 -0.357416 -0.807322 +vn -0.364405 -0.678641 -0.637695 +vn 0.002896 -0.999994 -0.001659 +vn -0.002894 -0.999994 0.001681 +vn -0.370065 -0.678640 -0.634429 +vn -0.002894 -0.999994 0.001681 +vn 0.364405 -0.678634 0.637702 +vn -0.645612 -0.268799 0.714795 +vn -0.796354 -0.392972 0.459775 +vn 0.364405 -0.678634 0.637702 +vn 0.464391 -0.357416 0.810305 +vn -0.581325 -0.153937 0.798977 +vn -0.645612 -0.268799 0.714795 +vn -0.469559 -0.357416 -0.807322 +vn -0.370065 -0.678640 -0.634429 +vn -0.941839 -0.268801 0.201708 +vn -0.982600 -0.153936 0.103926 +vn -0.370065 -0.678640 -0.634429 +vn -0.002894 -0.999994 0.001681 +vn -0.796354 -0.392972 0.459775 +vn -0.941839 -0.268801 0.201708 +vn 0.370064 -0.678634 0.634436 +vn 0.002896 -0.999994 -0.001659 +vn 0.796312 -0.393076 -0.459759 +vn 0.941832 -0.268862 -0.201660 +vn 0.469559 -0.357416 0.807321 +vn 0.370064 -0.678634 0.634436 +vn 0.941832 -0.268862 -0.201660 +vn 0.982602 -0.153967 -0.103864 +vn -0.364405 -0.678641 -0.637695 +vn -0.464391 -0.357416 -0.810306 +vn 0.581228 -0.153967 -0.799042 +vn 0.645531 -0.268881 -0.714837 +vn 0.002896 -0.999994 -0.001659 +vn -0.364405 -0.678641 -0.637695 +vn 0.645531 -0.268881 -0.714837 +vn 0.796312 -0.393076 -0.459759 +vn -0.488045 -0.845336 -0.217301 +vn -0.397012 -0.845337 -0.357473 +vn -0.397012 -0.845337 -0.357473 +vn -0.488045 -0.845336 -0.217301 +vn -0.531307 -0.845337 -0.055851 +vn -0.488045 -0.845336 -0.217301 +vn -0.488045 -0.845336 -0.217301 +vn -0.531307 -0.845337 -0.055851 +vn -0.522559 -0.845337 0.111077 +vn -0.531307 -0.845337 -0.055851 +vn -0.531307 -0.845337 -0.055851 +vn -0.522559 -0.845337 0.111077 +vn -0.462659 -0.845336 0.267121 +vn -0.522559 -0.845337 0.111077 +vn -0.522559 -0.845337 0.111077 +vn -0.462659 -0.845336 0.267121 +vn -0.357471 -0.845333 0.397022 +vn -0.462659 -0.845336 0.267121 +vn -0.462659 -0.845336 0.267121 +vn -0.357471 -0.845333 0.397022 +vn -0.217293 -0.845335 0.488050 +vn -0.357471 -0.845333 0.397022 +vn -0.357471 -0.845333 0.397022 +vn -0.217293 -0.845335 0.488050 +vn -0.055842 -0.845334 0.531312 +vn -0.217293 -0.845335 0.488050 +vn -0.217293 -0.845335 0.488050 +vn -0.055842 -0.845334 0.531312 +vn 0.111073 -0.845333 0.522566 +vn -0.055842 -0.845334 0.531312 +vn -0.055842 -0.845334 0.531312 +vn 0.111073 -0.845333 0.522566 +vn 0.267116 -0.845333 0.462668 +vn 0.111073 -0.845333 0.522566 +vn 0.111073 -0.845333 0.522566 +vn 0.267116 -0.845333 0.462668 +vn 0.397013 -0.845336 0.357474 +vn 0.267116 -0.845333 0.462668 +vn 0.267116 -0.845333 0.462668 +vn 0.397013 -0.845336 0.357474 +vn 0.488046 -0.845335 0.217302 +vn 0.397013 -0.845336 0.357474 +vn 0.397013 -0.845336 0.357474 +vn 0.488046 -0.845335 0.217302 +vn 0.531307 -0.845337 0.055851 +vn 0.488046 -0.845335 0.217302 +vn 0.488046 -0.845335 0.217302 +vn 0.531307 -0.845337 0.055851 +vn 0.522559 -0.845337 -0.111077 +vn 0.531307 -0.845337 0.055851 +vn 0.531307 -0.845337 0.055851 +vn 0.522559 -0.845337 -0.111077 +vn 0.462661 -0.845340 -0.267105 +vn 0.522559 -0.845337 -0.111077 +vn 0.522559 -0.845337 -0.111077 +vn 0.462661 -0.845340 -0.267105 +vn 0.357472 -0.845338 -0.397012 +vn 0.462661 -0.845340 -0.267105 +vn 0.462661 -0.845340 -0.267105 +vn 0.357472 -0.845338 -0.397011 +vn 0.217291 -0.845332 -0.488056 +vn 0.357472 -0.845338 -0.397012 +vn 0.357472 -0.845338 -0.397011 +vn 0.217291 -0.845332 -0.488056 +vn 0.055842 -0.845337 -0.531307 +vn 0.217291 -0.845332 -0.488056 +vn 0.217291 -0.845332 -0.488056 +vn 0.055843 -0.845337 -0.531307 +vn -0.111073 -0.845337 -0.522560 +vn 0.055842 -0.845337 -0.531307 +vn 0.055843 -0.845337 -0.531307 +vn -0.111073 -0.845337 -0.522560 +vn -0.267115 -0.845333 -0.462667 +vn -0.111073 -0.845337 -0.522560 +vn -0.111073 -0.845337 -0.522560 +vn -0.267115 -0.845334 -0.462667 +vn -0.397012 -0.845337 -0.357473 +vn -0.267115 -0.845333 -0.462667 +vn -0.267115 -0.845334 -0.462667 +vn -0.397012 -0.845337 -0.357473 +vn 0.000000 -1.000000 -0.000064 +vn 0.000000 -1.000000 0.000064 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 -0.000064 +vn 0.000000 -1.000000 -0.000064 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 -0.000064 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000032 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000032 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 -0.000024 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000008 +vn 0.000000 -1.000000 -0.000024 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 -0.000032 +vn 0.000000 -1.000000 0.000008 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000032 +vn 0.000000 -1.000000 -0.000032 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000032 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000064 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000064 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000032 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000032 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 -0.000008 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000008 +vn 0.000000 -1.000000 -0.000008 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 -0.000048 +vn 0.000000 -1.000000 0.000008 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000032 +vn 0.000000 -1.000000 -0.000048 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000064 +vn 0.000000 -1.000000 0.000032 +vn 0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 -0.000009 +vn 0.000000 -1.000000 -0.000009 +vn 0.000000 -1.000000 -0.000009 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000015 +vn 0.000000 -1.000000 0.000015 +vn 0.000000 -1.000000 0.000015 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn -0.000052 -1.000000 -0.000076 +vn -0.000052 -1.000000 -0.000076 +vn -0.000031 -1.000000 -0.000039 +vn -0.000025 -1.000000 -0.000043 +vn 0.000066 -1.000000 0.000108 +vn 0.000067 -1.000000 0.000107 +vn 0.000049 -1.000000 0.000073 +vn 0.000043 -1.000000 0.000077 +vn 0.000048 -1.000000 -0.000025 +vn -0.000052 -1.000000 -0.000076 +vn -0.000025 -1.000000 -0.000043 +vn 0.000067 -1.000000 0.000107 +vn 0.000087 -1.000000 -0.000011 +vn 0.000049 -1.000000 0.000073 +vn -0.000031 -1.000000 -0.000039 +vn -0.000052 -1.000000 -0.000076 +vn -0.000034 -1.000000 0.000037 +vn 0.000066 -1.000000 0.000108 +vn 0.000043 -1.000000 0.000077 +vn -0.000053 -1.000000 0.000070 +vn -0.000042 -1.000000 0.000053 +vn -0.000009 -1.000000 0.000011 +vn -0.000031 -1.000000 -0.000039 +vn -0.000034 -1.000000 0.000037 +vn 0.000049 -1.000000 0.000073 +vn 0.000014 -1.000000 -0.000004 +vn -0.000005 -1.000000 -0.000013 +vn -0.000093 -1.000000 -0.000004 +vn 0.000049 -1.000000 0.000073 +vn 0.000087 -1.000000 -0.000011 +vn 0.000067 -1.000000 -0.000013 +vn 0.000014 -1.000000 -0.000004 +vn 0.000014 -1.000000 -0.000004 +vn 0.000067 -1.000000 -0.000013 +vn 0.000048 -1.000000 -0.000025 +vn -0.000025 -1.000000 -0.000043 +vn 0.000014 -1.000000 -0.000004 +vn -0.000025 -1.000000 -0.000043 +vn 0.000055 -1.000000 -0.000003 +vn -0.000005 -1.000000 -0.000013 +vn -0.000053 -1.000000 0.000070 +vn 0.000043 -1.000000 0.000077 +vn -0.000009 -1.000000 0.000011 +vn -0.000042 -1.000000 0.000053 +vn 0.999579 0.000000 -0.029007 +vn -0.474668 0.000000 -0.880165 +vn -0.474668 0.000000 -0.880165 +vn 0.999579 0.000000 -0.029007 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn -0.866023 0.000000 0.500005 +vn -0.866023 0.000000 0.500005 +vn -0.866023 0.000000 0.500005 +vn -0.866023 0.000000 0.500005 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.866023 0.000000 -0.500005 +vn 0.866023 0.000000 -0.500005 +vn 0.866023 0.000000 -0.500005 +vn 0.866023 0.000000 -0.500005 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.866023 0.000000 0.500005 +vn 0.866023 0.000000 0.500005 +vn 0.866023 0.000000 0.500005 +vn 0.866023 0.000000 0.500005 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn -0.866023 0.000000 -0.500005 +vn -0.866023 0.000000 -0.500005 +vn -0.866023 0.000000 -0.500005 +vn -0.866023 0.000000 -0.500005 +vn 0.327634 0.755396 -0.567479 +vn 0.327634 0.755396 -0.567479 +vn 0.327634 0.755396 -0.567479 +vn 0.327634 0.755396 -0.567479 +vn 0.655268 0.755397 0.000000 +vn 0.655268 0.755397 0.000000 +vn 0.655268 0.755397 0.000000 +vn 0.655268 0.755396 0.000000 +vn 0.796351 -0.392972 0.459780 +vn 0.941837 -0.268797 0.201722 +vn 0.866026 0.000007 0.500000 +vn 0.941837 -0.268797 0.201722 +vn 0.982599 -0.153934 0.103940 +vn 0.866026 0.000007 0.500000 +vn 0.581301 -0.153932 0.798996 +vn 0.645604 -0.268799 0.714802 +vn 0.866026 0.000007 0.500000 +vn 0.645604 -0.268799 0.714802 +vn 0.796351 -0.392972 0.459780 +vn 0.866026 0.000007 0.500000 +vn -0.645557 -0.268861 -0.714822 +vn -0.796312 -0.393073 -0.459762 +vn -0.866029 0.000003 -0.499994 +vn -0.581252 -0.153965 -0.799025 +vn -0.645557 -0.268861 -0.714822 +vn -0.866029 0.000003 -0.499994 +vn -0.941831 -0.268879 -0.201638 +vn -0.982605 -0.153966 -0.103837 +vn -0.866029 0.000003 -0.499994 +vn -0.796312 -0.393073 -0.459762 +vn -0.941831 -0.268879 -0.201638 +vn -0.866029 0.000003 -0.499994 +vn -0.002892 -0.999994 -0.001675 +vn 0.364407 -0.678638 -0.637697 +vn 0.370066 -0.678639 -0.634429 +vn 0.002896 -0.999994 0.001668 +vn 0.364407 -0.678638 -0.637697 +vn 0.464386 -0.357410 -0.810311 +vn 0.469554 -0.357410 -0.807327 +vn 0.370066 -0.678639 -0.634429 +vn -0.469548 -0.357408 0.807332 +vn -0.370062 -0.678638 0.634433 +vn -0.364403 -0.678637 0.637700 +vn -0.464380 -0.357408 0.810315 +vn -0.370062 -0.678638 0.634433 +vn -0.002892 -0.999994 -0.001675 +vn 0.002896 -0.999994 0.001668 +vn -0.364403 -0.678637 0.637700 +vn 0.002896 -0.999994 0.001668 +vn 0.370066 -0.678639 -0.634429 +vn 0.941837 -0.268797 0.201722 +vn 0.796351 -0.392972 0.459780 +vn 0.370066 -0.678639 -0.634429 +vn 0.469554 -0.357410 -0.807327 +vn 0.982599 -0.153934 0.103940 +vn 0.941837 -0.268797 0.201722 +vn -0.464380 -0.357408 0.810315 +vn -0.364403 -0.678637 0.637700 +vn 0.645604 -0.268799 0.714802 +vn 0.581301 -0.153932 0.798996 +vn -0.364403 -0.678637 0.637700 +vn 0.002896 -0.999994 0.001668 +vn 0.796351 -0.392972 0.459780 +vn 0.645604 -0.268799 0.714802 +vn 0.364407 -0.678638 -0.637697 +vn -0.002892 -0.999994 -0.001675 +vn -0.796312 -0.393073 -0.459762 +vn -0.645557 -0.268861 -0.714822 +vn 0.464386 -0.357410 -0.810311 +vn 0.364407 -0.678638 -0.637697 +vn -0.645557 -0.268861 -0.714822 +vn -0.581252 -0.153965 -0.799025 +vn -0.370062 -0.678638 0.634433 +vn -0.469548 -0.357408 0.807332 +vn -0.982605 -0.153966 -0.103837 +vn -0.941831 -0.268879 -0.201638 +vn -0.002892 -0.999994 -0.001675 +vn -0.370062 -0.678638 0.634433 +vn -0.941831 -0.268879 -0.201638 +vn -0.796312 -0.393073 -0.459762 +vn -0.000052 -1.000000 0.000077 +vn -0.000052 -1.000000 0.000077 +vn -0.000025 -1.000000 0.000042 +vn -0.000031 -1.000000 0.000040 +vn 0.000067 -1.000000 -0.000122 +vn 0.000066 -1.000000 -0.000122 +vn 0.000043 -1.000000 -0.000087 +vn 0.000049 -1.000000 -0.000083 +vn -0.000034 -1.000000 -0.000037 +vn -0.000052 -1.000000 0.000077 +vn -0.000031 -1.000000 0.000040 +vn 0.000066 -1.000000 -0.000122 +vn -0.000053 -1.000000 -0.000068 +vn 0.000043 -1.000000 -0.000087 +vn -0.000025 -1.000000 0.000042 +vn -0.000052 -1.000000 0.000077 +vn 0.000048 -1.000000 0.000013 +vn 0.000067 -1.000000 -0.000122 +vn 0.000049 -1.000000 -0.000083 +vn 0.000087 -1.000000 0.000014 +vn 0.000067 -1.000000 0.000007 +vn 0.000014 -1.000000 0.000001 +vn -0.000025 -1.000000 0.000042 +vn 0.000048 -1.000000 0.000013 +vn 0.000043 -1.000000 0.000077 +vn 0.000043 -1.000000 -0.000087 +vn -0.000009 -1.000000 -0.000011 +vn -0.000009 -1.000000 0.000011 +vn 0.000043 -1.000000 -0.000087 +vn -0.000053 -1.000000 -0.000068 +vn -0.000042 -1.000000 -0.000053 +vn -0.000009 -1.000000 -0.000011 +vn -0.000009 -1.000000 -0.000011 +vn -0.000042 -1.000000 -0.000053 +vn -0.000034 -1.000000 -0.000037 +vn -0.000031 -1.000000 0.000040 +vn -0.000009 -1.000000 0.000011 +vn -0.000009 -1.000000 -0.000011 +vn -0.000031 -1.000000 0.000040 +vn -0.000031 -1.000000 -0.000039 +vn 0.000087 -1.000000 0.000014 +vn 0.000049 -1.000000 -0.000083 +vn 0.000014 -1.000000 0.000001 +vn 0.000067 -1.000000 0.000007 +vn -0.474668 0.000000 0.880165 +vn -0.524910 0.000000 0.851158 +vn -0.524910 0.000000 0.851158 +vn -0.474668 0.000000 0.880165 +vn -0.524909 0.000000 -0.851158 +vn -0.524910 0.000000 0.851158 +vn -0.524910 0.000000 0.851158 +vn -0.524909 0.000000 -0.851158 +vn -0.655269 0.755396 0.000000 +vn -0.655269 0.755396 0.000000 +vn -0.655269 0.755396 0.000000 +vn -0.655269 0.755396 0.000000 +vn -0.327634 0.755397 -0.567479 +vn -0.327634 0.755397 -0.567479 +vn -0.327634 0.755397 -0.567479 +vn -0.327634 0.755396 -0.567479 +vn 0.000006 -0.392969 -0.919552 +vn -0.296223 -0.268796 -0.916515 +vn 0.000003 0.000005 -1.000000 +vn -0.296223 -0.268796 -0.916515 +vn -0.401274 -0.153934 -0.902930 +vn 0.000003 0.000005 -1.000000 +vn 0.401281 -0.153934 -0.902927 +vn 0.296228 -0.268798 -0.916513 +vn 0.000003 0.000005 -1.000000 +vn 0.296228 -0.268798 -0.916513 +vn 0.000006 -0.392969 -0.919552 +vn 0.000003 0.000005 -1.000000 +vn -0.296271 -0.268857 0.916482 +vn 0.000003 -0.393067 0.919510 +vn 0.000004 0.000002 1.000000 +vn -0.401349 -0.153966 0.902892 +vn -0.296271 -0.268857 0.916482 +vn 0.000004 0.000002 1.000000 +vn 0.296304 -0.268876 0.916466 +vn 0.401385 -0.153967 0.902875 +vn 0.000004 0.000002 1.000000 +vn 0.000003 -0.393067 0.919510 +vn 0.296304 -0.268876 0.916466 +vn 0.000004 0.000002 1.000000 +vn -0.000004 -0.999994 0.003342 +vn -0.734469 -0.678634 0.003267 +vn -0.734469 -0.678635 -0.003268 +vn -0.000002 -0.999994 -0.003342 +vn -0.734469 -0.678634 0.003267 +vn -0.933942 -0.357412 0.002984 +vn -0.933942 -0.357412 -0.002984 +vn -0.734469 -0.678635 -0.003268 +vn 0.933941 -0.357414 0.002984 +vn 0.734465 -0.678639 0.003267 +vn 0.734465 -0.678638 -0.003267 +vn 0.933941 -0.357414 -0.002984 +vn 0.734465 -0.678639 0.003267 +vn -0.000004 -0.999994 0.003342 +vn -0.000002 -0.999994 -0.003342 +vn 0.734465 -0.678638 -0.003267 +vn -0.000002 -0.999994 -0.003342 +vn -0.734469 -0.678635 -0.003268 +vn -0.296223 -0.268796 -0.916515 +vn 0.000006 -0.392969 -0.919552 +vn -0.734469 -0.678635 -0.003268 +vn -0.933942 -0.357412 -0.002984 +vn -0.401274 -0.153934 -0.902930 +vn -0.296223 -0.268796 -0.916515 +vn 0.933941 -0.357414 -0.002984 +vn 0.734465 -0.678638 -0.003267 +vn 0.296228 -0.268798 -0.916513 +vn 0.401281 -0.153934 -0.902927 +vn 0.734465 -0.678638 -0.003267 +vn -0.000002 -0.999994 -0.003342 +vn 0.000006 -0.392969 -0.919552 +vn 0.296228 -0.268798 -0.916513 +vn -0.734469 -0.678634 0.003267 +vn -0.000004 -0.999994 0.003342 +vn 0.000003 -0.393067 0.919510 +vn -0.296271 -0.268857 0.916482 +vn -0.933942 -0.357412 0.002984 +vn -0.734469 -0.678634 0.003267 +vn -0.296271 -0.268857 0.916482 +vn -0.401349 -0.153966 0.902892 +vn 0.734465 -0.678639 0.003267 +vn 0.933941 -0.357414 0.002984 +vn 0.401385 -0.153967 0.902875 +vn 0.296304 -0.268876 0.916466 +vn -0.000004 -0.999994 0.003342 +vn 0.734465 -0.678639 0.003267 +vn 0.296304 -0.268876 0.916466 +vn 0.000003 -0.393067 0.919510 +vn 0.000103 -1.000000 0.000000 +vn 0.000103 -1.000000 0.000000 +vn 0.000055 -1.000000 -0.000003 +vn 0.000055 -1.000000 0.000003 +vn -0.000133 -1.000000 0.000000 +vn -0.000133 -1.000000 0.000000 +vn -0.000093 -1.000000 0.000004 +vn -0.000093 -1.000000 -0.000004 +vn -0.000014 -1.000000 0.000044 +vn 0.000103 -1.000000 0.000000 +vn 0.000055 -1.000000 0.000003 +vn -0.000133 -1.000000 0.000000 +vn -0.000033 -1.000000 0.000087 +vn -0.000093 -1.000000 0.000004 +vn 0.000055 -1.000000 -0.000003 +vn 0.000103 -1.000000 0.000000 +vn -0.000014 -1.000000 -0.000050 +vn -0.000133 -1.000000 0.000000 +vn -0.000093 -1.000000 -0.000004 +vn -0.000033 -1.000000 -0.000065 +vn -0.000025 -1.000000 -0.000057 +vn -0.000005 -1.000000 -0.000013 +vn 0.000055 -1.000000 -0.000003 +vn -0.000014 -1.000000 -0.000050 +vn 0.000049 -1.000000 -0.000083 +vn -0.000093 -1.000000 0.000004 +vn -0.000005 -1.000000 0.000012 +vn 0.000014 -1.000000 0.000001 +vn -0.000093 -1.000000 0.000004 +vn -0.000033 -1.000000 0.000087 +vn -0.000025 -1.000000 0.000062 +vn -0.000005 -1.000000 0.000012 +vn -0.000005 -1.000000 0.000012 +vn -0.000025 -1.000000 0.000062 +vn -0.000014 -1.000000 0.000044 +vn 0.000055 -1.000000 0.000003 +vn 0.000014 -1.000000 0.000001 +vn -0.000005 -1.000000 0.000012 +vn 0.000055 -1.000000 0.000003 +vn -0.000025 -1.000000 0.000042 +vn -0.000033 -1.000000 -0.000065 +vn -0.000093 -1.000000 -0.000004 +vn -0.000005 -1.000000 -0.000013 +vn -0.000025 -1.000000 -0.000057 +vn 0.999579 0.000000 -0.029007 +vn 0.999579 0.000000 0.029007 +vn 0.999579 0.000000 0.029007 +vn 0.999579 0.000000 -0.029007 +vn -0.474668 0.000000 0.880165 +vn 0.999579 0.000000 0.029007 +vn 0.999579 0.000000 0.029007 +vn -0.474668 0.000000 0.880165 +vn -0.382232 -0.644646 0.662066 +vn -0.382232 -0.644646 0.662066 +vn -0.382232 -0.644646 0.662066 +vn -0.382232 -0.644646 0.662066 +vn 0.382237 -0.644654 0.662054 +vn 0.382237 -0.644654 0.662054 +vn 0.382237 -0.644654 0.662054 +vn 0.382237 -0.644654 0.662054 +vn 0.764474 -0.644655 0.000000 +vn 0.764474 -0.644655 0.000000 +vn 0.764474 -0.644655 0.000000 +vn 0.764474 -0.644655 0.000000 +vn 0.382232 -0.644646 -0.662066 +vn 0.382232 -0.644646 -0.662066 +vn 0.382232 -0.644646 -0.662066 +vn 0.382232 -0.644646 -0.662066 +vn -0.382228 -0.644639 -0.662074 +vn -0.382228 -0.644639 -0.662074 +vn -0.382228 -0.644639 -0.662074 +vn -0.382228 -0.644639 -0.662074 +vn -0.764474 -0.644655 0.000000 +vn -0.764474 -0.644655 0.000000 +vn -0.764474 -0.644655 0.000000 +vn -0.764474 -0.644655 0.000000 +vn -0.500007 0.000000 0.866022 +vn -0.500007 0.000000 0.866022 +vn -0.500007 0.000000 0.866022 +vn -0.500007 0.000000 0.866022 +vn 0.499998 0.000000 0.866026 +vn 0.499998 0.000000 0.866026 +vn 0.499998 0.000000 0.866026 +vn 0.499998 0.000000 0.866026 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.500001 0.000000 -0.866025 +vn 0.500001 0.000000 -0.866025 +vn 0.500001 0.000000 -0.866025 +vn 0.500001 0.000000 -0.866025 +vn -0.500001 0.000000 -0.866025 +vn -0.500001 0.000000 -0.866025 +vn -0.500001 0.000000 -0.866025 +vn -0.500001 0.000000 -0.866025 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn -0.500000 0.000000 -0.866025 +vn -0.500000 0.000000 -0.866025 +vn -0.500000 0.000000 -0.866025 +vn -0.500000 0.000000 -0.866025 +s off +g CubeRoom_GEO +f 4/1/1 3/2/2 12/3/3 11/4/4 +f 3/2/5 2/5/6 13/6/7 12/3/8 +f 2/5/9 1/7/10 14/8/11 13/6/12 +f 8/9/13 7/10/14 24/11/15 23/12/16 +f 7/10/17 6/13/18 25/14/19 24/11/20 +f 6/13/21 5/15/22 26/16/23 25/14/24 +f 11/4/25 10/17/26 30/18/27 29/19/28 +f 10/17/29 9/20/30 31/21/31 30/18/32 +f 31/21/33 9/20/34 17/22/35 32/23/36 +f 21/24/37 20/25/38 17/22/39 16/26/40 +f 22/27/41 21/24/42 16/26/43 15/28/44 +f 23/12/45 22/27/46 15/28/47 14/8/48 +f 20/25/49 19/29/50 42/30/51 41/31/52 +f 19/29/53 18/32/54 43/33/55 42/30/56 +f 18/32/57 26/16/58 44/34/59 43/33/60 +f 46/35/61 45/36/62 29/19/63 28/37/64 +f 47/38/65 46/35/66 28/37/67 27/39/68 +f 48/40/69 47/38/70 27/39/71 35/41/72 +f 39/42/73 38/43/74 35/41/75 34/44/76 +f 40/45/77 39/42/78 34/44/79 33/46/80 +f 41/31/81 40/45/82 33/46/83 32/23/84 +f 50/47/85 49/48/86 38/43/87 37/49/88 +f 51/50/89 50/47/90 37/49/91 36/51/92 +f 52/52/93 51/50/94 36/51/95 44/34/96 +f 14/8/97 1/7/98 8/9/99 23/12/100 +f 5/15/101 52/52/102 44/34/103 26/16/104 +f 45/36/105 4/1/106 11/4/107 29/19/108 +f 16/26/109 17/22/110 9/20/111 53/53/112 +f 53/53/113 9/20/114 10/17/115 54/54/116 +f 10/17/117 11/4/118 12/3/119 54/54/120 +f 54/54/121 12/3/122 13/6/123 55/55/124 +f 13/6/125 14/8/126 15/28/127 55/55/128 +f 55/55/129 15/28/130 16/26/131 53/53/132 +f 53/53/133 54/54/134 55/55/135 +f 25/14/136 26/16/137 18/32/138 56/56/139 +f 56/56/140 18/32/141 19/29/142 57/57/143 +f 19/29/144 20/25/145 21/24/146 57/57/147 +f 57/57/148 21/24/149 22/27/150 58/58/151 +f 22/27/152 23/12/153 24/11/154 58/58/155 +f 58/58/156 24/11/157 25/14/158 56/56/159 +f 56/56/160 57/57/161 58/58/162 +f 34/44/163 35/41/164 27/39/165 59/59/166 +f 59/59/167 27/39/168 28/37/169 60/60/170 +f 28/37/171 29/19/172 30/18/173 60/60/174 +f 60/60/175 30/18/176 31/21/177 61/61/178 +f 31/21/179 32/23/180 33/46/181 61/61/182 +f 61/61/183 33/46/184 34/44/185 59/59/186 +f 59/59/187 60/60/188 61/61/189 +f 43/33/190 44/34/191 36/51/192 62/62/193 +f 62/62/194 36/51/195 37/49/196 63/63/197 +f 37/49/198 38/43/199 39/42/200 63/63/201 +f 63/63/202 39/42/203 40/45/204 64/64/205 +f 40/45/206 41/31/207 42/30/208 64/64/209 +f 64/64/210 42/30/211 43/33/212 62/62/213 +f 62/62/214 63/63/215 64/64/216 +f 20/25/217 41/31/218 32/23/219 17/22/220 +f 72/65/221 73/66/222 65/67/223 105/68/224 +f 105/68/225 65/67/226 66/69/227 106/70/228 +f 66/69/229 67/71/230 68/72/231 106/70/232 +f 106/70/233 68/72/234 69/73/235 107/74/236 +f 69/73/237 70/75/238 71/76/239 107/74/240 +f 107/74/241 71/76/242 72/65/243 105/68/244 +f 105/68/245 106/70/246 107/74/247 +f 81/77/248 82/78/249 74/79/250 108/80/251 +f 108/80/252 74/79/253 75/81/254 109/82/255 +f 75/81/256 76/83/257 77/84/258 109/82/259 +f 109/82/260 77/84/261 78/85/262 110/86/263 +f 78/85/264 79/87/265 80/88/266 110/86/267 +f 110/86/268 80/88/269 81/77/270 108/80/271 +f 108/80/272 109/82/273 110/86/274 +f 90/89/275 91/90/276 83/91/277 111/92/278 +f 111/92/279 83/91/280 84/93/281 112/94/282 +f 84/93/283 85/95/284 86/96/285 112/94/286 +f 112/94/287 86/96/288 87/97/289 113/98/290 +f 87/97/291 88/99/292 89/100/293 113/98/294 +f 113/98/295 89/100/296 90/89/297 111/92/298 +f 111/92/299 112/94/300 113/98/301 +f 99/101/302 100/102/303 92/103/304 114/104/305 +f 114/104/306 92/103/307 93/105/308 115/106/309 +f 93/105/310 94/107/311 95/108/312 115/106/313 +f 115/106/314 95/108/315 96/109/316 116/110/317 +f 96/109/318 97/111/319 98/112/320 116/110/321 +f 116/110/322 98/112/323 99/101/324 114/104/325 +f 114/104/326 115/106/327 116/110/328 +f 91/90/329 90/89/330 95/108/331 94/107/332 +f 90/89/333 89/100/334 96/109/335 95/108/336 +f 89/100/337 88/99/338 97/111/339 96/109/340 +f 70/75/341 69/73/342 80/88/343 79/87/344 +f 69/73/345 68/72/346 81/77/347 80/88/348 +f 68/72/349 67/71/350 82/78/351 81/77/352 +f 85/95/353 73/66/354 72/65/355 86/96/356 +f 72/65/357 71/76/358 87/97/359 86/96/360 +f 71/76/361 70/75/362 88/99/363 87/97/364 +f 88/99/365 70/75/366 79/87/367 97/111/368 +f 79/87/369 78/85/370 98/112/371 97/111/372 +f 78/85/373 77/84/374 99/101/375 98/112/376 +f 77/84/377 76/83/378 100/102/379 99/101/380 +f 104/113/381 103/114/382 92/103/383 100/102/384 +f 103/114/385 102/115/386 93/105/387 92/103/388 +f 102/115/389 101/116/390 94/107/391 93/105/392 +f 123/117/393 124/118/394 117/119/395 162/120/396 +f 162/120/397 117/119/398 118/121/399 163/122/400 +f 118/121/401 91/90/402 119/123/403 163/122/404 +f 163/122/405 119/123/406 120/124/407 164/125/408 +f 120/124/409 121/126/410 122/127/411 164/125/412 +f 164/125/413 122/127/414 123/117/415 162/120/416 +f 162/120/417 163/122/418 164/125/419 +f 132/128/420 94/107/421 125/129/422 165/130/423 +f 165/130/424 125/129/425 126/131/426 166/132/427 +f 126/131/428 127/133/429 128/134/430 166/132/431 +f 166/132/432 128/134/433 129/135/434 167/136/435 +f 129/135/436 130/137/437 131/138/438 167/136/439 +f 167/136/440 131/138/441 132/128/442 165/130/443 +f 165/130/444 166/132/445 167/136/446 +f 140/139/447 141/140/448 133/141/449 168/142/450 +f 168/142/451 133/141/452 134/143/453 169/144/454 +f 134/143/455 135/145/456 136/146/457 169/144/458 +f 169/144/459 136/146/460 137/147/461 170/148/462 +f 137/147/463 138/149/464 139/150/465 170/148/466 +f 170/148/467 139/150/468 140/139/469 168/142/470 +f 168/142/471 169/144/472 170/148/473 +f 149/151/474 150/152/475 142/153/476 171/154/477 +f 171/154/478 142/153/479 143/155/480 172/156/481 +f 143/155/482 144/157/483 145/158/484 172/156/485 +f 172/156/486 145/158/487 146/159/488 173/160/489 +f 146/159/490 147/161/491 148/162/492 173/160/493 +f 173/160/494 148/162/495 149/151/496 171/154/497 +f 171/154/498 172/156/499 173/160/500 +f 728/163/501 154/164/502 141/140/503 727/165/504 +f 726/166/505 727/165/506 141/140/507 140/139/508 +f 725/167/509 726/166/510 140/139/511 139/150/512 +f 724/168/513 725/167/514 139/150/515 138/149/516 +f 121/126/517 120/124/518 131/138/519 130/137/520 +f 120/124/521 119/123/522 132/128/523 131/138/524 +f 119/123/525 91/90/526 94/107/527 132/128/528 +f 722/169/529 124/118/530 123/117/531 721/170/532 +f 123/117/533 122/127/534 720/171/535 721/170/536 +f 122/127/537 121/126/538 719/172/539 720/171/540 +f 723/173/541 719/172/542 121/126/543 130/137/544 +f 130/137/545 129/135/546 148/162/547 147/161/548 +f 129/135/549 128/134/550 149/151/551 148/162/552 +f 128/134/553 127/133/554 150/152/555 149/151/556 +f 101/116/557 160/174/558 125/129/559 94/107/560 +f 160/174/561 159/175/562 126/131/563 125/129/564 +f 159/175/565 161/176/566 127/133/567 126/131/568 +f 127/133/569 161/176/570 158/177/571 150/152/572 +f 158/177/573 157/178/574 142/153/575 150/152/576 +f 157/178/577 156/179/578 143/155/579 142/153/580 +f 156/179/581 155/180/582 144/157/583 143/155/584 +f 154/164/585 153/181/586 133/141/587 141/140/588 +f 153/181/589 152/182/590 134/143/591 133/141/592 +f 152/182/593 151/183/594 135/145/595 134/143/596 +f 181/184/597 76/83/598 174/185/599 219/186/600 +f 219/186/601 174/185/602 175/187/603 220/188/604 +f 175/187/605 176/189/606 177/190/607 220/188/608 +f 220/188/609 177/190/610 178/191/611 221/192/612 +f 178/191/613 179/193/614 180/194/615 221/192/616 +f 221/192/617 180/194/618 181/184/619 219/186/620 +f 219/186/621 220/188/622 221/192/623 +f 189/195/624 190/196/625 182/197/626 222/198/627 +f 222/198/628 182/197/629 183/199/630 223/200/631 +f 183/199/632 184/201/633 185/202/634 223/200/635 +f 223/200/636 185/202/637 186/203/638 224/204/639 +f 186/203/640 187/205/641 188/206/642 224/204/643 +f 224/204/644 188/206/645 189/195/646 222/198/647 +f 222/198/648 223/200/649 224/204/650 +f 197/207/651 198/208/652 191/209/653 225/210/654 +f 225/210/655 191/209/656 192/211/657 226/212/658 +f 192/211/659 100/102/660 193/213/661 226/212/662 +f 226/212/663 193/213/664 194/214/665 227/215/666 +f 194/214/667 195/216/668 196/217/669 227/215/670 +f 227/215/671 196/217/672 197/207/673 225/210/674 +f 225/210/675 226/212/676 227/215/677 +f 206/218/678 207/219/679 199/220/680 228/221/681 +f 228/221/682 199/220/683 200/222/684 229/223/685 +f 200/222/686 201/224/687 202/225/688 229/223/689 +f 229/223/690 202/225/691 203/226/692 230/227/693 +f 203/226/694 204/228/695 205/229/696 230/227/697 +f 230/227/698 205/229/699 206/218/700 228/221/701 +f 228/221/702 229/223/703 230/227/704 +f 211/230/705 210/231/706 198/208/707 201/224/708 +f 202/225/709 201/224/710 198/208/711 197/207/712 +f 203/226/713 202/225/714 197/207/715 196/217/716 +f 204/228/717 203/226/718 196/217/719 195/216/720 +f 188/206/721 187/205/722 179/193/723 178/191/724 +f 189/195/725 188/206/726 178/191/727 177/190/728 +f 176/189/729 190/196/730 189/195/731 177/190/732 +f 76/83/733 181/184/734 193/213/735 100/102/736 +f 181/184/737 180/194/738 194/214/739 193/213/740 +f 180/194/741 179/193/742 195/216/743 194/214/744 +f 187/205/745 204/228/746 195/216/747 179/193/748 +f 187/205/749 186/203/750 205/229/751 204/228/752 +f 186/203/753 185/202/754 206/218/755 205/229/756 +f 185/202/757 184/201/758 207/219/759 206/218/760 +f 190/196/761 217/232/762 216/233/763 182/197/764 +f 216/233/765 215/234/766 183/199/767 182/197/768 +f 215/234/769 218/235/770 184/201/771 183/199/772 +f 218/235/773 214/236/774 207/219/775 184/201/776 +f 214/236/777 213/237/778 199/220/779 207/219/780 +f 213/237/781 212/238/782 200/222/783 199/220/784 +f 212/238/785 211/230/786 201/224/787 200/222/788 +f 210/231/789 209/239/790 191/209/791 198/208/792 +f 209/239/793 208/240/794 192/211/795 191/209/796 +f 208/240/797 104/113/798 100/102/799 192/211/800 +f 269/241/801 233/242/802 232/243/803 261/244/804 +f 232/243/805 231/245/806 262/246/807 261/244/808 +f 231/245/809 234/247/810 263/248/811 262/246/812 +f 237/249/813 236/250/814 246/251/815 245/252/816 +f 236/250/817 235/253/818 247/254/819 246/251/820 +f 247/254/821 235/253/822 238/255/823 248/256/824 +f 241/257/825 240/258/826 258/259/827 257/260/828 +f 240/258/829 239/261/830 259/262/831 258/259/832 +f 239/261/833 242/263/834 260/264/835 259/262/836 +f 264/265/837 263/248/838 245/252/839 244/266/840 +f 265/267/841 264/265/842 244/266/843 243/268/844 +f 266/269/845 265/267/846 243/268/847 251/270/848 +f 255/271/849 254/272/850 251/270/851 250/273/852 +f 256/274/853 255/271/854 250/273/855 249/275/856 +f 257/260/857 256/274/858 249/275/859 248/256/860 +f 276/276/861 275/277/862 254/272/863 253/278/864 +f 277/279/865 276/276/866 253/278/867 252/280/868 +f 278/281/869 277/279/870 252/280/871 260/264/872 +f 273/282/873 272/283/874 269/241/875 268/284/876 +f 274/285/877 273/282/878 268/284/879 267/286/880 +f 275/277/881 274/285/882 267/286/883 266/269/884 +f 275/277/885 266/269/886 251/270/887 254/272/888 +f 263/248/889 234/247/890 237/249/891 245/252/892 +f 250/273/893 251/270/894 243/268/895 279/287/896 +f 279/287/897 243/268/898 244/266/899 280/288/900 +f 244/266/901 245/252/902 246/251/903 280/288/904 +f 280/288/905 246/251/906 247/254/907 281/289/908 +f 247/254/909 248/256/910 249/275/911 281/289/912 +f 281/289/913 249/275/914 250/273/915 279/287/916 +f 279/287/917 280/288/918 281/289/919 +f 259/262/920 260/264/921 252/280/922 282/290/923 +f 282/290/924 252/280/925 253/278/926 283/291/927 +f 253/278/928 254/272/929 255/271/930 283/291/931 +f 283/291/932 255/271/933 256/274/934 284/292/935 +f 256/274/936 257/260/937 258/259/938 284/292/939 +f 284/292/940 258/259/941 259/262/942 282/290/943 +f 282/290/944 283/291/945 284/292/946 +f 268/284/947 269/241/948 261/244/949 285/293/950 +f 285/293/951 261/244/952 262/246/953 286/294/954 +f 262/246/955 263/248/956 264/265/957 286/294/958 +f 286/294/959 264/265/960 265/267/961 287/295/962 +f 265/267/963 266/269/964 267/286/965 287/295/966 +f 287/295/967 267/286/968 268/284/969 285/293/970 +f 285/293/971 286/294/972 287/295/973 +f 277/279/974 278/281/975 270/296/976 288/297/977 +f 288/297/978 270/296/979 271/298/980 289/299/981 +f 271/298/982 272/283/983 273/282/984 289/299/985 +f 289/299/986 273/282/987 274/285/988 290/300/989 +f 274/285/990 275/277/991 276/276/992 290/300/993 +f 290/300/994 276/276/995 277/279/996 288/297/997 +f 288/297/998 289/299/999 290/300/1000 +f 241/257/1001 257/260/1002 248/256/1003 238/255/1004 +f 294/301/1005 293/302/1006 302/303/1007 301/304/1008 +f 293/302/1009 292/305/1010 303/306/1011 302/303/1012 +f 292/305/1013 291/307/1014 304/308/1015 303/306/1016 +f 298/309/1017 297/310/1018 314/311/1019 313/312/1020 +f 297/310/1021 296/313/1022 315/314/1023 314/311/1024 +f 296/313/1025 295/315/1026 316/316/1027 315/314/1028 +f 301/304/1029 300/317/1030 320/318/1031 319/319/1032 +f 300/317/1033 299/320/1034 321/321/1035 320/318/1036 +f 321/321/1037 299/320/1038 307/322/1039 322/323/1040 +f 311/324/1041 310/325/1042 307/322/1043 306/326/1044 +f 312/327/1045 311/324/1046 306/326/1047 305/328/1048 +f 313/312/1049 312/327/1050 305/328/1051 304/308/1052 +f 310/325/1053 309/329/1054 332/330/1055 331/331/1056 +f 309/329/1057 308/332/1058 333/333/1059 332/330/1060 +f 308/332/1061 316/316/1062 334/334/1063 333/333/1064 +f 336/335/1065 335/336/1066 319/319/1067 318/337/1068 +f 337/338/1069 336/335/1070 318/337/1071 317/339/1072 +f 338/340/1073 337/338/1074 317/339/1075 325/341/1076 +f 329/342/1077 328/343/1078 325/341/1079 324/344/1080 +f 330/345/1081 329/342/1082 324/344/1083 323/346/1084 +f 331/331/1085 330/345/1086 323/346/1087 322/323/1088 +f 340/347/1089 339/348/1090 328/343/1091 327/349/1092 +f 341/350/1093 340/347/1094 327/349/1095 326/351/1096 +f 342/352/1097 341/350/1098 326/351/1099 334/334/1100 +f 304/308/1101 291/307/1102 298/309/1103 313/312/1104 +f 339/348/1105 338/340/1106 325/341/1107 328/343/1108 +f 295/315/1109 342/352/1110 334/334/1111 316/316/1112 +f 335/336/1113 294/301/1114 301/304/1115 319/319/1116 +f 306/326/1117 307/322/1118 299/320/1119 343/353/1120 +f 343/353/1121 299/320/1122 300/317/1123 344/354/1124 +f 300/317/1125 301/304/1126 302/303/1127 344/354/1128 +f 344/354/1129 302/303/1130 303/306/1131 345/355/1132 +f 303/306/1133 304/308/1134 305/328/1135 345/355/1136 +f 345/355/1137 305/328/1138 306/326/1139 343/353/1140 +f 343/353/1141 344/354/1142 345/355/1143 +f 315/314/1144 316/316/1145 308/332/1146 346/356/1147 +f 346/356/1148 308/332/1149 309/329/1150 347/357/1151 +f 309/329/1152 310/325/1153 311/324/1154 347/357/1155 +f 347/357/1156 311/324/1157 312/327/1158 348/358/1159 +f 312/327/1160 313/312/1161 314/311/1162 348/358/1163 +f 348/358/1164 314/311/1165 315/314/1166 346/356/1167 +f 346/356/1168 347/357/1169 348/358/1170 +f 324/344/1171 325/341/1172 317/339/1173 349/359/1174 +f 349/359/1175 317/339/1176 318/337/1177 350/360/1178 +f 318/337/1179 319/319/1180 320/318/1181 350/360/1182 +f 350/360/1183 320/318/1184 321/321/1185 351/361/1186 +f 321/321/1187 322/323/1188 323/346/1189 351/361/1190 +f 351/361/1191 323/346/1192 324/344/1193 349/359/1194 +f 349/359/1195 350/360/1196 351/361/1197 +f 333/333/1198 334/334/1199 326/351/1200 352/362/1201 +f 352/362/1202 326/351/1203 327/349/1204 353/363/1205 +f 327/349/1206 328/343/1207 329/342/1208 353/363/1209 +f 353/363/1210 329/342/1211 330/345/1212 354/364/1213 +f 330/345/1214 331/331/1215 332/330/1216 354/364/1217 +f 354/364/1218 332/330/1219 333/333/1220 352/362/1221 +f 352/362/1222 353/363/1223 354/364/1224 +f 310/325/1225 331/331/1226 322/323/1227 307/322/1228 +f 370/365/1229 371/366/1230 363/367/1231 407/368/1232 +f 407/368/1233 363/367/1234 364/369/1235 408/370/1236 +f 364/369/1237 365/371/1238 366/372/1239 408/370/1240 +f 408/370/1241 366/372/1242 367/373/1243 409/374/1244 +f 367/373/1245 368/375/1246 369/376/1247 409/374/1248 +f 409/374/1249 369/376/1250 370/365/1251 407/368/1252 +f 407/368/1253 408/370/1254 409/374/1255 +f 379/377/1256 380/378/1257 372/379/1258 410/380/1259 +f 410/380/1260 372/379/1261 373/381/1262 411/382/1263 +f 373/381/1264 374/383/1265 375/384/1266 411/382/1267 +f 411/382/1268 375/384/1269 376/385/1270 412/386/1271 +f 376/385/1272 377/387/1273 378/388/1274 412/386/1275 +f 412/386/1276 378/388/1277 379/377/1278 410/380/1279 +f 410/380/1280 411/382/1281 412/386/1282 +f 388/389/1283 389/390/1284 381/391/1285 413/392/1286 +f 413/392/1287 381/391/1288 382/393/1289 414/394/1290 +f 382/393/1291 383/395/1292 384/396/1293 414/394/1294 +f 414/394/1295 384/396/1296 385/397/1297 415/398/1298 +f 385/397/1299 386/399/1300 387/400/1301 415/398/1302 +f 415/398/1303 387/400/1304 388/389/1305 413/392/1306 +f 413/392/1307 414/394/1308 415/398/1309 +f 397/401/1310 398/402/1311 390/403/1312 416/404/1313 +f 416/404/1314 390/403/1315 391/405/1316 417/406/1317 +f 391/405/1318 392/407/1319 393/408/1320 417/406/1321 +f 417/406/1322 393/408/1323 394/409/1324 418/410/1325 +f 394/409/1326 395/411/1327 396/412/1328 418/410/1329 +f 418/410/1330 396/412/1331 397/401/1332 416/404/1333 +f 416/404/1334 417/406/1335 418/410/1336 +f 389/390/1337 388/389/1338 393/408/1339 392/407/1340 +f 388/389/1341 387/400/1342 394/409/1343 393/408/1344 +f 387/400/1345 386/399/1346 395/411/1347 394/409/1348 +f 371/366/1349 374/383/1350 395/411/1351 386/399/1352 +f 371/366/1353 370/365/1354 375/384/1355 374/383/1356 +f 370/365/1357 369/376/1358 376/385/1359 375/384/1360 +f 369/376/1361 368/375/1362 377/387/1363 376/385/1364 +f 358/413/1365 357/414/1366 366/372/1367 365/371/1368 +f 357/414/1369 356/415/1370 367/373/1371 366/372/1372 +f 356/415/1373 355/416/1374 368/375/1375 367/373/1376 +f 362/417/1377 361/418/1378 378/388/1379 377/387/1380 +f 361/418/1381 360/419/1382 379/377/1383 378/388/1384 +f 360/419/1385 359/420/1386 380/378/1387 379/377/1388 +f 406/421/1389 405/422/1390 390/403/1391 398/402/1392 +f 405/422/1393 404/423/1394 391/405/1395 390/403/1396 +f 404/423/1397 403/424/1398 392/407/1399 391/405/1400 +f 403/424/1401 402/425/1402 389/390/1403 392/407/1404 +f 402/425/1405 401/426/1406 381/391/1407 389/390/1408 +f 401/426/1409 400/427/1410 382/393/1411 381/391/1412 +f 400/427/1413 399/428/1414 383/395/1415 382/393/1416 +f 399/428/1417 358/413/1418 365/371/1419 383/395/1420 +f 380/378/1421 359/420/1422 406/421/1423 398/402/1424 +f 372/379/1425 380/378/1426 398/402/1427 397/401/1428 +f 373/381/1429 372/379/1430 397/401/1431 396/412/1432 +f 374/383/1433 373/381/1434 396/412/1435 395/411/1436 +f 363/367/1437 371/366/1438 386/399/1439 385/397/1440 +f 364/369/1441 363/367/1442 385/397/1443 384/396/1444 +f 365/371/1445 364/369/1446 384/396/1447 383/395/1448 +f 434/429/1449 435/430/1450 427/431/1451 467/432/1452 +f 467/432/1453 427/431/1454 428/433/1455 468/434/1456 +f 428/433/1457 429/435/1458 430/436/1459 468/434/1460 +f 468/434/1461 430/436/1462 431/437/1463 469/438/1464 +f 431/437/1465 432/439/1466 433/440/1467 469/438/1468 +f 469/438/1469 433/440/1470 434/429/1471 467/432/1472 +f 467/432/1473 468/434/1474 469/438/1475 +f 443/441/1476 444/442/1477 436/443/1478 470/444/1479 +f 470/444/1480 436/443/1481 437/445/1482 471/446/1483 +f 437/445/1484 438/447/1485 439/448/1486 471/446/1487 +f 471/446/1488 439/448/1489 440/449/1490 472/450/1491 +f 440/449/1492 441/451/1493 442/452/1494 472/450/1495 +f 472/450/1496 442/452/1497 443/441/1498 470/444/1499 +f 470/444/1500 471/446/1501 472/450/1502 +f 452/453/1503 368/375/1504 445/454/1505 473/455/1506 +f 473/455/1507 445/454/1508 446/456/1509 474/457/1510 +f 446/456/1511 447/458/1512 448/459/1513 474/457/1514 +f 474/457/1515 448/459/1516 449/460/1517 475/461/1518 +f 449/460/1519 450/462/1520 451/463/1521 475/461/1522 +f 475/461/1523 451/463/1524 452/453/1525 473/455/1526 +f 473/455/1527 474/457/1528 475/461/1529 +f 459/464/1530 460/465/1531 453/466/1532 476/467/1533 +f 476/467/1534 453/466/1535 454/468/1536 477/469/1537 +f 454/468/1538 377/387/1539 455/470/1540 477/469/1541 +f 477/469/1542 455/470/1543 456/471/1544 478/472/1545 +f 456/471/1546 457/473/1547 458/474/1548 478/472/1549 +f 478/472/1550 458/474/1551 459/464/1552 476/467/1553 +f 476/467/1554 477/469/1555 478/472/1556 +f 368/375/1557 452/453/1558 455/470/1559 377/387/1560 +f 452/453/1561 451/463/1562 456/471/1563 455/470/1564 +f 451/463/1565 450/462/1566 457/473/1567 456/471/1568 +f 435/430/1569 438/447/1570 457/473/1571 450/462/1572 +f 435/430/1573 434/429/1574 439/448/1575 438/447/1576 +f 434/429/1577 433/440/1578 440/449/1579 439/448/1580 +f 433/440/1581 432/439/1582 441/451/1583 440/449/1584 +f 422/475/1585 421/476/1586 430/436/1587 429/435/1588 +f 421/476/1589 420/477/1590 431/437/1591 430/436/1592 +f 420/477/1593 419/478/1594 432/439/1595 431/437/1596 +f 432/439/1597 419/478/1598 426/479/1599 441/451/1600 +f 426/479/1601 425/480/1602 442/452/1603 441/451/1604 +f 425/480/1605 424/481/1606 443/441/1607 442/452/1608 +f 424/481/1609 423/482/1610 444/442/1611 443/441/1612 +f 466/483/1613 465/484/1614 453/466/1615 460/465/1616 +f 465/484/1617 464/485/1618 454/468/1619 453/466/1620 +f 464/485/1621 362/417/1622 377/387/1623 454/468/1624 +f 355/416/1625 463/486/1626 445/454/1627 368/375/1628 +f 463/486/1629 462/487/1630 446/456/1631 445/454/1632 +f 462/487/1633 461/488/1634 447/458/1635 446/456/1636 +f 461/488/1637 422/475/1638 429/435/1639 447/458/1640 +f 436/443/1641 444/442/1642 460/465/1643 459/464/1644 +f 437/445/1645 436/443/1646 459/464/1647 458/474/1648 +f 438/447/1649 437/445/1650 458/474/1651 457/473/1652 +f 427/431/1653 435/430/1654 450/462/1655 449/460/1656 +f 428/433/1657 427/431/1658 449/460/1659 448/459/1660 +f 429/435/1661 428/433/1662 448/459/1663 447/458/1664 +f 494/489/1665 495/490/1666 487/491/1667 531/492/1668 +f 531/492/1669 487/491/1670 488/493/1671 532/494/1672 +f 488/493/1673 489/495/1674 490/496/1675 532/494/1676 +f 532/494/1677 490/496/1678 491/497/1679 533/498/1680 +f 491/497/1681 492/499/1682 493/500/1683 533/498/1684 +f 533/498/1685 493/500/1686 494/489/1687 531/492/1688 +f 531/492/1689 532/494/1690 533/498/1691 +f 503/501/1692 504/502/1693 496/503/1694 534/504/1695 +f 534/504/1696 496/503/1697 497/505/1698 535/506/1699 +f 497/505/1700 498/507/1701 499/508/1702 535/506/1703 +f 535/506/1704 499/508/1705 500/509/1706 536/510/1707 +f 500/509/1708 501/511/1709 502/512/1710 536/510/1711 +f 536/510/1712 502/512/1713 503/501/1714 534/504/1715 +f 534/504/1716 535/506/1717 536/510/1718 +f 512/513/1719 513/514/1720 505/515/1721 537/516/1722 +f 537/516/1723 505/515/1724 506/517/1725 538/518/1726 +f 506/517/1727 507/519/1728 508/520/1729 538/518/1730 +f 538/518/1731 508/520/1732 509/521/1733 539/522/1734 +f 509/521/1735 510/523/1736 511/524/1737 539/522/1738 +f 539/522/1739 511/524/1740 512/513/1741 537/516/1742 +f 537/516/1743 538/518/1744 539/522/1745 +f 521/525/1746 522/526/1747 514/527/1748 540/528/1749 +f 540/528/1750 514/527/1751 515/529/1752 541/530/1753 +f 515/529/1754 516/531/1755 517/532/1756 541/530/1757 +f 541/530/1758 517/532/1759 518/533/1760 542/534/1761 +f 518/533/1762 519/535/1763 520/536/1764 542/534/1765 +f 542/534/1766 520/536/1767 521/525/1768 540/528/1769 +f 540/528/1770 541/530/1771 542/534/1772 +f 513/514/1773 512/513/1774 517/532/1775 516/531/1776 +f 512/513/1777 511/524/1778 518/533/1779 517/532/1780 +f 511/524/1781 510/523/1782 519/535/1783 518/533/1784 +f 519/535/1785 510/523/1786 495/490/1787 498/507/1788 +f 495/490/1789 494/489/1790 499/508/1791 498/507/1792 +f 494/489/1793 493/500/1794 500/509/1795 499/508/1796 +f 493/500/1797 492/499/1798 501/511/1799 500/509/1800 +f 482/537/1801 481/538/1802 490/496/1803 489/495/1804 +f 481/538/1805 480/539/1806 491/497/1807 490/496/1808 +f 480/539/1809 479/540/1810 492/499/1811 491/497/1812 +f 486/541/1813 485/542/1814 502/512/1815 501/511/1816 +f 485/542/1817 484/543/1818 503/501/1819 502/512/1820 +f 484/543/1821 483/544/1822 504/502/1823 503/501/1824 +f 530/545/1825 529/546/1826 514/527/1827 522/526/1828 +f 529/546/1829 528/547/1830 515/529/1831 514/527/1832 +f 528/547/1833 527/548/1834 516/531/1835 515/529/1836 +f 527/548/1837 526/549/1838 513/514/1839 516/531/1840 +f 526/549/1841 525/550/1842 505/515/1843 513/514/1844 +f 525/550/1845 524/551/1846 506/517/1847 505/515/1848 +f 524/551/1849 523/552/1850 507/519/1851 506/517/1852 +f 504/502/1853 483/544/1854 530/545/1855 522/526/1856 +f 496/503/1857 504/502/1858 522/526/1859 521/525/1860 +f 497/505/1861 496/503/1862 521/525/1863 520/536/1864 +f 498/507/1865 497/505/1866 520/536/1867 519/535/1868 +f 487/491/1869 495/490/1870 510/523/1871 509/521/1872 +f 488/493/1873 487/491/1874 509/521/1875 508/520/1876 +f 489/495/1877 488/493/1878 508/520/1879 507/519/1880 +f 555/553/1881 556/554/1882 549/555/1883 587/556/1884 +f 587/556/1885 549/555/1886 550/557/1887 588/558/1888 +f 550/557/1889 444/442/1890 551/559/1891 588/558/1892 +f 588/558/1893 551/559/1894 552/560/1895 589/561/1896 +f 552/560/1897 553/562/1898 554/563/1899 589/561/1900 +f 589/561/1901 554/563/1902 555/553/1903 587/556/1904 +f 587/556/1905 588/558/1906 589/561/1907 +f 564/564/1908 489/495/1909 557/565/1910 590/566/1911 +f 590/566/1912 557/565/1913 558/567/1914 591/568/1915 +f 558/567/1916 559/569/1917 560/570/1918 591/568/1919 +f 591/568/1920 560/570/1921 561/571/1922 592/572/1923 +f 561/571/1924 562/573/1925 563/574/1926 592/572/1927 +f 592/572/1928 563/574/1929 564/564/1930 590/566/1931 +f 590/566/1932 591/568/1933 592/572/1934 +f 571/575/1935 572/576/1936 565/577/1937 593/578/1938 +f 593/578/1939 565/577/1940 566/579/1941 594/580/1942 +f 566/579/1943 460/465/1944 567/581/1945 594/580/1946 +f 594/580/1947 567/581/1948 568/582/1949 595/583/1950 +f 568/582/1951 569/584/1952 570/585/1953 595/583/1954 +f 595/583/1955 570/585/1956 571/575/1957 593/578/1958 +f 593/578/1959 594/580/1960 595/583/1961 +f 580/586/1962 507/519/1963 573/587/1964 596/588/1965 +f 596/588/1966 573/587/1967 574/589/1968 597/590/1969 +f 574/589/1970 575/591/1971 576/592/1972 597/590/1973 +f 597/590/1974 576/592/1975 577/593/1976 598/594/1977 +f 577/593/1978 578/595/1979 579/596/1980 598/594/1981 +f 598/594/1982 579/596/1983 580/586/1984 596/588/1985 +f 596/588/1986 597/590/1987 598/594/1988 +f 572/576/1989 571/575/1990 576/592/1991 575/591/1992 +f 571/575/1993 570/585/1994 577/593/1995 576/592/1996 +f 570/585/1997 569/584/1998 578/595/1999 577/593/2000 +f 569/584/2001 556/554/2002 559/569/2003 578/595/2004 +f 556/554/2005 555/553/2006 560/570/2007 559/569/2008 +f 555/553/2009 554/563/2010 561/571/2011 560/570/2012 +f 554/563/2013 553/562/2014 562/573/2015 561/571/2016 +f 423/482/2017 545/597/2018 551/559/2019 444/442/2020 +f 545/597/2021 544/598/2022 552/560/2023 551/559/2024 +f 544/598/2025 543/599/2026 553/562/2027 552/560/2028 +f 548/600/2029 547/601/2030 563/574/2031 562/573/2032 +f 547/601/2033 546/602/2034 564/564/2035 563/574/2036 +f 546/602/2037 482/537/2038 489/495/2039 564/564/2040 +f 523/552/2041 586/603/2042 573/587/2043 507/519/2044 +f 586/603/2045 585/604/2046 574/589/2047 573/587/2048 +f 585/604/2049 584/605/2050 575/591/2051 574/589/2052 +f 584/605/2053 583/606/2054 572/576/2055 575/591/2056 +f 583/606/2057 582/607/2058 565/577/2059 572/576/2060 +f 582/607/2061 581/608/2062 566/579/2063 565/577/2064 +f 581/608/2065 466/483/2066 460/465/2067 566/579/2068 +f 557/565/2069 489/495/2070 507/519/2071 580/586/2072 +f 558/567/2073 557/565/2074 580/586/2075 579/596/2076 +f 559/569/2077 558/567/2078 579/596/2079 578/595/2080 +f 549/555/2081 556/554/2082 569/584/2083 568/582/2084 +f 550/557/2085 549/555/2086 568/582/2087 567/581/2088 +f 444/442/2089 550/557/2090 567/581/2091 460/465/2092 +f 610/609/2093 611/610/2094 603/611/2095 643/612/2096 +f 643/612/2097 603/611/2098 604/613/2099 644/614/2100 +f 604/613/2101 605/615/2102 606/616/2103 644/614/2104 +f 644/614/2105 606/616/2106 607/617/2107 645/618/2108 +f 607/617/2109 608/619/2110 609/620/2111 645/618/2112 +f 645/618/2113 609/620/2114 610/609/2115 643/612/2116 +f 643/612/2117 644/614/2118 645/618/2119 +f 619/621/2120 620/622/2121 612/623/2122 646/624/2123 +f 646/624/2124 612/623/2125 613/625/2126 647/626/2127 +f 613/625/2128 614/627/2129 615/628/2130 647/626/2131 +f 647/626/2132 615/628/2133 616/629/2134 648/630/2135 +f 616/629/2136 617/631/2137 618/632/2138 648/630/2139 +f 648/630/2140 618/632/2141 619/621/2142 646/624/2143 +f 646/624/2144 647/626/2145 648/630/2146 +f 628/633/2147 492/499/2148 621/634/2149 649/635/2150 +f 649/635/2151 621/634/2152 622/636/2153 650/637/2154 +f 622/636/2155 623/638/2156 624/639/2157 650/637/2158 +f 650/637/2159 624/639/2160 625/640/2161 651/641/2162 +f 625/640/2163 626/642/2164 627/643/2165 651/641/2166 +f 651/641/2167 627/643/2168 628/633/2169 649/635/2170 +f 649/635/2171 650/637/2172 651/641/2173 +f 635/644/2174 636/645/2175 629/646/2176 652/647/2177 +f 652/647/2178 629/646/2179 630/648/2180 653/649/2181 +f 630/648/2182 501/511/2183 631/650/2184 653/649/2185 +f 653/649/2186 631/650/2187 632/651/2188 654/652/2189 +f 632/651/2190 633/653/2191 634/654/2192 654/652/2193 +f 654/652/2194 634/654/2195 635/644/2196 652/647/2197 +f 652/647/2198 653/649/2199 654/652/2200 +f 492/499/2201 628/633/2202 631/650/2203 501/511/2204 +f 628/633/2205 627/643/2206 632/651/2207 631/650/2208 +f 627/643/2209 626/642/2210 633/653/2211 632/651/2212 +f 626/642/2213 611/610/2214 614/627/2215 633/653/2216 +f 611/610/2217 610/609/2218 615/628/2219 614/627/2220 +f 610/609/2221 609/620/2222 616/629/2223 615/628/2224 +f 609/620/2225 608/619/2226 617/631/2227 616/629/2228 +f 602/655/2229 601/656/2230 606/616/2231 605/615/2232 +f 601/656/2233 600/657/2234 607/617/2235 606/616/2236 +f 600/657/2237 599/658/2238 608/619/2239 607/617/2240 +f 642/659/2241 641/660/2242 629/646/2243 636/645/2244 +f 641/660/2245 640/661/2246 630/648/2247 629/646/2248 +f 640/661/2249 486/541/2250 501/511/2251 630/648/2252 +f 479/540/2253 639/662/2254 621/634/2255 492/499/2256 +f 639/662/2257 638/663/2258 622/636/2259 621/634/2260 +f 638/663/2261 637/664/2262 623/638/2263 622/636/2264 +f 623/638/2265 637/664/2266 602/655/2267 605/615/2268 +f 636/645/2269 635/644/2270 612/623/2271 620/622/2272 +f 635/644/2273 634/654/2274 613/625/2275 612/623/2276 +f 634/654/2277 633/653/2278 614/627/2279 613/625/2280 +f 626/642/2281 625/640/2282 603/611/2283 611/610/2284 +f 625/640/2285 624/639/2286 604/613/2287 603/611/2288 +f 624/639/2289 623/638/2290 605/615/2291 604/613/2292 +f 665/665/2293 666/666/2294 659/667/2295 700/668/2296 +f 700/668/2297 659/667/2298 660/669/2299 701/670/2300 +f 660/669/2301 620/622/2302 661/671/2303 701/670/2304 +f 701/670/2305 661/671/2306 662/672/2307 702/673/2308 +f 662/672/2309 663/674/2310 664/675/2311 702/673/2312 +f 702/673/2313 664/675/2314 665/665/2315 700/668/2316 +f 700/668/2317 701/670/2318 702/673/2319 +f 674/676/2320 675/677/2321 667/678/2322 703/679/2323 +f 703/679/2324 667/678/2325 668/680/2326 704/681/2327 +f 668/680/2328 669/682/2329 670/683/2330 704/681/2331 +f 704/681/2332 670/683/2333 671/684/2334 705/685/2335 +f 671/684/2336 672/686/2337 673/687/2338 705/685/2339 +f 705/685/2340 673/687/2341 674/676/2342 703/679/2343 +f 703/679/2344 704/681/2345 705/685/2346 +f 682/688/2347 683/689/2348 676/690/2349 706/691/2350 +f 706/691/2351 676/690/2352 677/692/2353 707/693/2354 +f 677/692/2355 636/645/2356 678/694/2357 707/693/2358 +f 707/693/2359 678/694/2360 679/695/2361 708/696/2362 +f 679/695/2363 680/697/2364 681/698/2365 708/696/2366 +f 708/696/2367 681/698/2368 682/688/2369 706/691/2370 +f 706/691/2371 707/693/2372 708/696/2373 +f 691/699/2374 692/700/2375 684/701/2376 709/702/2377 +f 709/702/2378 684/701/2379 685/703/2380 710/704/2381 +f 685/703/2382 686/705/2383 687/706/2384 710/704/2385 +f 710/704/2386 687/706/2387 688/707/2388 711/708/2389 +f 688/707/2390 689/709/2391 690/710/2392 711/708/2393 +f 711/708/2394 690/710/2395 691/699/2396 709/702/2397 +f 709/702/2398 710/704/2399 711/708/2400 +f 687/706/2401 686/705/2402 683/689/2403 682/688/2404 +f 688/707/2405 687/706/2406 682/688/2407 681/698/2408 +f 689/709/2409 688/707/2410 681/698/2411 680/697/2412 +f 669/682/2413 689/709/2414 680/697/2415 666/666/2416 +f 670/683/2417 669/682/2418 666/666/2419 665/665/2420 +f 671/684/2421 670/683/2422 665/665/2423 664/675/2424 +f 672/686/2425 671/684/2426 664/675/2427 663/674/2428 +f 658/711/2429 657/712/2430 673/687/2431 672/686/2432 +f 657/712/2433 656/713/2434 674/676/2435 673/687/2436 +f 656/713/2437 655/714/2438 675/677/2439 674/676/2440 +f 699/715/2441 698/716/2442 684/701/2443 692/700/2444 +f 698/716/2445 697/717/2446 685/703/2447 684/701/2448 +f 697/717/2449 696/718/2450 686/705/2451 685/703/2452 +f 686/705/2453 696/718/2454 695/719/2455 683/689/2456 +f 695/719/2457 694/720/2458 676/690/2459 683/689/2460 +f 694/720/2461 693/721/2462 677/692/2463 676/690/2464 +f 693/721/2465 642/659/2466 636/645/2467 677/692/2468 +f 655/714/2469 699/715/2470 692/700/2471 675/677/2472 +f 692/700/2473 691/699/2474 667/678/2475 675/677/2476 +f 691/699/2477 690/710/2478 668/680/2479 667/678/2480 +f 690/710/2481 689/709/2482 669/682/2483 668/680/2484 +f 680/697/2485 679/695/2486 659/667/2487 666/666/2488 +f 679/695/2489 678/694/2490 660/669/2491 659/667/2492 +f 678/694/2493 636/645/2494 620/622/2495 660/669/2496 +f 553/562/2497 543/599/2498 548/600/2499 562/573/2500 +f 620/622/2501 619/621/2502 712/722/2503 713/723/2504 +f 618/632/2505 617/631/2506 714/724/2507 715/725/2508 +f 619/621/2509 618/632/2510 715/725/2511 712/722/2512 +f 661/671/2513 620/622/2514 713/723/2515 716/726/2516 +f 662/672/2517 661/671/2518 716/726/2519 717/727/2520 +f 663/674/2521 662/672/2522 717/727/2523 718/728/2524 +f 599/658/2525 714/724/2526 617/631/2527 608/619/2528 +f 718/728/2529 658/711/2530 672/686/2531 663/674/2532 +f 138/149/2533 719/172/2534 723/173/2535 724/168/2536 +f 720/171/2537 719/172/2538 138/149/2539 137/147/2540 +f 721/170/2541 720/171/2542 137/147/2543 136/146/2544 +f 135/145/2545 722/169/2546 721/170/2547 136/146/2548 +f 723/173/2549 130/137/2550 147/161/2551 724/168/2552 +f 147/161/2553 146/159/2554 725/167/2555 724/168/2556 +f 146/159/2557 145/158/2558 726/166/2559 725/167/2560 +f 145/158/2561 144/157/2562 727/165/2563 726/166/2564 +f 155/180/2565 728/163/2566 727/165/2567 144/157/2568 +f 732/729/2569 731/730/2570 740/731/2571 739/732/2572 +f 731/730/2573 730/733/2574 741/734/2575 740/731/2576 +f 730/733/2577 729/735/2578 742/736/2579 741/734/2580 +f 736/737/2581 735/738/2582 752/739/2583 751/740/2584 +f 735/738/2585 734/741/2586 753/742/2587 752/739/2588 +f 734/741/2589 733/743/2590 754/744/2591 753/742/2592 +f 739/732/2593 738/745/2594 758/746/2595 757/747/2596 +f 738/745/2597 737/748/2598 759/749/2599 758/746/2600 +f 759/749/2601 737/748/2602 745/750/2603 760/751/2604 +f 749/752/2605 748/753/2606 745/750/2607 744/754/2608 +f 750/755/2609 749/752/2610 744/754/2611 743/756/2612 +f 751/740/2613 750/755/2614 743/756/2615 742/736/2616 +f 748/753/2617 747/757/2618 770/758/2619 769/759/2620 +f 747/757/2621 746/760/2622 771/761/2623 770/758/2624 +f 746/760/2625 754/744/2626 772/762/2627 771/761/2628 +f 774/763/2629 773/764/2630 757/747/2631 756/765/2632 +f 775/766/2633 774/763/2634 756/765/2635 755/767/2636 +f 776/768/2637 775/766/2638 755/767/2639 763/769/2640 +f 767/770/2641 766/771/2642 763/769/2643 762/772/2644 +f 768/773/2645 767/770/2646 762/772/2647 761/774/2648 +f 769/759/2649 768/773/2650 761/774/2651 760/751/2652 +f 778/775/2653 777/776/2654 766/771/2655 765/777/2656 +f 779/778/2657 778/775/2658 765/777/2659 764/779/2660 +f 780/780/2661 779/778/2662 764/779/2663 772/762/2664 +f 742/736/2665 729/735/2666 736/737/2667 751/740/2668 +f 777/776/2669 776/768/2670 763/769/2671 766/771/2672 +f 733/743/2673 780/780/2674 772/762/2675 754/744/2676 +f 773/764/2677 732/729/2678 739/732/2679 757/747/2680 +f 744/754/2681 745/750/2682 737/748/2683 781/781/2684 +f 781/781/2685 737/748/2686 738/745/2687 782/782/2688 +f 738/745/2689 739/732/2690 740/731/2691 782/782/2692 +f 782/782/2693 740/731/2694 741/734/2695 783/783/2696 +f 741/734/2697 742/736/2698 743/756/2699 783/783/2700 +f 783/783/2701 743/756/2702 744/754/2703 781/781/2704 +f 781/781/2705 782/782/2706 783/783/2707 +f 753/742/2708 754/744/2709 746/760/2710 784/784/2711 +f 784/784/2712 746/760/2713 747/757/2714 785/785/2715 +f 747/757/2716 748/753/2717 749/752/2718 785/785/2719 +f 785/785/2720 749/752/2721 750/755/2722 786/786/2723 +f 750/755/2724 751/740/2725 752/739/2726 786/786/2727 +f 786/786/2728 752/739/2729 753/742/2730 784/784/2731 +f 784/784/2732 785/785/2733 786/786/2734 +f 762/772/2735 763/769/2736 755/767/2737 787/787/2738 +f 787/787/2739 755/767/2740 756/765/2741 788/788/2742 +f 756/765/2743 757/747/2744 758/746/2745 788/788/2746 +f 788/788/2747 758/746/2748 759/749/2749 789/789/2750 +f 759/749/2751 760/751/2752 761/774/2753 789/789/2754 +f 789/789/2755 761/774/2756 762/772/2757 787/787/2758 +f 787/787/2759 788/788/2760 789/789/2761 +f 771/761/2762 772/762/2763 764/779/2764 790/790/2765 +f 790/790/2766 764/779/2767 765/777/2768 791/791/2769 +f 765/777/2770 766/771/2771 767/770/2772 791/791/2773 +f 791/791/2774 767/770/2775 768/773/2776 792/792/2777 +f 768/773/2778 769/759/2779 770/758/2780 792/792/2781 +f 792/792/2782 770/758/2783 771/761/2784 790/790/2785 +f 790/790/2786 791/791/2787 792/792/2788 +f 748/753/2789 769/759/2790 760/751/2791 745/750/2792 +f 808/793/2793 809/794/2794 801/795/2795 845/796/2796 +f 845/796/2797 801/795/2798 802/797/2799 846/798/2800 +f 802/797/2801 803/799/2802 804/800/2803 846/798/2804 +f 846/798/2805 804/800/2806 805/801/2807 847/802/2808 +f 805/801/2809 806/803/2810 807/804/2811 847/802/2812 +f 847/802/2813 807/804/2814 808/793/2815 845/796/2816 +f 845/796/2817 846/798/2818 847/802/2819 +f 817/805/2820 818/806/2821 810/807/2822 848/808/2823 +f 848/808/2824 810/807/2825 811/809/2826 849/810/2827 +f 811/809/2828 812/811/2829 813/812/2830 849/810/2831 +f 849/810/2832 813/812/2833 814/813/2834 850/814/2835 +f 814/813/2836 815/815/2837 816/816/2838 850/814/2839 +f 850/814/2840 816/816/2841 817/805/2842 848/808/2843 +f 848/808/2844 849/810/2845 850/814/2846 +f 826/817/2847 827/818/2848 819/819/2849 851/820/2850 +f 851/820/2851 819/819/2852 820/821/2853 852/822/2854 +f 820/821/2855 821/823/2856 822/824/2857 852/822/2858 +f 852/822/2859 822/824/2860 823/825/2861 853/826/2862 +f 823/825/2863 824/827/2864 825/828/2865 853/826/2866 +f 853/826/2867 825/828/2868 826/817/2869 851/820/2870 +f 851/820/2871 852/822/2872 853/826/2873 +f 835/829/2874 836/830/2875 828/831/2876 854/832/2877 +f 854/832/2878 828/831/2879 829/833/2880 855/834/2881 +f 829/833/2882 830/835/2883 831/836/2884 855/834/2885 +f 855/834/2886 831/836/2887 832/837/2888 856/838/2889 +f 832/837/2890 833/839/2891 834/840/2892 856/838/2893 +f 856/838/2894 834/840/2895 835/829/2896 854/832/2897 +f 854/832/2898 855/834/2899 856/838/2900 +f 827/818/2901 826/817/2902 831/836/2903 830/835/2904 +f 826/817/2905 825/828/2906 832/837/2907 831/836/2908 +f 825/828/2909 824/827/2910 833/839/2911 832/837/2912 +f 812/811/2913 833/839/2914 824/827/2915 809/794/2916 +f 809/794/2917 808/793/2918 813/812/2919 812/811/2920 +f 808/793/2921 807/804/2922 814/813/2923 813/812/2924 +f 807/804/2925 806/803/2926 815/815/2927 814/813/2928 +f 796/841/2929 795/842/2930 804/800/2931 803/799/2932 +f 795/842/2933 794/843/2934 805/801/2935 804/800/2936 +f 794/843/2937 793/844/2938 806/803/2939 805/801/2940 +f 806/803/2941 793/844/2942 800/845/2943 815/815/2944 +f 800/845/2945 799/846/2946 816/816/2947 815/815/2948 +f 799/846/2949 798/847/2950 817/805/2951 816/816/2952 +f 798/847/2953 797/848/2954 818/806/2955 817/805/2956 +f 844/849/2957 843/850/2958 828/831/2959 836/830/2960 +f 843/850/2961 842/851/2962 829/833/2963 828/831/2964 +f 842/851/2965 841/852/2966 830/835/2967 829/833/2968 +f 840/853/2969 839/854/2970 819/819/2971 827/818/2972 +f 839/854/2973 838/855/2974 820/821/2975 819/819/2976 +f 838/855/2977 837/856/2978 821/823/2979 820/821/2980 +f 821/823/2981 837/856/2982 796/841/2983 803/799/2984 +f 797/848/2985 844/849/2986 836/830/2987 818/806/2988 +f 836/830/2989 835/829/2990 810/807/2991 818/806/2992 +f 835/829/2993 834/840/2994 811/809/2995 810/807/2996 +f 834/840/2997 833/839/2998 812/811/2999 811/809/3000 +f 824/827/3001 823/825/3002 801/795/3003 809/794/3004 +f 823/825/3005 822/824/3006 802/797/3007 801/795/3008 +f 822/824/3009 821/823/3010 803/799/3011 802/797/3012 +f 872/857/3013 873/858/3014 865/859/3015 909/860/3016 +f 909/860/3017 865/859/3018 866/861/3019 910/862/3020 +f 866/861/3021 867/863/3022 868/864/3023 910/862/3024 +f 910/862/3025 868/864/3026 869/865/3027 911/866/3028 +f 869/865/3029 870/867/3030 871/868/3031 911/866/3032 +f 911/866/3033 871/868/3034 872/857/3035 909/860/3036 +f 909/860/3037 910/862/3038 911/866/3039 +f 881/869/3040 882/870/3041 874/871/3042 912/872/3043 +f 912/872/3044 874/871/3045 875/873/3046 913/874/3047 +f 875/873/3048 876/875/3049 877/876/3050 913/874/3051 +f 913/874/3052 877/876/3053 878/877/3054 914/878/3055 +f 878/877/3056 879/879/3057 880/880/3058 914/878/3059 +f 914/878/3060 880/880/3061 881/869/3062 912/872/3063 +f 912/872/3064 913/874/3065 914/878/3066 +f 890/881/3067 891/882/3068 883/883/3069 915/884/3070 +f 915/884/3071 883/883/3072 884/885/3073 916/886/3074 +f 884/885/3075 885/887/3076 886/888/3077 916/886/3078 +f 916/886/3079 886/888/3080 887/889/3081 917/890/3082 +f 887/889/3083 888/891/3084 889/892/3085 917/890/3086 +f 917/890/3087 889/892/3088 890/881/3089 915/884/3090 +f 915/884/3091 916/886/3092 917/890/3093 +f 899/893/3094 900/894/3095 892/895/3096 918/896/3097 +f 918/896/3098 892/895/3099 893/897/3100 919/898/3101 +f 893/897/3102 894/899/3103 895/900/3104 919/898/3105 +f 919/898/3106 895/900/3107 896/901/3108 920/902/3109 +f 896/901/3110 897/903/3111 898/904/3112 920/902/3113 +f 920/902/3114 898/904/3115 899/893/3116 918/896/3117 +f 918/896/3118 919/898/3119 920/902/3120 +f 891/882/3121 890/881/3122 895/900/3123 894/899/3124 +f 890/881/3125 889/892/3126 896/901/3127 895/900/3128 +f 889/892/3129 888/891/3130 897/903/3131 896/901/3132 +f 876/875/3133 897/903/3134 888/891/3135 873/858/3136 +f 873/858/3137 872/857/3138 877/876/3139 876/875/3140 +f 872/857/3141 871/868/3142 878/877/3143 877/876/3144 +f 871/868/3145 870/867/3146 879/879/3147 878/877/3148 +f 860/905/3149 859/906/3150 868/864/3151 867/863/3152 +f 859/906/3153 858/907/3154 869/865/3155 868/864/3156 +f 858/907/3157 857/908/3158 870/867/3159 869/865/3160 +f 870/867/3161 857/908/3162 864/909/3163 879/879/3164 +f 864/909/3165 863/910/3166 880/880/3167 879/879/3168 +f 863/910/3169 862/911/3170 881/869/3171 880/880/3172 +f 862/911/3173 861/912/3174 882/870/3175 881/869/3176 +f 908/913/3177 907/914/3178 892/895/3179 900/894/3180 +f 907/914/3181 906/915/3182 893/897/3183 892/895/3184 +f 906/915/3185 905/916/3186 894/899/3187 893/897/3188 +f 904/917/3189 903/918/3190 883/883/3191 891/882/3192 +f 903/918/3193 902/919/3194 884/885/3195 883/883/3196 +f 902/919/3197 901/920/3198 885/887/3199 884/885/3200 +f 861/912/3201 908/913/3202 900/894/3203 882/870/3204 +f 900/894/3205 899/893/3206 874/871/3207 882/870/3208 +f 899/893/3209 898/904/3210 875/873/3211 874/871/3212 +f 898/904/3213 897/903/3214 876/875/3215 875/873/3216 +f 888/891/3217 887/889/3218 865/859/3219 873/858/3220 +f 887/889/3221 886/888/3222 866/861/3223 865/859/3224 +f 886/888/3225 885/887/3226 867/863/3227 866/861/3228 +f 929/921/3229 867/863/3230 923/922/3231 965/923/3232 +f 965/923/3233 923/922/3234 924/924/3235 966/925/3236 +f 924/924/3237 925/926/3238 926/927/3239 966/925/3240 +f 966/925/3241 926/927/3242 927/928/3243 967/929/3244 +f 927/928/3245 830/835/3246 928/930/3247 967/929/3248 +f 967/929/3249 928/930/3250 929/921/3251 965/923/3252 +f 965/923/3253 966/925/3254 967/929/3255 +f 939/931/3256 940/932/3257 933/933/3258 968/934/3259 +f 968/934/3260 933/933/3261 934/935/3262 969/936/3263 +f 934/935/3264 935/937/3265 936/938/3266 969/936/3267 +f 969/936/3268 936/938/3269 937/939/3270 970/940/3271 +f 937/939/3272 827/818/3273 938/941/3274 970/940/3275 +f 970/940/3276 938/941/3277 939/931/3278 968/934/3279 +f 968/934/3280 969/936/3281 970/940/3282 +f 952/942/3283 953/943/3284 945/944/3285 971/945/3286 +f 971/945/3287 945/944/3288 946/946/3289 972/947/3290 +f 946/946/3291 947/948/3292 948/949/3293 972/947/3294 +f 972/947/3295 948/949/3296 949/950/3297 973/951/3298 +f 949/950/3299 950/952/3300 951/953/3301 973/951/3302 +f 973/951/3303 951/953/3304 952/942/3305 971/945/3306 +f 971/945/3307 972/947/3308 973/951/3309 +f 963/954/3310 964/955/3311 957/956/3312 974/957/3313 +f 974/957/3314 957/956/3315 958/958/3316 975/959/3317 +f 958/958/3318 885/887/3319 959/960/3320 975/959/3321 +f 975/959/3322 959/960/3323 960/961/3324 976/962/3325 +f 960/961/3326 961/963/3327 962/964/3328 976/962/3329 +f 976/962/3330 962/964/3331 963/954/3332 974/957/3333 +f 974/957/3334 975/959/3335 976/962/3336 +f 885/887/3337 901/920/3338 956/965/3339 959/960/3340 +f 956/965/3341 955/966/3342 960/961/3343 959/960/3344 +f 955/966/3345 954/967/3346 961/963/3347 960/961/3348 +f 944/968/3349 943/969/3350 948/949/3351 947/948/3352 +f 943/969/3353 942/970/3354 949/950/3355 948/949/3356 +f 942/970/3357 941/971/3358 950/952/3359 949/950/3360 +f 950/952/3361 941/971/3362 932/972/3363 935/937/3364 +f 932/972/3365 931/973/3366 936/938/3367 935/937/3368 +f 931/973/3369 930/974/3370 937/939/3371 936/938/3372 +f 930/974/3373 840/853/3374 827/818/3375 937/939/3376 +f 841/852/3377 922/975/3378 928/930/3379 830/835/3380 +f 922/975/3381 921/976/3382 929/921/3383 928/930/3384 +f 921/976/3385 860/905/3386 867/863/3387 929/921/3388 +f 938/941/3389 827/818/3390 830/835/3391 927/928/3392 +f 939/931/3393 938/941/3394 927/928/3395 926/927/3396 +f 940/932/3397 939/931/3398 926/927/3399 925/926/3400 +f 945/944/3401 953/943/3402 964/955/3403 963/954/3404 +f 946/946/3405 945/944/3406 963/954/3407 962/964/3408 +f 947/948/3409 946/946/3410 962/964/3411 961/963/3412 +f 954/967/3413 944/968/3414 947/948/3415 961/963/3416 +f 885/887/3417 958/958/3418 923/922/3419 867/863/3420 +f 958/958/3421 957/956/3422 924/924/3423 923/922/3424 +f 957/956/3425 964/955/3426 925/926/3427 924/924/3428 +f 953/943/3429 940/932/3430 925/926/3431 964/955/3432 +f 953/943/3433 952/942/3434 933/933/3435 940/932/3436 +f 952/942/3437 951/953/3438 934/935/3439 933/933/3440 +f 951/953/3441 950/952/3442 935/937/3443 934/935/3444 +f 986/977/3445 987/978/3446 980/979/3447 1025/980/3448 +f 1025/980/3449 980/979/3450 981/981/3451 1026/982/3452 +f 981/981/3453 982/983/3454 983/984/3455 1026/982/3456 +f 1026/982/3457 983/984/3458 984/985/3459 1027/986/3460 +f 984/985/3461 894/899/3462 985/987/3463 1027/986/3464 +f 1027/986/3465 985/987/3466 986/977/3467 1025/980/3468 +f 1025/980/3469 1026/982/3470 1027/986/3471 +f 997/988/3472 998/989/3473 991/990/3474 1028/991/3475 +f 1028/991/3476 991/990/3477 992/992/3478 1029/993/3479 +f 992/992/3480 993/994/3481 994/995/3482 1029/993/3483 +f 1029/993/3484 994/995/3485 995/996/3486 1030/997/3487 +f 995/996/3488 891/882/3489 996/998/3490 1030/997/3491 +f 1030/997/3492 996/998/3493 997/988/3494 1028/991/3495 +f 1028/991/3496 1029/993/3497 1030/997/3498 +f 1010/999/3499 1011/1000/3500 1003/1001/3501 1031/1002/3502 +f 1031/1002/3503 1003/1001/3504 1004/1003/3505 1032/1004/3506 +f 1004/1003/3507 1005/1005/3508 1006/1006/3509 1032/1004/3510 +f 1032/1004/3511 1006/1006/3512 1007/1007/3513 1033/1008/3514 +f 1007/1007/3515 1008/1009/3516 1009/1010/3517 1033/1008/3518 +f 1033/1008/3519 1009/1010/3520 1010/999/3521 1031/1002/3522 +f 1031/1002/3523 1032/1004/3524 1033/1008/3525 +f 1023/1011/3526 1024/1012/3527 1016/1013/3528 1034/1014/3529 +f 1034/1014/3530 1016/1013/3531 1017/1015/3532 1035/1016/3533 +f 1017/1015/3534 1018/1017/3535 1019/1018/3536 1035/1016/3537 +f 1035/1016/3538 1019/1018/3539 1020/1019/3540 1036/1020/3541 +f 1020/1019/3542 1021/1021/3543 1022/1022/3544 1036/1020/3545 +f 1036/1020/3546 1022/1022/3547 1023/1011/3548 1034/1014/3549 +f 1034/1014/3550 1035/1016/3551 1036/1020/3552 +f 1018/1017/3553 1015/1023/3554 1014/1024/3555 1019/1018/3556 +f 1014/1024/3557 1013/1025/3558 1020/1019/3559 1019/1018/3560 +f 1013/1025/3561 1012/1026/3562 1021/1021/3563 1020/1019/3564 +f 1002/1027/3565 1001/1028/3566 1006/1006/3567 1005/1005/3568 +f 1001/1028/3569 1000/1029/3570 1007/1007/3571 1006/1006/3572 +f 1000/1029/3573 999/1030/3574 1008/1009/3575 1007/1007/3576 +f 1008/1009/3577 999/1030/3578 990/1031/3579 993/994/3580 +f 990/1031/3581 989/1032/3582 994/995/3583 993/994/3584 +f 989/1032/3585 988/1033/3586 995/996/3587 994/995/3588 +f 988/1033/3589 904/917/3590 891/882/3591 995/996/3592 +f 905/916/3593 979/1034/3594 985/987/3595 894/899/3596 +f 979/1034/3597 978/1035/3598 986/977/3599 985/987/3600 +f 978/1035/3601 977/1036/3602 987/978/3603 986/977/3604 +f 996/998/3605 891/882/3606 894/899/3607 984/985/3608 +f 997/988/3609 996/998/3610 984/985/3611 983/984/3612 +f 998/989/3613 997/988/3614 983/984/3615 982/983/3616 +f 1003/1001/3617 1011/1000/3618 1024/1012/3619 1023/1011/3620 +f 1004/1003/3621 1003/1001/3622 1023/1011/3623 1022/1022/3624 +f 1005/1005/3625 1004/1003/3626 1022/1022/3627 1021/1021/3628 +f 1012/1026/3629 1002/1027/3630 1005/1005/3631 1021/1021/3632 +f 1018/1017/3633 1017/1015/3634 980/979/3635 987/978/3636 +f 1017/1015/3637 1016/1013/3638 981/981/3639 980/979/3640 +f 1016/1013/3641 1024/1012/3642 982/983/3643 981/981/3644 +f 982/983/3645 1024/1012/3646 1011/1000/3647 998/989/3648 +f 1011/1000/3649 1010/999/3650 991/990/3651 998/989/3652 +f 1010/999/3653 1009/1010/3654 992/992/3655 991/990/3656 +f 1009/1010/3657 1008/1009/3658 993/994/3659 992/992/3660 +f 1050/1037/3661 1051/1038/3662 1044/1039/3663 1085/1040/3664 +f 1085/1040/3665 1044/1039/3666 1045/1041/3667 1086/1042/3668 +f 1045/1041/3669 987/978/3670 1046/1043/3671 1086/1042/3672 +f 1086/1042/3673 1046/1043/3674 1047/1044/3675 1087/1045/3676 +f 1047/1044/3677 1048/1046/3678 1049/1047/3679 1087/1045/3680 +f 1087/1045/3681 1049/1047/3682 1050/1037/3683 1085/1040/3684 +f 1085/1040/3685 1086/1042/3686 1087/1045/3687 +f 1059/1048/3688 1060/1049/3689 1052/1050/3690 1088/1051/3691 +f 1088/1051/3692 1052/1050/3693 1053/1052/3694 1089/1053/3695 +f 1053/1052/3696 1054/1054/3697 1055/1055/3698 1089/1053/3699 +f 1089/1053/3700 1055/1055/3701 1056/1056/3702 1090/1057/3703 +f 1056/1056/3704 1057/1058/3705 1058/1059/3706 1090/1057/3707 +f 1090/1057/3708 1058/1059/3709 1059/1048/3710 1088/1051/3711 +f 1088/1051/3712 1089/1053/3713 1090/1057/3714 +f 1067/1060/3715 1068/1061/3716 1061/1062/3717 1091/1063/3718 +f 1091/1063/3719 1061/1062/3720 1062/1064/3721 1092/1065/3722 +f 1062/1064/3723 1018/1017/3724 1063/1066/3725 1092/1065/3726 +f 1092/1065/3727 1063/1066/3728 1064/1067/3729 1093/1068/3730 +f 1064/1067/3731 1065/1069/3732 1066/1070/3733 1093/1068/3734 +f 1093/1068/3735 1066/1070/3736 1067/1060/3737 1091/1063/3738 +f 1091/1063/3739 1092/1065/3740 1093/1068/3741 +f 1076/1071/3742 1077/1072/3743 1069/1073/3744 1094/1074/3745 +f 1094/1074/3746 1069/1073/3747 1070/1075/3748 1095/1076/3749 +f 1070/1075/3750 1071/1077/3751 1072/1078/3752 1095/1076/3753 +f 1095/1076/3754 1072/1078/3755 1073/1079/3756 1096/1080/3757 +f 1073/1079/3758 1074/1081/3759 1075/1082/3760 1096/1080/3761 +f 1096/1080/3762 1075/1082/3763 1076/1071/3764 1094/1074/3765 +f 1094/1074/3766 1095/1076/3767 1096/1080/3768 +f 1072/1078/3769 1071/1077/3770 1068/1061/3771 1067/1060/3772 +f 1073/1079/3773 1072/1078/3774 1067/1060/3775 1066/1070/3776 +f 1074/1081/3777 1073/1079/3778 1066/1070/3779 1065/1069/3780 +f 1074/1081/3781 1065/1069/3782 1051/1038/3783 1054/1054/3784 +f 1055/1055/3785 1054/1054/3786 1051/1038/3787 1050/1037/3788 +f 1056/1056/3789 1055/1055/3790 1050/1037/3791 1049/1047/3792 +f 1057/1058/3793 1056/1056/3794 1049/1047/3795 1048/1046/3796 +f 977/1036/3797 1039/1083/3798 1046/1043/3799 987/978/3800 +f 1039/1083/3801 1038/1084/3802 1047/1044/3803 1046/1043/3804 +f 1038/1084/3805 1037/1085/3806 1048/1046/3807 1047/1044/3808 +f 1037/1085/3809 1043/1086/3810 1057/1058/3811 1048/1046/3812 +f 1043/1086/3813 1042/1087/3814 1058/1059/3815 1057/1058/3816 +f 1042/1087/3817 1041/1088/3818 1059/1048/3819 1058/1059/3820 +f 1041/1088/3821 1040/1089/3822 1060/1049/3823 1059/1048/3824 +f 1084/1090/3825 1083/1091/3826 1069/1073/3827 1077/1072/3828 +f 1083/1091/3829 1082/1092/3830 1070/1075/3831 1069/1073/3832 +f 1082/1092/3833 1081/1093/3834 1071/1077/3835 1070/1075/3836 +f 1071/1077/3837 1081/1093/3838 1080/1094/3839 1068/1061/3840 +f 1080/1094/3841 1079/1095/3842 1061/1062/3843 1068/1061/3844 +f 1079/1095/3845 1078/1096/3846 1062/1064/3847 1061/1062/3848 +f 1078/1096/3849 1015/1023/3850 1018/1017/3851 1062/1064/3852 +f 1040/1089/3853 1084/1090/3854 1077/1072/3855 1060/1049/3856 +f 1077/1072/3857 1076/1071/3858 1052/1050/3859 1060/1049/3860 +f 1076/1071/3861 1075/1082/3862 1053/1052/3863 1052/1050/3864 +f 1075/1082/3865 1074/1081/3866 1054/1054/3867 1053/1052/3868 +f 1065/1069/3869 1064/1067/3870 1044/1039/3871 1051/1038/3872 +f 1064/1067/3873 1063/1066/3874 1045/1041/3875 1044/1039/3876 +f 1063/1066/3877 1018/1017/3878 987/978/3879 1045/1041/3880 +f 1112/1097/3881 1113/1098/3882 1105/1099/3883 1149/1100/3884 +f 1149/1100/3885 1105/1099/3886 1106/1101/3887 1150/1102/3888 +f 1106/1101/3889 1107/1103/3890 1108/1104/3891 1150/1102/3892 +f 1150/1102/3893 1108/1104/3894 1109/1105/3895 1151/1106/3896 +f 1109/1105/3897 1110/1107/3898 1111/1108/3899 1151/1106/3900 +f 1151/1106/3901 1111/1108/3902 1112/1097/3903 1149/1100/3904 +f 1149/1100/3905 1150/1102/3906 1151/1106/3907 +f 1121/1109/3908 1122/1110/3909 1114/1111/3910 1152/1112/3911 +f 1152/1112/3912 1114/1111/3913 1115/1113/3914 1153/1114/3915 +f 1115/1113/3916 1116/1115/3917 1117/1116/3918 1153/1114/3919 +f 1153/1114/3920 1117/1116/3921 1118/1117/3922 1154/1118/3923 +f 1118/1117/3924 1119/1119/3925 1120/1120/3926 1154/1118/3927 +f 1154/1118/3928 1120/1120/3929 1121/1109/3930 1152/1112/3931 +f 1152/1112/3932 1153/1114/3933 1154/1118/3934 +f 1130/1121/3935 1131/1122/3936 1123/1123/3937 1155/1124/3938 +f 1155/1124/3939 1123/1123/3940 1124/1125/3941 1156/1126/3942 +f 1124/1125/3943 1125/1127/3944 1126/1128/3945 1156/1126/3946 +f 1156/1126/3947 1126/1128/3948 1127/1129/3949 1157/1130/3950 +f 1127/1129/3951 1128/1131/3952 1129/1132/3953 1157/1130/3954 +f 1157/1130/3955 1129/1132/3956 1130/1121/3957 1155/1124/3958 +f 1155/1124/3959 1156/1126/3960 1157/1130/3961 +f 1139/1133/3962 1140/1134/3963 1132/1135/3964 1158/1136/3965 +f 1158/1136/3966 1132/1135/3967 1133/1137/3968 1159/1138/3969 +f 1133/1137/3970 1134/1139/3971 1135/1140/3972 1159/1138/3973 +f 1159/1138/3974 1135/1140/3975 1136/1141/3976 1160/1142/3977 +f 1136/1141/3978 1137/1143/3979 1138/1144/3980 1160/1142/3981 +f 1160/1142/3982 1138/1144/3983 1139/1133/3984 1158/1136/3985 +f 1158/1136/3986 1159/1138/3987 1160/1142/3988 +f 1131/1122/3989 1130/1121/3990 1135/1140/3991 1134/1139/3992 +f 1130/1121/3993 1129/1132/3994 1136/1141/3995 1135/1140/3996 +f 1129/1132/3997 1128/1131/3998 1137/1143/3999 1136/1141/4000 +f 1116/1115/4001 1137/1143/4002 1128/1131/4003 1113/1098/4004 +f 1113/1098/4005 1112/1097/4006 1117/1116/4007 1116/1115/4008 +f 1112/1097/4009 1111/1108/4010 1118/1117/4011 1117/1116/4012 +f 1111/1108/4013 1110/1107/4014 1119/1119/4015 1118/1117/4016 +f 1100/1145/4017 1099/1146/4018 1108/1104/4019 1107/1103/4020 +f 1099/1146/4021 1098/1147/4022 1109/1105/4023 1108/1104/4024 +f 1098/1147/4025 1097/1148/4026 1110/1107/4027 1109/1105/4028 +f 1110/1107/4029 1097/1148/4030 1104/1149/4031 1119/1119/4032 +f 1104/1149/4033 1103/1150/4034 1120/1120/4035 1119/1119/4036 +f 1103/1150/4037 1102/1151/4038 1121/1109/4039 1120/1120/4040 +f 1102/1151/4041 1101/1152/4042 1122/1110/4043 1121/1109/4044 +f 1148/1153/4045 1147/1154/4046 1132/1135/4047 1140/1134/4048 +f 1147/1154/4049 1146/1155/4050 1133/1137/4051 1132/1135/4052 +f 1146/1155/4053 1145/1156/4054 1134/1139/4055 1133/1137/4056 +f 1145/1156/4057 1144/1157/4058 1131/1122/4059 1134/1139/4060 +f 1144/1157/4061 1143/1158/4062 1123/1123/4063 1131/1122/4064 +f 1143/1158/4065 1142/1159/4066 1124/1125/4067 1123/1123/4068 +f 1142/1159/4069 1141/1160/4070 1125/1127/4071 1124/1125/4072 +f 1125/1127/4073 1141/1160/4074 1100/1145/4075 1107/1103/4076 +f 1101/1152/4077 1148/1153/4078 1140/1134/4079 1122/1110/4080 +f 1140/1134/4081 1139/1133/4082 1114/1111/4083 1122/1110/4084 +f 1139/1133/4085 1138/1144/4086 1115/1113/4087 1114/1111/4088 +f 1138/1144/4089 1137/1143/4090 1116/1115/4091 1115/1113/4092 +f 1128/1131/4093 1127/1129/4094 1105/1099/4095 1113/1098/4096 +f 1127/1129/4097 1126/1128/4098 1106/1101/4099 1105/1099/4100 +f 1126/1128/4101 1125/1127/4102 1107/1103/4103 1106/1101/4104 +f 1164/1161/4105 1163/1162/4106 1172/1163/4107 1171/1164/4108 +f 1163/1162/4109 1162/1165/4110 1173/1166/4111 1172/1163/4112 +f 1162/1165/4113 1161/1167/4114 1174/1168/4115 1173/1166/4116 +f 1168/1169/4117 1167/1170/4118 1184/1171/4119 1183/1172/4120 +f 1167/1170/4121 1166/1173/4122 1185/1174/4123 1184/1171/4124 +f 1166/1173/4125 1165/1175/4126 1186/1176/4127 1185/1174/4128 +f 1171/1164/4129 1170/1177/4130 1190/1178/4131 1189/1179/4132 +f 1170/1177/4133 1169/1180/4134 1191/1181/4135 1190/1178/4136 +f 1191/1181/4137 1169/1180/4138 1177/1182/4139 1192/1183/4140 +f 1181/1184/4141 1180/1185/4142 1177/1182/4143 1176/1186/4144 +f 1182/1187/4145 1181/1184/4146 1176/1186/4147 1175/1188/4148 +f 1183/1172/4149 1182/1187/4150 1175/1188/4151 1174/1168/4152 +f 1180/1185/4153 1179/1189/4154 1202/1190/4155 1201/1191/4156 +f 1179/1189/4157 1178/1192/4158 1203/1193/4159 1202/1190/4160 +f 1178/1192/4161 1186/1176/4162 1204/1194/4163 1203/1193/4164 +f 1206/1195/4165 1205/1196/4166 1189/1179/4167 1188/1197/4168 +f 1207/1198/4169 1206/1195/4170 1188/1197/4171 1187/1199/4172 +f 1208/1200/4173 1207/1198/4174 1187/1199/4175 1195/1201/4176 +f 1199/1202/4177 1198/1203/4178 1195/1201/4179 1194/1204/4180 +f 1200/1205/4181 1199/1202/4182 1194/1204/4183 1193/1206/4184 +f 1201/1191/4185 1200/1205/4186 1193/1206/4187 1192/1183/4188 +f 1210/1207/4189 1209/1208/4190 1198/1203/4191 1197/1209/4192 +f 1211/1210/4193 1210/1207/4194 1197/1209/4195 1196/1211/4196 +f 1212/1212/4197 1211/1210/4198 1196/1211/4199 1204/1194/4200 +f 1174/1168/4201 1161/1167/4202 1168/1169/4203 1183/1172/4204 +f 1209/1208/4205 1208/1200/4206 1195/1201/4207 1198/1203/4208 +f 1165/1175/4209 1212/1212/4210 1204/1194/4211 1186/1176/4212 +f 1205/1196/4213 1164/1161/4214 1171/1164/4215 1189/1179/4216 +f 1176/1186/4217 1177/1182/4218 1169/1180/4219 1213/1213/4220 +f 1213/1213/4221 1169/1180/4222 1170/1177/4223 1214/1214/4224 +f 1170/1177/4225 1171/1164/4226 1172/1163/4227 1214/1214/4228 +f 1214/1214/4229 1172/1163/4230 1173/1166/4231 1215/1215/4232 +f 1173/1166/4233 1174/1168/4234 1175/1188/4235 1215/1215/4236 +f 1215/1215/4237 1175/1188/4238 1176/1186/4239 1213/1213/4240 +f 1213/1213/4241 1214/1214/4242 1215/1215/4243 +f 1185/1174/4244 1186/1176/4245 1178/1192/4246 1216/1216/4247 +f 1216/1216/4248 1178/1192/4249 1179/1189/4250 1217/1217/4251 +f 1179/1189/4252 1180/1185/4253 1181/1184/4254 1217/1217/4255 +f 1217/1217/4256 1181/1184/4257 1182/1187/4258 1218/1218/4259 +f 1182/1187/4260 1183/1172/4261 1184/1171/4262 1218/1218/4263 +f 1218/1218/4264 1184/1171/4265 1185/1174/4266 1216/1216/4267 +f 1216/1216/4268 1217/1217/4269 1218/1218/4270 +f 1194/1204/4271 1195/1201/4272 1187/1199/4273 1219/1219/4274 +f 1219/1219/4275 1187/1199/4276 1188/1197/4277 1220/1220/4278 +f 1188/1197/4279 1189/1179/4280 1190/1178/4281 1220/1220/4282 +f 1220/1220/4283 1190/1178/4284 1191/1181/4285 1221/1221/4286 +f 1191/1181/4287 1192/1183/4288 1193/1206/4289 1221/1221/4290 +f 1221/1221/4291 1193/1206/4292 1194/1204/4293 1219/1219/4294 +f 1219/1219/4295 1220/1220/4296 1221/1221/4297 +f 1203/1193/4298 1204/1194/4299 1196/1211/4300 1222/1222/4301 +f 1222/1222/4302 1196/1211/4303 1197/1209/4304 1223/1223/4305 +f 1197/1209/4306 1198/1203/4307 1199/1202/4308 1223/1223/4309 +f 1223/1223/4310 1199/1202/4311 1200/1205/4312 1224/1224/4313 +f 1200/1205/4314 1201/1191/4315 1202/1190/4316 1224/1224/4317 +f 1224/1224/4318 1202/1190/4319 1203/1193/4320 1222/1222/4321 +f 1222/1222/4322 1223/1223/4323 1224/1224/4324 +f 1180/1185/4325 1201/1191/4326 1192/1183/4327 1177/1182/4328 +f 1240/1225/4329 1241/1226/4330 1233/1227/4331 1250/1228/4332 +f 1250/1228/4333 1233/1227/4334 1234/1229/4335 1251/1230/4336 +f 1234/1229/4337 1235/1231/4338 1236/1232/4339 1251/1230/4340 +f 1251/1230/4341 1236/1232/4342 1237/1233/4343 1252/1234/4344 +f 1237/1233/4345 1238/1235/4346 1239/1236/4347 1252/1234/4348 +f 1252/1234/4349 1239/1236/4350 1240/1225/4351 1250/1228/4352 +f 1250/1228/4353 1251/1230/4354 1252/1234/4355 +f 1253/1237/4356 1242/1238/4357 1243/1239/4358 1254/1240/4359 +f 1243/1239/4360 1244/1241/4361 1245/1242/4362 1254/1240/4363 +f 1254/1240/4364 1245/1242/4365 1246/1243/4366 1255/1244/4367 +f 1246/1243/4368 1247/1245/4369 1248/1246/4370 1255/1244/4371 +f 1255/1244/4372 1248/1246/4373 1256/1247/4374 1253/1237/4375 +f 1253/1237/4376 1254/1240/4377 1255/1244/4378 +f 1256/1247/4379 1248/1246/4380 1249/1248/4381 1258/1249/4382 +f 1248/1246/4383 1247/1245/4384 1265/1250/4385 1249/1248/4386 +f 1241/1226/4387 1240/1225/4388 1260/1251/4389 1261/1252/4390 +f 1240/1225/4391 1239/1236/4392 1262/1253/4393 1260/1251/4394 +f 1239/1236/4395 1238/1235/4396 1263/1254/4397 1262/1253/4398 +f 1232/1255/4399 1264/1256/4400 1263/1254/4401 1238/1235/4402 +f 1261/1252/4403 1265/1250/4404 1247/1245/4405 1241/1226/4406 +f 1247/1245/4407 1246/1243/4408 1233/1227/4409 1241/1226/4410 +f 1246/1243/4411 1245/1242/4412 1234/1229/4413 1233/1227/4414 +f 1245/1242/4415 1244/1241/4416 1235/1231/4417 1234/1229/4418 +f 1228/1257/4419 1231/1258/4420 1235/1231/4421 1244/1241/4422 +f 1229/1259/4423 1232/1255/4424 1238/1235/4425 1237/1233/4426 +f 1230/1260/4427 1229/1259/4428 1237/1233/4429 1236/1232/4430 +f 1231/1258/4431 1230/1260/4432 1236/1232/4433 1235/1231/4434 +f 1225/1261/4435 1228/1257/4436 1244/1241/4437 1243/1239/4438 +f 1226/1262/4439 1225/1261/4440 1243/1239/4441 1242/1238/4442 +f 1256/1247/4443 1259/1263/4444 1242/1238/4445 1253/1237/4446 +f 1257/1264/4447 1259/1263/4448 1256/1247/4449 1258/1249/4450 +f 1259/1263/4451 1227/1265/4452 1226/1262/4453 1242/1238/4454 +f 1276/1266/4455 1268/1267/4456 1269/1268/4457 1275/1269/4458 +f 1277/1270/4459 1267/1271/4460 1268/1267/4461 1276/1266/4462 +f 1266/1272/4463 1267/1271/4464 1277/1270/4465 1278/1273/4466 +f 1275/1269/4467 1288/1274/4468 1289/1275/4469 1274/1276/4470 +f 1274/1276/4471 1289/1275/4472 1290/1277/4473 1273/1278/4474 +f 1273/1278/4475 1290/1277/4476 1291/1279/4477 1272/1280/4478 +f 1286/1281/4479 1281/1282/4480 1282/1283/4481 1285/1284/4482 +f 1287/1285/4483 1280/1286/4484 1281/1282/4485 1286/1281/4486 +f 1288/1274/4487 1279/1287/4488 1280/1286/4489 1287/1285/4490 +f 1279/1287/4491 1288/1274/4492 1275/1269/4493 1269/1268/4494 +f 1277/1270/4495 1292/1288/4496 1270/1289/4497 1278/1273/4498 +f 1292/1288/4499 1293/1290/4500 1271/1291/4501 1270/1289/4502 +f 1271/1291/4503 1293/1290/4504 1273/1278/4505 1272/1280/4506 +f 1293/1290/4507 1294/1292/4508 1274/1276/4509 1273/1278/4510 +f 1274/1276/4511 1294/1292/4512 1276/1266/4513 1275/1269/4514 +f 1294/1292/4515 1292/1288/4516 1277/1270/4517 1276/1266/4518 +f 1292/1288/4519 1294/1292/4520 1293/1290/4521 +f 1290/1277/4522 1295/1293/4523 1283/1294/4524 1291/1279/4525 +f 1295/1293/4526 1296/1295/4527 1284/1296/4528 1283/1294/4529 +f 1284/1296/4530 1296/1295/4531 1286/1281/4532 1285/1284/4533 +f 1296/1295/4534 1297/1297/4535 1287/1285/4536 1286/1281/4537 +f 1287/1285/4538 1297/1297/4539 1289/1275/4540 1288/1274/4541 +f 1297/1297/4542 1295/1293/4543 1290/1277/4544 1289/1275/4545 +f 1295/1293/4546 1297/1297/4547 1296/1295/4548 +f 1285/1284/4549 1282/1283/4550 1314/1298/4551 1317/1299/4552 +f 1284/1296/4553 1285/1284/4554 1317/1299/4555 1316/1300/4556 +f 1283/1294/4557 1284/1296/4558 1316/1300/4559 1315/1301/4560 +f 1291/1279/4561 1283/1294/4562 1315/1301/4563 1323/1302/4564 +f 1272/1280/4565 1291/1279/4566 1323/1302/4567 1304/1303/4568 +f 1271/1291/4569 1272/1280/4570 1304/1303/4571 1303/1304/4572 +f 1270/1289/4573 1271/1291/4574 1303/1304/4575 1302/1305/4576 +f 1278/1273/4577 1270/1289/4578 1302/1305/4579 1310/1306/4580 +f 1308/1307/4581 1307/1308/4582 1301/1309/4583 1300/1310/4584 +f 1309/1311/4585 1308/1307/4586 1300/1310/4587 1299/1312/4588 +f 1298/1313/4589 1310/1306/4590 1309/1311/4591 1299/1312/4592 +f 1307/1308/4593 1306/1314/4594 1321/1315/4595 1320/1316/4596 +f 1306/1314/4597 1305/1317/4598 1322/1318/4599 1321/1315/4600 +f 1305/1317/4601 1304/1303/4602 1323/1302/4603 1322/1318/4604 +f 1318/1319/4605 1317/1299/4606 1314/1298/4607 1313/1320/4608 +f 1319/1321/4609 1318/1319/4610 1313/1320/4611 1312/1322/4612 +f 1320/1316/4613 1319/1321/4614 1312/1322/4615 1311/1323/4616 +f 1309/1311/4617 1310/1306/4618 1302/1305/4619 1324/1324/4620 +f 1324/1324/4621 1302/1305/4622 1303/1304/4623 1325/1325/4624 +f 1303/1304/4625 1304/1303/4626 1305/1317/4627 1325/1325/4628 +f 1325/1325/4629 1305/1317/4630 1306/1314/4631 1326/1326/4632 +f 1306/1314/4633 1307/1308/4634 1308/1307/4635 1326/1326/4636 +f 1326/1326/4637 1308/1307/4638 1309/1311/4639 1324/1324/4640 +f 1324/1324/4641 1325/1325/4642 1326/1326/4643 +f 1322/1318/4644 1323/1302/4645 1315/1301/4646 1327/1327/4647 +f 1327/1327/4648 1315/1301/4649 1316/1300/4650 1328/1328/4651 +f 1316/1300/4652 1317/1299/4653 1318/1319/4654 1328/1328/4655 +f 1328/1328/4656 1318/1319/4657 1319/1321/4658 1329/1329/4659 +f 1319/1321/4660 1320/1316/4661 1321/1315/4662 1329/1329/4663 +f 1329/1329/4664 1321/1315/4665 1322/1318/4666 1327/1327/4667 +f 1327/1327/4668 1328/1328/4669 1329/1329/4670 +f 1340/1330/4671 1339/1331/4672 1333/1332/4673 1332/1333/4674 +f 1341/1334/4675 1340/1330/4676 1332/1333/4677 1331/1335/4678 +f 1330/1336/4679 1342/1337/4680 1341/1334/4681 1331/1335/4682 +f 1339/1331/4683 1338/1338/4684 1353/1339/4685 1352/1340/4686 +f 1338/1338/4687 1337/1341/4688 1354/1342/4689 1353/1339/4690 +f 1337/1341/4691 1336/1343/4692 1355/1344/4693 1354/1342/4694 +f 1350/1345/4695 1349/1346/4696 1346/1347/4697 1345/1348/4698 +f 1351/1349/4699 1350/1345/4700 1345/1348/4701 1344/1350/4702 +f 1352/1340/4703 1351/1349/4704 1344/1350/4705 1343/1351/4706 +f 1343/1351/4707 1333/1332/4708 1339/1331/4709 1352/1340/4710 +f 1341/1334/4711 1342/1337/4712 1334/1352/4713 1356/1353/4714 +f 1356/1353/4715 1334/1352/4716 1335/1354/4717 1357/1355/4718 +f 1335/1354/4719 1336/1343/4720 1337/1341/4721 1357/1355/4722 +f 1357/1355/4723 1337/1341/4724 1338/1338/4725 1358/1356/4726 +f 1338/1338/4727 1339/1331/4728 1340/1330/4729 1358/1356/4730 +f 1358/1356/4731 1340/1330/4732 1341/1334/4733 1356/1353/4734 +f 1356/1353/4735 1357/1355/4736 1358/1356/4737 +f 1354/1342/4738 1355/1344/4739 1347/1357/4740 1359/1358/4741 +f 1359/1358/4742 1347/1357/4743 1348/1359/4744 1360/1360/4745 +f 1348/1359/4746 1349/1346/4747 1350/1345/4748 1360/1360/4749 +f 1360/1360/4750 1350/1345/4751 1351/1349/4752 1361/1361/4753 +f 1351/1349/4754 1352/1340/4755 1353/1339/4756 1361/1361/4757 +f 1361/1361/4758 1353/1339/4759 1354/1342/4760 1359/1358/4761 +f 1359/1358/4762 1360/1360/4763 1361/1361/4764 +f 1372/1362/4765 1371/1363/4766 1365/1364/4767 1364/1365/4768 +f 1373/1366/4769 1372/1362/4770 1364/1365/4771 1363/1367/4772 +f 1362/1368/4773 1374/1369/4774 1373/1366/4775 1363/1367/4776 +f 1368/1370/4777 1367/1371/4778 1405/1372/4779 1413/1373/4780 +f 1367/1371/4781 1366/1374/4782 1406/1375/4783 1405/1372/4784 +f 1366/1374/4785 1374/1369/4786 1407/1376/4787 1406/1375/4788 +f 1371/1363/4789 1370/1377/4790 1385/1378/4791 1384/1379/4792 +f 1370/1377/4793 1369/1380/4794 1386/1381/4795 1385/1378/4796 +f 1369/1380/4797 1368/1370/4798 1387/1382/4799 1386/1381/4800 +f 1382/1383/4801 1381/1384/4802 1378/1385/4803 1377/1386/4804 +f 1383/1387/4805 1382/1383/4806 1377/1386/4807 1376/1388/4808 +f 1384/1379/4809 1383/1387/4810 1376/1388/4811 1375/1389/4812 +f 1381/1384/4813 1380/1390/4814 1398/1391/4815 1397/1392/4816 +f 1380/1390/4817 1379/1393/4818 1399/1394/4819 1398/1391/4820 +f 1379/1393/4821 1387/1382/4822 1400/1395/4823 1399/1394/4824 +f 1395/1396/4825 1394/1397/4826 1391/1398/4827 1390/1399/4828 +f 1396/1400/4829 1395/1396/4830 1390/1399/4831 1389/1401/4832 +f 1397/1392/4833 1396/1400/4834 1389/1401/4835 1388/1402/4836 +f 1411/1403/4837 1410/1404/4838 1394/1397/4839 1393/1405/4840 +f 1412/1406/4841 1411/1403/4842 1393/1405/4843 1392/1407/4844 +f 1413/1373/4845 1412/1406/4846 1392/1407/4847 1400/1395/4848 +f 1408/1408/4849 1407/1376/4850 1404/1409/4851 1403/1410/4852 +f 1409/1411/4853 1408/1408/4854 1403/1410/4855 1402/1412/4856 +f 1410/1404/4857 1409/1411/4858 1402/1412/4859 1401/1413/4860 +f 1375/1389/4861 1365/1364/4862 1371/1363/4863 1384/1379/4864 +f 1410/1404/4865 1401/1413/4866 1391/1398/4867 1394/1397/4868 +f 1368/1370/4869 1413/1373/4870 1400/1395/4871 1387/1382/4872 +f 1373/1366/4873 1374/1369/4874 1366/1374/4875 1414/1414/4876 +f 1414/1414/4877 1366/1374/4878 1367/1371/4879 1415/1415/4880 +f 1367/1371/4881 1368/1370/4882 1369/1380/4883 1415/1415/4884 +f 1415/1415/4885 1369/1380/4886 1370/1377/4887 1416/1416/4888 +f 1370/1377/4889 1371/1363/4890 1372/1362/4891 1416/1416/4892 +f 1416/1416/4893 1372/1362/4894 1373/1366/4895 1414/1414/4896 +f 1414/1414/4897 1415/1415/4898 1416/1416/4899 +f 1386/1381/4900 1387/1382/4901 1379/1393/4902 1417/1417/4903 +f 1417/1417/4904 1379/1393/4905 1380/1390/4906 1418/1418/4907 +f 1380/1390/4908 1381/1384/4909 1382/1383/4910 1418/1418/4911 +f 1418/1418/4912 1382/1383/4913 1383/1387/4914 1419/1419/4915 +f 1383/1387/4916 1384/1379/4917 1385/1378/4918 1419/1419/4919 +f 1419/1419/4920 1385/1378/4921 1386/1381/4922 1417/1417/4923 +f 1417/1417/4924 1418/1418/4925 1419/1419/4926 +f 1399/1394/4927 1400/1395/4928 1392/1407/4929 1420/1420/4930 +f 1420/1420/4931 1392/1407/4932 1393/1405/4933 1421/1421/4934 +f 1393/1405/4935 1394/1397/4936 1395/1396/4937 1421/1421/4938 +f 1421/1421/4939 1395/1396/4940 1396/1400/4941 1422/1422/4942 +f 1396/1400/4943 1397/1392/4944 1398/1391/4945 1422/1422/4946 +f 1422/1422/4947 1398/1391/4948 1399/1394/4949 1420/1420/4950 +f 1420/1420/4951 1421/1421/4952 1422/1422/4953 +f 1412/1406/4954 1413/1373/4955 1405/1372/4956 1423/1423/4957 +f 1423/1423/4958 1405/1372/4959 1406/1375/4960 1424/1424/4961 +f 1406/1375/4962 1407/1376/4963 1408/1408/4964 1424/1424/4965 +f 1424/1424/4966 1408/1408/4967 1409/1411/4968 1425/1425/4969 +f 1409/1411/4970 1410/1404/4971 1411/1403/4972 1425/1425/4973 +f 1425/1425/4974 1411/1403/4975 1412/1406/4976 1423/1423/4977 +f 1423/1423/4978 1424/1424/4979 1425/1425/4980 +f 1381/1384/4981 1397/1392/4982 1388/1402/4983 1378/1385/4984 +f 1441/1426/4985 1442/1427/4986 1434/1428/4987 1478/1429/4988 +f 1478/1429/4989 1434/1428/4990 1435/1430/4991 1479/1431/4992 +f 1435/1430/4993 1436/1432/4994 1437/1433/4995 1479/1431/4996 +f 1479/1431/4997 1437/1433/4998 1438/1434/4999 1480/1435/5000 +f 1438/1434/5001 1439/1436/5002 1440/1437/5003 1480/1435/5004 +f 1480/1435/5005 1440/1437/5006 1441/1426/5007 1478/1429/5008 +f 1478/1429/5009 1479/1431/5010 1480/1435/5011 +f 1450/1438/5012 1451/1439/5013 1443/1440/5014 1481/1441/5015 +f 1481/1441/5016 1443/1440/5017 1444/1442/5018 1482/1443/5019 +f 1444/1442/5020 1445/1444/5021 1446/1445/5022 1482/1443/5023 +f 1482/1443/5024 1446/1445/5025 1447/1446/5026 1483/1447/5027 +f 1447/1446/5028 1448/1448/5029 1449/1449/5030 1483/1447/5031 +f 1483/1447/5032 1449/1449/5033 1450/1438/5034 1481/1441/5035 +f 1481/1441/5036 1482/1443/5037 1483/1447/5038 +f 1459/1450/5039 1460/1451/5040 1452/1452/5041 1484/1453/5042 +f 1484/1453/5043 1452/1452/5044 1453/1454/5045 1485/1455/5046 +f 1453/1454/5047 1454/1456/5048 1455/1457/5049 1485/1455/5050 +f 1485/1455/5051 1455/1457/5052 1456/1458/5053 1486/1459/5054 +f 1456/1458/5055 1457/1460/5056 1458/1461/5057 1486/1459/5058 +f 1486/1459/5059 1458/1461/5060 1459/1450/5061 1484/1453/5062 +f 1484/1453/5063 1485/1455/5064 1486/1459/5065 +f 1468/1462/5066 1469/1463/5067 1461/1464/5068 1487/1465/5069 +f 1487/1465/5070 1461/1464/5071 1462/1466/5072 1488/1467/5073 +f 1462/1466/5074 1463/1468/5075 1464/1469/5076 1488/1467/5077 +f 1488/1467/5078 1464/1469/5079 1465/1470/5080 1489/1471/5081 +f 1465/1470/5082 1466/1472/5083 1467/1473/5084 1489/1471/5085 +f 1489/1471/5086 1467/1473/5087 1468/1462/5088 1487/1465/5089 +f 1487/1465/5090 1488/1467/5091 1489/1471/5092 +f 1460/1451/5093 1459/1450/5094 1464/1469/5095 1463/1468/5096 +f 1459/1450/5097 1458/1461/5098 1465/1470/5099 1464/1469/5100 +f 1458/1461/5101 1457/1460/5102 1466/1472/5103 1465/1470/5104 +f 1442/1427/5105 1445/1444/5106 1466/1472/5107 1457/1460/5108 +f 1442/1427/5109 1441/1426/5110 1446/1445/5111 1445/1444/5112 +f 1441/1426/5113 1440/1437/5114 1447/1446/5115 1446/1445/5116 +f 1440/1437/5117 1439/1436/5118 1448/1448/5119 1447/1446/5120 +f 1429/1474/5121 1428/1475/5122 1437/1433/5123 1436/1432/5124 +f 1428/1475/5125 1427/1476/5126 1438/1434/5127 1437/1433/5128 +f 1427/1476/5129 1426/1477/5130 1439/1436/5131 1438/1434/5132 +f 1439/1436/5133 1426/1477/5134 1433/1478/5135 1448/1448/5136 +f 1433/1478/5137 1432/1479/5138 1449/1449/5139 1448/1448/5140 +f 1432/1479/5141 1431/1480/5142 1450/1438/5143 1449/1449/5144 +f 1431/1480/5145 1430/1481/5146 1451/1439/5147 1450/1438/5148 +f 1477/1482/5149 1476/1483/5150 1461/1464/5151 1469/1463/5152 +f 1476/1483/5153 1475/1484/5154 1462/1466/5155 1461/1464/5156 +f 1475/1484/5157 1474/1485/5158 1463/1468/5159 1462/1466/5160 +f 1474/1485/5161 1473/1486/5162 1460/1451/5163 1463/1468/5164 +f 1473/1486/5165 1472/1487/5166 1452/1452/5167 1460/1451/5168 +f 1472/1487/5169 1471/1488/5170 1453/1454/5171 1452/1452/5172 +f 1471/1488/5173 1470/1489/5174 1454/1456/5175 1453/1454/5176 +f 1470/1489/5177 1429/1474/5178 1436/1432/5179 1454/1456/5180 +f 1451/1439/5181 1430/1481/5182 1477/1482/5183 1469/1463/5184 +f 1443/1440/5185 1451/1439/5186 1469/1463/5187 1468/1462/5188 +f 1444/1442/5189 1443/1440/5190 1468/1462/5191 1467/1473/5192 +f 1445/1444/5193 1444/1442/5194 1467/1473/5195 1466/1472/5196 +f 1434/1428/5197 1442/1427/5198 1457/1460/5199 1456/1458/5200 +f 1435/1430/5201 1434/1428/5202 1456/1458/5203 1455/1457/5204 +f 1436/1432/5205 1435/1430/5206 1455/1457/5207 1454/1456/5208 +f 1500/1490/5209 1499/1491/5210 1493/1492/5211 1492/1493/5212 +f 1501/1494/5213 1500/1490/5214 1492/1493/5215 1491/1495/5216 +f 1490/1496/5217 1502/1497/5218 1501/1494/5219 1491/1495/5220 +f 1496/1498/5221 1495/1499/5222 1533/1500/5223 1541/1501/5224 +f 1495/1499/5225 1494/1502/5226 1534/1503/5227 1533/1500/5228 +f 1494/1502/5229 1502/1497/5230 1535/1504/5231 1534/1503/5232 +f 1499/1491/5233 1498/1505/5234 1513/1506/5235 1512/1507/5236 +f 1498/1505/5237 1497/1508/5238 1514/1509/5239 1513/1506/5240 +f 1497/1508/5241 1496/1498/5242 1515/1510/5243 1514/1509/5244 +f 1510/1511/5245 1509/1512/5246 1506/1513/5247 1505/1514/5248 +f 1511/1515/5249 1510/1511/5250 1505/1514/5251 1504/1516/5252 +f 1512/1507/5253 1511/1515/5254 1504/1516/5255 1503/1517/5256 +f 1509/1512/5257 1508/1518/5258 1526/1519/5259 1525/1520/5260 +f 1508/1518/5261 1507/1521/5262 1527/1522/5263 1526/1519/5264 +f 1507/1521/5265 1515/1510/5266 1528/1523/5267 1527/1522/5268 +f 1523/1524/5269 1522/1525/5270 1519/1526/5271 1518/1527/5272 +f 1524/1528/5273 1523/1524/5274 1518/1527/5275 1517/1529/5276 +f 1525/1520/5277 1524/1528/5278 1517/1529/5279 1516/1530/5280 +f 1539/1531/5281 1538/1532/5282 1522/1525/5283 1521/1533/5284 +f 1540/1534/5285 1539/1531/5286 1521/1533/5287 1520/1535/5288 +f 1541/1501/5289 1540/1534/5290 1520/1535/5291 1528/1523/5292 +f 1536/1536/5293 1535/1504/5294 1532/1537/5295 1531/1538/5296 +f 1537/1539/5297 1536/1536/5298 1531/1538/5299 1530/1540/5300 +f 1538/1532/5301 1537/1539/5302 1530/1540/5303 1529/1541/5304 +f 1503/1517/5305 1493/1492/5306 1499/1491/5307 1512/1507/5308 +f 1538/1532/5309 1529/1541/5310 1519/1526/5311 1522/1525/5312 +f 1496/1498/5313 1541/1501/5314 1528/1523/5315 1515/1510/5316 +f 1501/1494/5317 1502/1497/5318 1494/1502/5319 1542/1542/5320 +f 1542/1542/5321 1494/1502/5322 1495/1499/5323 1543/1543/5324 +f 1495/1499/5325 1496/1498/5326 1497/1508/5327 1543/1543/5328 +f 1543/1543/5329 1497/1508/5330 1498/1505/5331 1544/1544/5332 +f 1498/1505/5333 1499/1491/5334 1500/1490/5335 1544/1544/5336 +f 1544/1544/5337 1500/1490/5338 1501/1494/5339 1542/1542/5340 +f 1542/1542/5341 1543/1543/5342 1544/1544/5343 +f 1514/1509/5344 1515/1510/5345 1507/1521/5346 1545/1545/5347 +f 1545/1545/5348 1507/1521/5349 1508/1518/5350 1546/1546/5351 +f 1508/1518/5352 1509/1512/5353 1510/1511/5354 1546/1546/5355 +f 1546/1546/5356 1510/1511/5357 1511/1515/5358 1547/1547/5359 +f 1511/1515/5360 1512/1507/5361 1513/1506/5362 1547/1547/5363 +f 1547/1547/5364 1513/1506/5365 1514/1509/5366 1545/1545/5367 +f 1545/1545/5368 1546/1546/5369 1547/1547/5370 +f 1527/1522/5371 1528/1523/5372 1520/1535/5373 1548/1548/5374 +f 1548/1548/5375 1520/1535/5376 1521/1533/5377 1549/1549/5378 +f 1521/1533/5379 1522/1525/5380 1523/1524/5381 1549/1549/5382 +f 1549/1549/5383 1523/1524/5384 1524/1528/5385 1550/1550/5386 +f 1524/1528/5387 1525/1520/5388 1526/1519/5389 1550/1550/5390 +f 1550/1550/5391 1526/1519/5392 1527/1522/5393 1548/1548/5394 +f 1548/1548/5395 1549/1549/5396 1550/1550/5397 +f 1540/1534/5398 1541/1501/5399 1533/1500/5400 1551/1551/5401 +f 1551/1551/5402 1533/1500/5403 1534/1503/5404 1552/1552/5405 +f 1534/1503/5406 1535/1504/5407 1536/1536/5408 1552/1552/5409 +f 1552/1552/5410 1536/1536/5411 1537/1539/5412 1553/1553/5413 +f 1537/1539/5414 1538/1532/5415 1539/1531/5416 1553/1553/5417 +f 1553/1553/5418 1539/1531/5419 1540/1534/5420 1551/1551/5421 +f 1551/1551/5422 1552/1552/5423 1553/1553/5424 +f 1509/1512/5425 1525/1520/5426 1516/1530/5427 1506/1513/5428 +f 1502/1497/5429 1490/1496/5430 1532/1537/5431 1535/1504/5432 +f 1374/1369/5433 1362/1368/5434 1404/1409/5435 1407/1376/5436 +f 1564/1554/5437 1563/1555/5438 1557/1556/5439 1556/1557/5440 +f 1565/1558/5441 1564/1554/5442 1556/1557/5443 1555/1559/5444 +f 1554/1560/5445 1566/1561/5446 1565/1558/5447 1555/1559/5448 +f 1560/1562/5449 1559/1563/5450 1593/1564/5451 1601/1565/5452 +f 1559/1563/5453 1558/1566/5454 1594/1567/5455 1593/1564/5456 +f 1558/1566/5457 1566/1561/5458 1595/1568/5459 1594/1567/5460 +f 1563/1555/5461 1562/1569/5462 1577/1570/5463 1576/1571/5464 +f 1562/1569/5465 1561/1572/5466 1578/1573/5467 1577/1570/5468 +f 1561/1572/5469 1560/1562/5470 1579/1574/5471 1578/1573/5472 +f 1574/1575/5473 1573/1576/5474 1570/1577/5475 1569/1578/5476 +f 1575/1579/5477 1574/1575/5478 1569/1578/5479 1568/1580/5480 +f 1576/1571/5481 1575/1579/5482 1568/1580/5483 1567/1581/5484 +f 1573/1576/5485 1572/1582/5486 1590/1583/5487 1589/1584/5488 +f 1572/1582/5489 1571/1585/5490 1591/1586/5491 1590/1583/5492 +f 1571/1585/5493 1579/1574/5494 1592/1587/5495 1591/1586/5496 +f 1587/1588/5497 1586/1589/5498 1583/1590/5499 1582/1591/5500 +f 1588/1592/5501 1587/1588/5502 1582/1591/5503 1581/1593/5504 +f 1589/1584/5505 1588/1592/5506 1581/1593/5507 1580/1594/5508 +f 1599/1595/5509 1598/1596/5510 1586/1589/5511 1585/1597/5512 +f 1600/1598/5513 1599/1595/5514 1585/1597/5515 1584/1599/5516 +f 1601/1565/5517 1600/1598/5518 1584/1599/5519 1592/1587/5520 +f 1567/1581/5521 1557/1556/5522 1563/1555/5523 1576/1571/5524 +f 1560/1562/5525 1601/1565/5526 1592/1587/5527 1579/1574/5528 +f 1565/1558/5529 1566/1561/5530 1558/1566/5531 1602/1600/5532 +f 1602/1600/5533 1558/1566/5534 1559/1563/5535 1603/1601/5536 +f 1559/1563/5537 1560/1562/5538 1561/1572/5539 1603/1601/5540 +f 1603/1601/5541 1561/1572/5542 1562/1569/5543 1604/1602/5544 +f 1562/1569/5545 1563/1555/5546 1564/1554/5547 1604/1602/5548 +f 1604/1602/5549 1564/1554/5550 1565/1558/5551 1602/1600/5552 +f 1602/1600/5553 1603/1601/5554 1604/1602/5555 +f 1578/1573/5556 1579/1574/5557 1571/1585/5558 1605/1603/5559 +f 1605/1603/5560 1571/1585/5561 1572/1582/5562 1606/1604/5563 +f 1572/1582/5564 1573/1576/5565 1574/1575/5566 1606/1604/5567 +f 1606/1604/5568 1574/1575/5569 1575/1579/5570 1607/1605/5571 +f 1575/1579/5572 1576/1571/5573 1577/1570/5574 1607/1605/5575 +f 1607/1605/5576 1577/1570/5577 1578/1573/5578 1605/1603/5579 +f 1605/1603/5580 1606/1604/5581 1607/1605/5582 +f 1591/1586/5583 1592/1587/5584 1584/1599/5585 1608/1606/5586 +f 1608/1606/5587 1584/1599/5588 1585/1597/5589 1609/1607/5590 +f 1585/1597/5591 1586/1589/5592 1587/1588/5593 1609/1607/5594 +f 1609/1607/5595 1587/1588/5596 1588/1592/5597 1610/1608/5598 +f 1588/1592/5599 1589/1584/5600 1590/1583/5601 1610/1608/5602 +f 1610/1608/5603 1590/1583/5604 1591/1586/5605 1608/1606/5606 +f 1608/1606/5607 1609/1607/5608 1610/1608/5609 +f 1600/1598/5610 1601/1565/5611 1593/1564/5612 1611/1609/5613 +f 1611/1609/5614 1593/1564/5615 1594/1567/5616 1612/1610/5617 +f 1594/1567/5618 1595/1568/5619 1596/1611/5620 1612/1610/5621 +f 1612/1610/5622 1596/1611/5623 1597/1612/5624 1613/1613/5625 +f 1597/1612/5626 1598/1596/5627 1599/1595/5628 1613/1613/5629 +f 1613/1613/5630 1599/1595/5631 1600/1598/5632 1611/1609/5633 +f 1611/1609/5634 1612/1610/5635 1613/1613/5636 +f 1573/1576/5637 1589/1584/5638 1580/1594/5639 1570/1577/5640 +f 1622/1614/5641 1616/1615/5642 1301/1309/5643 1307/1308/5644 +f 1623/1616/5645 1615/1617/5646 1616/1615/5647 1622/1614/5648 +f 1614/1618/5649 1615/1617/5650 1623/1616/5651 1624/1619/5652 +f 1307/1308/5653 1320/1316/5654 1633/1620/5655 1621/1621/5656 +f 1621/1621/5657 1633/1620/5658 1634/1622/5659 1620/1623/5660 +f 1620/1623/5661 1634/1622/5662 1635/1624/5663 1619/1625/5664 +f 1631/1626/5665 1626/1627/5666 1627/1628/5667 1630/1629/5668 +f 1632/1630/5669 1625/1631/5670 1626/1627/5671 1631/1626/5672 +f 1320/1316/5673 1311/1323/5674 1625/1631/5675 1632/1630/5676 +f 1623/1616/5677 1636/1632/5678 1617/1633/5679 1624/1619/5680 +f 1636/1632/5681 1637/1634/5682 1618/1635/5683 1617/1633/5684 +f 1618/1635/5685 1637/1634/5686 1620/1623/5687 1619/1625/5688 +f 1637/1634/5689 1638/1636/5690 1621/1621/5691 1620/1623/5692 +f 1621/1621/5693 1638/1636/5694 1622/1614/5695 1307/1308/5696 +f 1638/1636/5697 1636/1632/5698 1623/1616/5699 1622/1614/5700 +f 1636/1632/5701 1638/1636/5702 1637/1634/5703 +f 1634/1622/5704 1639/1637/5705 1628/1638/5706 1635/1624/5707 +f 1639/1637/5708 1640/1639/5709 1629/1640/5710 1628/1638/5711 +f 1629/1640/5712 1640/1639/5713 1631/1626/5714 1630/1629/5715 +f 1640/1639/5716 1641/1641/5717 1632/1630/5718 1631/1626/5719 +f 1632/1630/5720 1641/1641/5721 1633/1620/5722 1320/1316/5723 +f 1641/1641/5724 1639/1637/5725 1634/1622/5726 1633/1620/5727 +f 1639/1637/5728 1641/1641/5729 1640/1639/5730 +f 1349/1346/5731 1630/1629/5732 1627/1628/5733 1346/1347/5734 +f 1348/1359/5735 1629/1640/5736 1630/1629/5737 1349/1346/5738 +f 1347/1357/5739 1628/1638/5740 1629/1640/5741 1348/1359/5742 +f 1355/1344/5743 1635/1624/5744 1628/1638/5745 1347/1357/5746 +f 1336/1343/5747 1619/1625/5748 1635/1624/5749 1355/1344/5750 +f 1335/1354/5751 1618/1635/5752 1619/1625/5753 1336/1343/5754 +f 1334/1352/5755 1617/1633/5756 1618/1635/5757 1335/1354/5758 +f 1342/1337/5759 1624/1619/5760 1617/1633/5761 1334/1352/5762 +f 1330/1336/5763 1614/1618/5764 1624/1619/5765 1342/1337/5766 +f 1652/1642/5767 1644/1643/5768 1645/1644/5769 1651/1645/5770 +f 1653/1646/5771 1643/1647/5772 1644/1643/5773 1652/1642/5774 +f 1642/1648/5775 1643/1647/5776 1653/1646/5777 1654/1649/5778 +f 1651/1645/5779 1662/1650/5780 1663/1651/5781 1650/1652/5782 +f 1650/1652/5783 1663/1651/5784 1664/1653/5785 1649/1654/5786 +f 1649/1654/5787 1664/1653/5788 1665/1655/5789 1648/1656/5790 +f 1660/1657/5791 1657/1658/5792 1266/1272/5793 1278/1273/5794 +f 1661/1659/5795 1656/1660/5796 1657/1658/5797 1660/1657/5798 +f 1662/1650/5799 1655/1661/5800 1656/1660/5801 1661/1659/5802 +f 1655/1661/5803 1662/1650/5804 1651/1645/5805 1645/1644/5806 +f 1653/1646/5807 1666/1662/5808 1646/1663/5809 1654/1649/5810 +f 1666/1662/5811 1667/1664/5812 1647/1665/5813 1646/1663/5814 +f 1647/1665/5815 1667/1664/5816 1649/1654/5817 1648/1656/5818 +f 1667/1664/5819 1668/1666/5820 1650/1652/5821 1649/1654/5822 +f 1650/1652/5823 1668/1666/5824 1652/1642/5825 1651/1645/5826 +f 1668/1666/5827 1666/1662/5828 1653/1646/5829 1652/1642/5830 +f 1666/1662/5831 1668/1666/5832 1667/1664/5833 +f 1664/1653/5834 1669/1667/5835 1658/1668/5836 1665/1655/5837 +f 1669/1667/5838 1670/1669/5839 1659/1670/5840 1658/1668/5841 +f 1659/1670/5842 1670/1669/5843 1660/1657/5844 1278/1273/5845 +f 1670/1669/5846 1671/1671/5847 1661/1659/5848 1660/1657/5849 +f 1661/1659/5850 1671/1671/5851 1663/1651/5852 1662/1650/5853 +f 1671/1671/5854 1669/1667/5855 1664/1653/5856 1663/1651/5857 +f 1669/1667/5858 1671/1671/5859 1670/1669/5860 +f 1659/1670/5861 1278/1273/5862 1310/1306/5863 1689/1672/5864 +f 1658/1668/5865 1659/1670/5866 1689/1672/5867 1688/1673/5868 +f 1665/1655/5869 1658/1668/5870 1688/1673/5871 1695/1674/5872 +f 1648/1656/5873 1665/1655/5874 1695/1674/5875 1678/1675/5876 +f 1647/1665/5877 1648/1656/5878 1678/1675/5879 1677/1676/5880 +f 1646/1663/5881 1647/1665/5882 1677/1676/5883 1676/1677/5884 +f 1654/1649/5885 1646/1663/5886 1676/1677/5887 1684/1678/5888 +f 1672/1679/5889 1642/1648/5890 1654/1649/5891 1684/1678/5892 +f 1682/1680/5893 1681/1681/5894 1675/1682/5895 1674/1683/5896 +f 1683/1684/5897 1682/1680/5898 1674/1683/5899 1673/1685/5900 +f 1672/1679/5901 1684/1678/5902 1683/1684/5903 1673/1685/5904 +f 1681/1681/5905 1680/1686/5906 1693/1687/5907 1692/1688/5908 +f 1680/1686/5909 1679/1689/5910 1694/1690/5911 1693/1687/5912 +f 1679/1689/5913 1678/1675/5914 1695/1674/5915 1694/1690/5916 +f 1690/1691/5917 1310/1306/5918 1298/1313/5919 1687/1692/5920 +f 1691/1693/5921 1690/1691/5922 1687/1692/5923 1686/1694/5924 +f 1692/1688/5925 1691/1693/5926 1686/1694/5927 1685/1695/5928 +f 1685/1695/5929 1675/1682/5930 1681/1681/5931 1692/1688/5932 +f 1683/1684/5933 1684/1678/5934 1676/1677/5935 1696/1696/5936 +f 1696/1696/5937 1676/1677/5938 1677/1676/5939 1697/1697/5940 +f 1677/1676/5941 1678/1675/5942 1679/1689/5943 1697/1697/5944 +f 1697/1697/5945 1679/1689/5946 1680/1686/5947 1698/1698/5948 +f 1680/1686/5949 1681/1681/5950 1682/1680/5951 1698/1698/5952 +f 1698/1698/5953 1682/1680/5954 1683/1684/5955 1696/1696/5956 +f 1696/1696/5957 1697/1697/5958 1698/1698/5959 +f 1694/1690/5960 1695/1674/5961 1688/1673/5962 1699/1699/5963 +f 1699/1699/5964 1688/1673/5965 1689/1672/5966 1700/1700/5967 +f 1689/1672/5968 1310/1306/5969 1690/1691/5970 1700/1700/5971 +f 1700/1700/5972 1690/1691/5973 1691/1693/5974 1701/1701/5975 +f 1691/1693/5976 1692/1688/5977 1693/1687/5978 1701/1701/5979 +f 1701/1701/5980 1693/1687/5981 1694/1690/5982 1699/1699/5983 +f 1699/1699/5984 1700/1700/5985 1701/1701/5986 +f 1721/1702/5987 1722/1703/5988 1714/1704/5989 1732/1705/5990 +f 1732/1705/5991 1714/1704/5992 1715/1706/5993 1733/1707/5994 +f 1715/1706/5995 1716/1708/5996 1717/1709/5997 1733/1707/5998 +f 1733/1707/5999 1717/1709/6000 1718/1710/6001 1734/1711/6002 +f 1718/1710/6003 1719/1712/6004 1720/1713/6005 1734/1711/6006 +f 1734/1711/6007 1720/1713/6008 1721/1702/6009 1732/1705/6010 +f 1732/1705/6011 1733/1707/6012 1734/1711/6013 +f 1730/1714/6014 1731/1715/6015 1723/1716/6016 1735/1717/6017 +f 1735/1717/6018 1723/1716/6019 1724/1718/6020 1736/1719/6021 +f 1724/1718/6022 1725/1720/6023 1726/1721/6024 1736/1719/6025 +f 1736/1719/6026 1726/1721/6027 1727/1722/6028 1737/1723/6029 +f 1727/1722/6030 1728/1724/6031 1729/1725/6032 1737/1723/6033 +f 1737/1723/6034 1729/1725/6035 1730/1714/6036 1735/1717/6037 +f 1735/1717/6038 1736/1719/6039 1737/1723/6040 +f 1713/1726/6041 1712/1727/6042 1717/1709/6043 1716/1708/6044 +f 1712/1727/6045 1711/1728/6046 1718/1710/6047 1717/1709/6048 +f 1711/1728/6049 1710/1729/6050 1719/1712/6051 1718/1710/6052 +f 1731/1715/6053 1730/1714/6054 1714/1704/6055 1722/1703/6056 +f 1730/1714/6057 1729/1725/6058 1715/1706/6059 1714/1704/6060 +f 1729/1725/6061 1728/1724/6062 1716/1708/6063 1715/1706/6064 +f 1725/1720/6065 1724/1718/6066 1702/1730/6067 1705/1731/6068 +f 1724/1718/6069 1723/1716/6070 1703/1732/6071 1702/1730/6072 +f 1723/1716/6073 1731/1715/6074 1704/1733/6075 1703/1732/6076 +f 1731/1715/6077 1722/1703/6078 1709/1734/6079 1704/1733/6080 +f 1722/1703/6081 1721/1702/6082 1706/1735/6083 1709/1734/6084 +f 1721/1702/6085 1720/1713/6086 1707/1736/6087 1706/1735/6088 +f 1720/1713/6089 1719/1712/6090 1708/1737/6091 1707/1736/6092 +f 1757/1738/6093 1758/1739/6094 1750/1740/6095 1770/1741/6096 +f 1770/1741/6097 1750/1740/6098 1751/1742/6099 1771/1743/6100 +f 1751/1742/6101 1752/1744/6102 1753/1745/6103 1771/1743/6104 +f 1771/1743/6105 1753/1745/6106 1754/1746/6107 1772/1747/6108 +f 1754/1746/6109 1755/1748/6110 1756/1749/6111 1772/1747/6112 +f 1772/1747/6113 1756/1749/6114 1757/1738/6115 1770/1741/6116 +f 1770/1741/6117 1771/1743/6118 1772/1747/6119 +f 1768/1750/6120 1769/1751/6121 1762/1752/6122 1773/1753/6123 +f 1773/1753/6124 1762/1752/6125 1763/1754/6126 1774/1755/6127 +f 1763/1754/6128 1719/1712/6129 1764/1756/6130 1774/1755/6131 +f 1774/1755/6132 1764/1756/6133 1765/1757/6134 1775/1758/6135 +f 1765/1757/6136 1766/1759/6137 1767/1760/6138 1775/1758/6139 +f 1775/1758/6140 1767/1760/6141 1768/1750/6142 1773/1753/6143 +f 1773/1753/6144 1774/1755/6145 1775/1758/6146 +f 1710/1729/6147 1761/1761/6148 1764/1756/6149 1719/1712/6150 +f 1761/1761/6151 1760/1762/6152 1765/1757/6153 1764/1756/6154 +f 1760/1762/6155 1759/1763/6156 1766/1759/6157 1765/1757/6158 +f 1749/1764/6159 1748/1765/6160 1753/1745/6161 1752/1744/6162 +f 1748/1765/6163 1747/1766/6164 1754/1746/6165 1753/1745/6166 +f 1747/1766/6167 1746/1767/6168 1755/1748/6169 1754/1746/6170 +f 1755/1748/6171 1746/1767/6172 1741/1768/6173 1744/1769/6174 +f 1750/1740/6175 1758/1739/6176 1769/1751/6177 1768/1750/6178 +f 1751/1742/6179 1750/1740/6180 1768/1750/6181 1767/1760/6182 +f 1752/1744/6183 1751/1742/6184 1767/1760/6185 1766/1759/6186 +f 1759/1763/6187 1749/1764/6188 1752/1744/6189 1766/1759/6190 +f 1719/1712/6191 1763/1754/6192 1738/1770/6193 1708/1737/6194 +f 1763/1754/6195 1762/1752/6196 1739/1771/6197 1738/1770/6198 +f 1762/1752/6199 1769/1751/6200 1740/1772/6201 1739/1771/6202 +f 1769/1751/6203 1758/1739/6204 1745/1773/6205 1740/1772/6206 +f 1758/1739/6207 1757/1738/6208 1742/1774/6209 1745/1773/6210 +f 1757/1738/6211 1756/1749/6212 1743/1775/6213 1742/1774/6214 +f 1756/1749/6215 1755/1748/6216 1744/1769/6217 1743/1775/6218 +f 1783/1776/6219 1784/1777/6220 1776/1778/6221 1816/1779/6222 +f 1816/1779/6223 1776/1778/6224 1777/1780/6225 1817/1781/6226 +f 1777/1780/6227 1778/1782/6228 1779/1783/6229 1817/1781/6230 +f 1817/1781/6231 1779/1783/6232 1780/1784/6233 1818/1785/6234 +f 1780/1784/6235 1781/1786/6236 1782/1787/6237 1818/1785/6238 +f 1818/1785/6239 1782/1787/6240 1783/1776/6241 1816/1779/6242 +f 1816/1779/6243 1817/1781/6244 1818/1785/6245 +f 1792/1788/6246 1793/1789/6247 1785/1790/6248 1819/1791/6249 +f 1819/1791/6250 1785/1790/6251 1786/1792/6252 1820/1793/6253 +f 1786/1792/6254 1787/1794/6255 1788/1795/6256 1820/1793/6257 +f 1820/1793/6258 1788/1795/6259 1789/1796/6260 1821/1797/6261 +f 1789/1796/6262 1790/1798/6263 1791/1799/6264 1821/1797/6265 +f 1821/1797/6266 1791/1799/6267 1792/1788/6268 1819/1791/6269 +f 1819/1791/6270 1820/1793/6271 1821/1797/6272 +f 1805/1800/6273 1806/1801/6274 1798/1802/6275 1822/1803/6276 +f 1822/1803/6277 1798/1802/6278 1799/1804/6279 1823/1805/6280 +f 1799/1804/6281 1800/1806/6282 1801/1807/6283 1823/1805/6284 +f 1823/1805/6285 1801/1807/6286 1802/1808/6287 1824/1809/6288 +f 1802/1808/6289 1803/1810/6290 1804/1811/6291 1824/1809/6292 +f 1824/1809/6293 1804/1811/6294 1805/1800/6295 1822/1803/6296 +f 1822/1803/6297 1823/1805/6298 1824/1809/6299 +f 1814/1812/6300 1815/1813/6301 1807/1814/6302 1825/1815/6303 +f 1825/1815/6304 1807/1814/6305 1808/1816/6306 1826/1817/6307 +f 1808/1816/6308 1809/1818/6309 1810/1819/6310 1826/1817/6311 +f 1826/1817/6312 1810/1819/6313 1811/1820/6314 1827/1821/6315 +f 1811/1820/6316 1812/1822/6317 1813/1823/6318 1827/1821/6319 +f 1827/1821/6320 1813/1823/6321 1814/1812/6322 1825/1815/6323 +f 1825/1815/6324 1826/1817/6325 1827/1821/6326 +f 1800/1806/6327 1797/1824/6328 1796/1825/6329 1801/1807/6330 +f 1796/1825/6331 1795/1826/6332 1802/1808/6333 1801/1807/6334 +f 1795/1826/6335 1794/1827/6336 1803/1810/6337 1802/1808/6338 +f 1781/1786/6339 1780/1784/6340 1791/1799/6341 1790/1798/6342 +f 1780/1784/6343 1779/1783/6344 1792/1788/6345 1791/1799/6346 +f 1779/1783/6347 1778/1782/6348 1793/1789/6349 1792/1788/6350 +f 1815/1813/6351 1814/1812/6352 1798/1802/6353 1806/1801/6354 +f 1814/1812/6355 1813/1823/6356 1799/1804/6357 1798/1802/6358 +f 1813/1823/6359 1812/1822/6360 1800/1806/6361 1799/1804/6362 +f 1784/1777/6363 1809/1818/6364 1808/1816/6365 1776/1778/6366 +f 1808/1816/6367 1807/1814/6368 1777/1780/6369 1776/1778/6370 +f 1807/1814/6371 1815/1813/6372 1778/1782/6373 1777/1780/6374 +f 1778/1782/6375 1815/1813/6376 1806/1801/6377 1793/1789/6378 +f 1806/1801/6379 1805/1800/6380 1785/1790/6381 1793/1789/6382 +f 1805/1800/6383 1804/1811/6384 1786/1792/6385 1785/1790/6386 +f 1804/1811/6387 1803/1810/6388 1787/1794/6389 1786/1792/6390 +f 1834/1828/6391 1787/1794/6392 1828/1829/6393 1870/1830/6394 +f 1870/1830/6395 1828/1829/6396 1829/1831/6397 1871/1832/6398 +f 1829/1831/6399 1830/1833/6400 1831/1834/6401 1871/1832/6402 +f 1871/1832/6403 1831/1834/6404 1832/1835/6405 1872/1836/6406 +f 1832/1835/6407 1728/1724/6408 1833/1837/6409 1872/1836/6410 +f 1872/1836/6411 1833/1837/6412 1834/1828/6413 1870/1830/6414 +f 1870/1830/6415 1871/1832/6416 1872/1836/6417 +f 1844/1838/6418 1845/1839/6419 1838/1840/6420 1873/1841/6421 +f 1873/1841/6422 1838/1840/6423 1839/1842/6424 1874/1843/6425 +f 1839/1842/6426 1840/1844/6427 1841/1845/6428 1874/1843/6429 +f 1874/1843/6430 1841/1845/6431 1842/1846/6432 1875/1847/6433 +f 1842/1846/6434 1716/1708/6435 1843/1848/6436 1875/1847/6437 +f 1875/1847/6438 1843/1848/6439 1844/1838/6440 1873/1841/6441 +f 1873/1841/6442 1874/1843/6443 1875/1847/6444 +f 1857/1849/6445 1858/1850/6446 1850/1851/6447 1876/1852/6448 +f 1876/1852/6449 1850/1851/6450 1851/1853/6451 1877/1854/6452 +f 1851/1853/6453 1852/1855/6454 1853/1856/6455 1877/1854/6456 +f 1877/1854/6457 1853/1856/6458 1854/1857/6459 1878/1858/6460 +f 1854/1857/6461 1855/1859/6462 1856/1860/6463 1878/1858/6464 +f 1878/1858/6465 1856/1860/6466 1857/1849/6467 1876/1852/6468 +f 1876/1852/6469 1877/1854/6470 1878/1858/6471 +f 1868/1861/6472 1869/1862/6473 1862/1863/6474 1879/1864/6475 +f 1879/1864/6476 1862/1863/6477 1863/1865/6478 1880/1866/6479 +f 1863/1865/6480 1803/1810/6481 1864/1867/6482 1880/1866/6483 +f 1880/1866/6484 1864/1867/6485 1865/1868/6486 1881/1869/6487 +f 1865/1868/6488 1866/1870/6489 1867/1871/6490 1881/1869/6491 +f 1881/1869/6492 1867/1871/6493 1868/1861/6494 1879/1864/6495 +f 1879/1864/6496 1880/1866/6497 1881/1869/6498 +f 1794/1827/6499 1861/1872/6500 1864/1867/6501 1803/1810/6502 +f 1861/1872/6503 1860/1873/6504 1865/1868/6505 1864/1867/6506 +f 1860/1873/6507 1859/1874/6508 1866/1870/6509 1865/1868/6510 +f 1849/1875/6511 1848/1876/6512 1853/1856/6513 1852/1855/6514 +f 1848/1876/6515 1847/1877/6516 1854/1857/6517 1853/1856/6518 +f 1847/1877/6519 1846/1878/6520 1855/1859/6521 1854/1857/6522 +f 1846/1878/6523 1837/1879/6524 1840/1844/6525 1855/1859/6526 +f 1837/1879/6527 1836/1880/6528 1841/1845/6529 1840/1844/6530 +f 1836/1880/6531 1835/1881/6532 1842/1846/6533 1841/1845/6534 +f 1835/1881/6535 1713/1726/6536 1716/1708/6537 1842/1846/6538 +f 1728/1724/6539 1832/1835/6540 1843/1848/6541 1716/1708/6542 +f 1832/1835/6543 1831/1834/6544 1844/1838/6545 1843/1848/6546 +f 1831/1834/6547 1830/1833/6548 1845/1839/6549 1844/1838/6550 +f 1869/1862/6551 1868/1861/6552 1850/1851/6553 1858/1850/6554 +f 1868/1861/6555 1867/1871/6556 1851/1853/6557 1850/1851/6558 +f 1867/1871/6559 1866/1870/6560 1852/1855/6561 1851/1853/6562 +f 1859/1874/6563 1849/1875/6564 1852/1855/6565 1866/1870/6566 +f 1803/1810/6567 1863/1865/6568 1828/1829/6569 1787/1794/6570 +f 1863/1865/6571 1862/1863/6572 1829/1831/6573 1828/1829/6574 +f 1862/1863/6575 1869/1862/6576 1830/1833/6577 1829/1831/6578 +f 1845/1839/6579 1830/1833/6580 1869/1862/6581 1858/1850/6582 +f 1858/1850/6583 1857/1849/6584 1838/1840/6585 1845/1839/6586 +f 1857/1849/6587 1856/1860/6588 1839/1842/6589 1838/1840/6590 +f 1856/1860/6591 1855/1859/6592 1840/1844/6593 1839/1842/6594 +f 1888/1882/6595 1889/1883/6596 1882/1884/6597 1928/1885/6598 +f 1928/1885/6599 1882/1884/6600 1883/1886/6601 1929/1887/6602 +f 1883/1886/6603 1884/1888/6604 1885/1889/6605 1929/1887/6606 +f 1929/1887/6607 1885/1889/6608 1886/1890/6609 1930/1891/6610 +f 1886/1890/6611 1812/1822/6612 1887/1892/6613 1930/1891/6614 +f 1930/1891/6615 1887/1892/6616 1888/1882/6617 1928/1885/6618 +f 1928/1885/6619 1929/1887/6620 1930/1891/6621 +f 1900/1893/6622 1901/1894/6623 1894/1895/6624 1931/1896/6625 +f 1931/1896/6626 1894/1895/6627 1895/1897/6628 1932/1898/6629 +f 1895/1897/6630 1896/1899/6631 1897/1900/6632 1932/1898/6633 +f 1932/1898/6634 1897/1900/6635 1898/1901/6636 1933/1902/6637 +f 1898/1901/6638 1800/1806/6639 1899/1903/6640 1933/1902/6641 +f 1933/1902/6642 1899/1903/6643 1900/1893/6644 1931/1896/6645 +f 1931/1896/6646 1932/1898/6647 1933/1902/6648 +f 1913/1904/6649 1914/1905/6650 1906/1906/6651 1934/1907/6652 +f 1934/1907/6653 1906/1906/6654 1907/1908/6655 1935/1909/6656 +f 1907/1908/6657 1908/1910/6658 1909/1911/6659 1935/1909/6660 +f 1935/1909/6661 1909/1911/6662 1910/1912/6663 1936/1913/6664 +f 1910/1912/6665 1911/1914/6666 1912/1915/6667 1936/1913/6668 +f 1936/1913/6669 1912/1915/6670 1913/1904/6671 1934/1907/6672 +f 1934/1907/6673 1935/1909/6674 1936/1913/6675 +f 1926/1916/6676 1927/1917/6677 1919/1918/6678 1937/1919/6679 +f 1937/1919/6680 1919/1918/6681 1920/1920/6682 1938/1921/6683 +f 1920/1920/6684 1921/1922/6685 1922/1923/6686 1938/1921/6687 +f 1938/1921/6688 1922/1923/6689 1923/1924/6690 1939/1925/6691 +f 1923/1924/6692 1924/1926/6693 1925/1927/6694 1939/1925/6695 +f 1939/1925/6696 1925/1927/6697 1926/1916/6698 1937/1919/6699 +f 1937/1919/6700 1938/1921/6701 1939/1925/6702 +f 1921/1922/6703 1918/1928/6704 1917/1929/6705 1922/1923/6706 +f 1917/1929/6707 1916/1930/6708 1923/1924/6709 1922/1923/6710 +f 1916/1930/6711 1915/1931/6712 1924/1926/6713 1923/1924/6714 +f 1905/1932/6715 1904/1933/6716 1909/1911/6717 1908/1910/6718 +f 1904/1933/6719 1903/1934/6720 1910/1912/6721 1909/1911/6722 +f 1903/1934/6723 1902/1935/6724 1911/1914/6725 1910/1912/6726 +f 1902/1935/6727 1893/1936/6728 1896/1899/6729 1911/1914/6730 +f 1893/1936/6731 1892/1937/6732 1897/1900/6733 1896/1899/6734 +f 1892/1937/6735 1891/1938/6736 1898/1901/6737 1897/1900/6738 +f 1891/1938/6739 1890/1939/6740 1800/1806/6741 1898/1901/6742 +f 1812/1822/6743 1886/1890/6744 1899/1903/6745 1800/1806/6746 +f 1886/1890/6747 1885/1889/6748 1900/1893/6749 1899/1903/6750 +f 1885/1889/6751 1884/1888/6752 1901/1894/6753 1900/1893/6754 +f 1927/1917/6755 1926/1916/6756 1906/1906/6757 1914/1905/6758 +f 1926/1916/6759 1925/1927/6760 1907/1908/6761 1906/1906/6762 +f 1925/1927/6763 1924/1926/6764 1908/1910/6765 1907/1908/6766 +f 1924/1926/6767 1915/1931/6768 1905/1932/6769 1908/1910/6770 +f 1889/1883/6771 1921/1922/6772 1920/1920/6773 1882/1884/6774 +f 1920/1920/6775 1919/1918/6776 1883/1886/6777 1882/1884/6778 +f 1919/1918/6779 1927/1917/6780 1884/1888/6781 1883/1886/6782 +f 1884/1888/6783 1927/1917/6784 1914/1905/6785 1901/1894/6786 +f 1914/1905/6787 1913/1904/6788 1894/1895/6789 1901/1894/6790 +f 1913/1904/6791 1912/1915/6792 1895/1897/6793 1894/1895/6794 +f 1912/1915/6795 1911/1914/6796 1896/1899/6797 1895/1897/6798 +f 1952/1940/6799 1953/1941/6800 1947/1942/6801 1962/1943/6802 +f 1962/1943/6803 1947/1942/6804 1948/1944/6805 1963/1945/6806 +f 1948/1944/6807 1790/1798/6808 1949/1946/6809 1963/1945/6810 +f 1963/1945/6811 1949/1946/6812 1950/1947/6813 1964/1948/6814 +f 1950/1947/6815 1725/1720/6816 1951/1949/6817 1964/1948/6818 +f 1964/1948/6819 1951/1949/6820 1952/1940/6821 1962/1943/6822 +f 1962/1943/6823 1963/1945/6824 1964/1948/6825 +f 1960/1950/6826 1961/1951/6827 1954/1952/6828 1965/1953/6829 +f 1965/1953/6830 1954/1952/6831 1955/1954/6832 1966/1955/6833 +f 1955/1954/6834 1956/1956/6835 1957/1957/6836 1966/1955/6837 +f 1966/1955/6838 1957/1957/6839 1958/1958/6840 1967/1959/6841 +f 1958/1958/6842 1781/1786/6843 1959/1960/6844 1967/1959/6845 +f 1967/1959/6846 1959/1960/6847 1960/1950/6848 1965/1953/6849 +f 1965/1953/6850 1966/1955/6851 1967/1959/6852 +f 1961/1951/6853 1960/1950/6854 1947/1942/6855 1953/1941/6856 +f 1960/1950/6857 1959/1960/6858 1948/1944/6859 1947/1942/6860 +f 1959/1960/6861 1781/1786/6862 1790/1798/6863 1948/1944/6864 +f 2253/1961/6865 1956/1956/6866 1955/1954/6867 2252/1962/6868 +f 1955/1954/6869 1954/1952/6870 2251/1963/6871 2252/1962/6872 +f 1954/1952/6873 1961/1951/6874 2250/1964/6875 2251/1963/6876 +f 2254/1965/6877 2250/1964/6878 1961/1951/6879 1953/1941/6880 +f 1953/1941/6881 1952/1940/6882 1944/1966/6883 1946/1967/6884 +f 1952/1940/6885 1951/1949/6886 1945/1968/6887 1944/1966/6888 +f 1951/1949/6889 1725/1720/6890 1705/1731/6891 1945/1968/6892 +f 1726/1721/6893 1725/1720/6894 1968/1969/6895 +f 1727/1722/6896 1726/1721/6897 1968/1969/6898 +f 1728/1724/6899 1727/1722/6900 1968/1969/6901 +f 1788/1795/6902 1787/1794/6903 1968/1969/6904 +f 1789/1796/6905 1788/1795/6906 1968/1969/6907 +f 1790/1798/6908 1789/1796/6909 1968/1969/6910 +f 1833/1837/6911 1728/1724/6912 1968/1969/6913 +f 1834/1828/6914 1833/1837/6915 1968/1969/6916 +f 1787/1794/6917 1834/1828/6918 1968/1969/6919 +f 1949/1946/6920 1790/1798/6921 1968/1969/6922 +f 1950/1947/6923 1949/1946/6924 1968/1969/6925 +f 1725/1720/6926 1950/1947/6927 1968/1969/6928 +f 1984/1970/6929 1985/1971/6930 1977/1972/6931 2004/1973/6932 +f 2004/1973/6933 1977/1972/6934 1978/1974/6935 2005/1975/6936 +f 1978/1974/6937 1979/1976/6938 1980/1977/6939 2005/1975/6940 +f 2005/1975/6941 1980/1977/6942 1981/1978/6943 2006/1979/6944 +f 1981/1978/6945 1982/1980/6946 1983/1981/6947 2006/1979/6948 +f 2006/1979/6949 1983/1981/6950 1984/1970/6951 2004/1973/6952 +f 2004/1973/6953 2005/1975/6954 2006/1979/6955 +f 1997/1982/6956 1998/1983/6957 1990/1984/6958 2007/1985/6959 +f 2007/1985/6960 1990/1984/6961 1991/1986/6962 2008/1987/6963 +f 1991/1986/6964 1992/1988/6965 1993/1989/6966 2008/1987/6967 +f 2008/1987/6968 1993/1989/6969 1994/1990/6970 2009/1991/6971 +f 1994/1990/6972 1995/1992/6973 1996/1993/6974 2009/1991/6975 +f 2009/1991/6976 1996/1993/6977 1997/1982/6978 2007/1985/6979 +f 2007/1985/6980 2008/1987/6981 2009/1991/6982 +f 1989/1994/6983 1988/1995/6984 1993/1989/6985 1992/1988/6986 +f 1988/1995/6987 1987/1996/6988 1994/1990/6989 1993/1989/6990 +f 1987/1996/6991 1986/1997/6992 1995/1992/6993 1994/1990/6994 +f 1995/1992/6995 1986/1997/6996 1976/1998/6997 1979/1976/6998 +f 1976/1998/6999 1975/1999/7000 1980/1977/7001 1979/1976/7002 +f 1975/1999/7003 1974/2000/7004 1981/1978/7005 1980/1977/7006 +f 1974/2000/7007 1973/2001/7008 1982/1980/7009 1981/1978/7010 +f 1972/2002/7011 1971/2003/7012 1983/1981/7013 1982/1980/7014 +f 1971/2003/7015 1970/2004/7016 1984/1970/7017 1983/1981/7018 +f 1970/2004/7019 1969/2005/7020 1985/1971/7021 1984/1970/7022 +f 2003/2006/7023 2002/2007/7024 1990/1984/7025 1998/1983/7026 +f 2002/2007/7027 2001/2008/7028 1991/1986/7029 1990/1984/7030 +f 2001/2008/7031 2000/2009/7032 1992/1988/7033 1991/1986/7034 +f 2000/2009/7035 1999/2010/7036 1989/1994/7037 1992/1988/7038 +f 1985/1971/7039 1969/2005/7040 2003/2006/7041 1998/1983/7042 +f 1977/1972/7043 1985/1971/7044 1998/1983/7045 1997/1982/7046 +f 1978/1974/7047 1977/1972/7048 1997/1982/7049 1996/1993/7050 +f 1979/1976/7051 1978/1974/7052 1996/1993/7053 1995/1992/7054 +f 2017/2011/7055 2018/2012/7056 2010/2013/7057 2058/2014/7058 +f 2058/2014/7059 2010/2013/7060 2011/2015/7061 2059/2016/7062 +f 2011/2015/7063 2012/2017/7064 2013/2018/7065 2059/2016/7066 +f 2059/2016/7067 2013/2018/7068 2014/2019/7069 2060/2020/7070 +f 2014/2019/7071 2015/2021/7072 2016/2022/7073 2060/2020/7074 +f 2060/2020/7075 2016/2022/7076 2017/2011/7077 2058/2014/7078 +f 2058/2014/7079 2059/2016/7080 2060/2020/7081 +f 2026/2023/7082 2027/2024/7083 2019/2025/7084 2061/2026/7085 +f 2061/2026/7086 2019/2025/7087 2020/2027/7088 2062/2028/7089 +f 2020/2027/7090 2021/2029/7091 2022/2030/7092 2062/2028/7093 +f 2062/2028/7094 2022/2030/7095 2023/2031/7096 2063/2032/7097 +f 2023/2031/7098 2024/2033/7099 2025/2034/7100 2063/2032/7101 +f 2063/2032/7102 2025/2034/7103 2026/2023/7104 2061/2026/7105 +f 2061/2026/7106 2062/2028/7107 2063/2032/7108 +f 2039/2035/7109 2040/2036/7110 2032/2037/7111 2064/2038/7112 +f 2064/2038/7113 2032/2037/7114 2033/2039/7115 2065/2040/7116 +f 2033/2039/7117 2034/2041/7118 2035/2042/7119 2065/2040/7120 +f 2065/2040/7121 2035/2042/7122 2036/2043/7123 2066/2044/7124 +f 2036/2043/7125 2037/2045/7126 2038/2046/7127 2066/2044/7128 +f 2066/2044/7129 2038/2046/7130 2039/2035/7131 2064/2038/7132 +f 2064/2038/7133 2065/2040/7134 2066/2044/7135 +f 2052/2047/7136 2053/2048/7137 2045/2049/7138 2067/2050/7139 +f 2067/2050/7140 2045/2049/7141 2046/2051/7142 2068/2052/7143 +f 2046/2051/7144 2047/2053/7145 2048/2054/7146 2068/2052/7147 +f 2068/2052/7148 2048/2054/7149 2049/2055/7150 2069/2056/7151 +f 2049/2055/7152 2050/2057/7153 2051/2058/7154 2069/2056/7155 +f 2069/2056/7156 2051/2058/7157 2052/2047/7158 2067/2050/7159 +f 2067/2050/7160 2068/2052/7161 2069/2056/7162 +f 2055/2059/7163 2054/2060/7164 2053/2048/7165 2052/2047/7166 +f 2056/2061/7167 2055/2059/7168 2052/2047/7169 2051/2058/7170 +f 2057/2062/7171 2056/2061/7172 2051/2058/7173 2050/2057/7174 +f 2042/2063/7175 2041/2064/7176 2040/2036/7177 2039/2035/7178 +f 2043/2065/7179 2042/2063/7180 2039/2035/7181 2038/2046/7182 +f 2044/2066/7183 2043/2065/7184 2038/2046/7185 2037/2045/7186 +f 2028/2067/7187 2044/2066/7188 2037/2045/7189 2027/2024/7190 +f 2029/2068/7191 2028/2067/7192 2027/2024/7193 2026/2023/7194 +f 2030/2069/7195 2029/2068/7196 2026/2023/7197 2025/2034/7198 +f 2031/2070/7199 2030/2069/7200 2025/2034/7201 2024/2033/7202 +f 2018/2012/7203 2017/2011/7204 2022/2030/7205 2021/2029/7206 +f 2017/2011/7207 2016/2022/7208 2023/2031/7209 2022/2030/7210 +f 2016/2022/7211 2015/2021/7212 2024/2033/7213 2023/2031/7214 +f 2040/2036/7215 2041/2064/7216 2057/2062/7217 2050/2057/7218 +f 2050/2057/7219 2049/2055/7220 2032/2037/7221 2040/2036/7222 +f 2049/2055/7223 2048/2054/7224 2033/2039/7225 2032/2037/7226 +f 2048/2054/7227 2047/2053/7228 2034/2041/7229 2033/2039/7230 +f 2018/2012/7231 2021/2029/7232 2034/2041/7233 2047/2053/7234 +f 2019/2025/7235 2027/2024/7236 2037/2045/7237 2036/2043/7238 +f 2020/2027/7239 2019/2025/7240 2036/2043/7241 2035/2042/7242 +f 2021/2029/7243 2020/2027/7244 2035/2042/7245 2034/2041/7246 +f 2010/2013/7247 2018/2012/7248 2047/2053/7249 2046/2051/7250 +f 2011/2015/7251 2010/2013/7252 2046/2051/7253 2045/2049/7254 +f 2053/2048/7255 2012/2017/7256 2011/2015/7257 2045/2049/7258 +f 2077/2071/7259 2078/2072/7260 2070/2073/7261 2107/2074/7262 +f 2107/2074/7263 2070/2073/7264 2071/2075/7265 2108/2076/7266 +f 2071/2075/7267 2072/2077/7268 2073/2078/7269 2108/2076/7270 +f 2108/2076/7271 2073/2078/7272 2074/2079/7273 2109/2080/7274 +f 2074/2079/7275 2075/2081/7276 2076/2082/7277 2109/2080/7278 +f 2109/2080/7279 2076/2082/7280 2077/2071/7281 2107/2074/7282 +f 2107/2074/7283 2108/2076/7284 2109/2080/7285 +f 2086/2083/7286 2087/2084/7287 2079/2085/7288 2110/2086/7289 +f 2110/2086/7290 2079/2085/7291 2080/2087/7292 2111/2088/7293 +f 2080/2087/7294 2081/2089/7295 2082/2090/7296 2111/2088/7297 +f 2111/2088/7298 2082/2090/7299 2083/2091/7300 2112/2092/7301 +f 2083/2091/7302 2084/2093/7303 2085/2094/7304 2112/2092/7305 +f 2112/2092/7306 2085/2094/7307 2086/2083/7308 2110/2086/7309 +f 2110/2086/7310 2111/2088/7311 2112/2092/7312 +f 2095/2095/7313 2024/2033/7314 2088/2096/7315 2113/2097/7316 +f 2113/2097/7317 2088/2096/7318 2089/2098/7319 2114/2099/7320 +f 2089/2098/7321 2090/2100/7322 2091/2101/7323 2114/2099/7324 +f 2114/2099/7325 2091/2101/7326 2092/2102/7327 2115/2103/7328 +f 2092/2102/7329 2093/2104/7330 2094/2105/7331 2115/2103/7332 +f 2115/2103/7333 2094/2105/7334 2095/2095/7335 2113/2097/7336 +f 2113/2097/7337 2114/2099/7338 2115/2103/7339 +f 2105/2106/7340 2106/2107/7341 2099/2108/7342 2116/2109/7343 +f 2116/2109/7344 2099/2108/7345 2100/2110/7346 2117/2111/7347 +f 2100/2110/7348 2101/2112/7349 2102/2113/7350 2117/2111/7351 +f 2117/2111/7352 2102/2113/7353 2103/2114/7354 2118/2115/7355 +f 2103/2114/7356 2015/2021/7357 2104/2116/7358 2118/2115/7359 +f 2118/2115/7360 2104/2116/7361 2105/2106/7362 2116/2109/7363 +f 2116/2109/7364 2117/2111/7365 2118/2115/7366 +f 2096/2117/7367 2031/2070/7368 2024/2033/7369 2095/2095/7370 +f 2097/2118/7371 2096/2117/7372 2095/2095/7373 2094/2105/7374 +f 2098/2119/7375 2097/2118/7376 2094/2105/7377 2093/2104/7378 +f 2078/2072/7379 2077/2071/7380 2082/2090/7381 2081/2089/7382 +f 2077/2071/7383 2076/2082/7384 2083/2091/7385 2082/2090/7386 +f 2076/2082/7387 2075/2081/7388 2084/2093/7389 2083/2091/7390 +f 2015/2021/7391 2103/2114/7392 2088/2096/7393 2024/2033/7394 +f 2103/2114/7395 2102/2113/7396 2089/2098/7397 2088/2096/7398 +f 2102/2113/7399 2101/2112/7400 2090/2100/7401 2089/2098/7402 +f 2081/2089/7403 2090/2100/7404 2101/2112/7405 2078/2072/7406 +f 2093/2104/7407 2092/2102/7408 2079/2085/7409 2087/2084/7410 +f 2092/2102/7411 2091/2101/7412 2080/2087/7413 2079/2085/7414 +f 2091/2101/7415 2090/2100/7416 2081/2089/7417 2080/2087/7418 +f 2101/2112/7419 2100/2110/7420 2070/2073/7421 2078/2072/7422 +f 2100/2110/7423 2099/2108/7424 2071/2075/7425 2070/2073/7426 +f 2099/2108/7427 2106/2107/7428 2072/2077/7429 2071/2075/7430 +f 2127/2120/7431 2128/2121/7432 2121/2122/7433 2166/2123/7434 +f 2166/2123/7435 2121/2122/7436 2122/2124/7437 2167/2125/7438 +f 2122/2124/7439 2087/2084/7440 2123/2126/7441 2167/2125/7442 +f 2167/2125/7443 2123/2126/7444 2124/2127/7445 2168/2128/7446 +f 2124/2127/7447 2125/2129/7448 2126/2130/7449 2168/2128/7450 +f 2168/2128/7451 2126/2130/7452 2127/2120/7453 2166/2123/7454 +f 2166/2123/7455 2167/2125/7456 2168/2128/7457 +f 2136/2131/7458 2137/2132/7459 2129/2133/7460 2169/2134/7461 +f 2169/2134/7462 2129/2133/7463 2130/2135/7464 2170/2136/7465 +f 2130/2135/7466 2131/2137/7467 2132/2138/7468 2170/2136/7469 +f 2170/2136/7470 2132/2138/7471 2133/2139/7472 2171/2140/7473 +f 2133/2139/7474 2134/2141/7475 2135/2142/7476 2171/2140/7477 +f 2171/2140/7478 2135/2142/7479 2136/2131/7480 2169/2134/7481 +f 2169/2134/7482 2170/2136/7483 2171/2140/7484 +f 2149/2143/7485 2150/2144/7486 2142/2145/7487 2172/2146/7488 +f 2172/2146/7489 2142/2145/7490 2143/2147/7491 2173/2148/7492 +f 2143/2147/7493 2144/2149/7494 2145/2150/7495 2173/2148/7496 +f 2173/2148/7497 2145/2150/7498 2146/2151/7499 2174/2152/7500 +f 2146/2151/7501 2147/2153/7502 2148/2154/7503 2174/2152/7504 +f 2174/2152/7505 2148/2154/7506 2149/2143/7507 2172/2146/7508 +f 2172/2146/7509 2173/2148/7510 2174/2152/7511 +f 2162/2155/7512 2093/2104/7513 2155/2156/7514 2175/2157/7515 +f 2175/2157/7516 2155/2156/7517 2156/2158/7518 2176/2159/7519 +f 2156/2158/7520 2157/2160/7521 2158/2161/7522 2176/2159/7523 +f 2176/2159/7524 2158/2161/7525 2159/2162/7526 2177/2163/7527 +f 2159/2162/7528 2160/2164/7529 2161/2165/7530 2177/2163/7531 +f 2177/2163/7532 2161/2165/7533 2162/2155/7534 2175/2157/7535 +f 2175/2157/7536 2176/2159/7537 2177/2163/7538 +f 2163/2166/7539 2098/2119/7540 2093/2104/7541 2162/2155/7542 +f 2164/2167/7543 2163/2166/7544 2162/2155/7545 2161/2165/7546 +f 2165/2168/7547 2164/2167/7548 2161/2165/7549 2160/2164/7550 +f 2152/2169/7551 2151/2170/7552 2150/2144/7553 2149/2143/7554 +f 2153/2171/7555 2152/2169/7556 2149/2143/7557 2148/2154/7558 +f 2154/2172/7559 2153/2171/7560 2148/2154/7561 2147/2153/7562 +f 2137/2132/7563 2138/2173/7564 2154/2172/7565 2147/2153/7566 +f 2139/2174/7567 2138/2173/7568 2137/2132/7569 2136/2131/7570 +f 2140/2175/7571 2139/2174/7572 2136/2131/7573 2135/2142/7574 +f 2141/2176/7575 2140/2175/7576 2135/2142/7577 2134/2141/7578 +f 2132/2138/7579 2131/2137/7580 2128/2121/7581 2127/2120/7582 +f 2133/2139/7583 2132/2138/7584 2127/2120/7585 2126/2130/7586 +f 2134/2141/7587 2133/2139/7588 2126/2130/7589 2125/2129/7590 +f 2150/2144/7591 2151/2170/7592 2165/2168/7593 2160/2164/7594 +f 2142/2145/7595 2150/2144/7596 2160/2164/7597 2159/2162/7598 +f 2143/2147/7599 2142/2145/7600 2159/2162/7601 2158/2161/7602 +f 2144/2149/7603 2143/2147/7604 2158/2161/7605 2157/2160/7606 +f 2131/2137/7607 2144/2149/7608 2157/2160/7609 2128/2121/7610 +f 2147/2153/7611 2146/2151/7612 2129/2133/7613 2137/2132/7614 +f 2146/2151/7615 2145/2150/7616 2130/2135/7617 2129/2133/7618 +f 2145/2150/7619 2144/2149/7620 2131/2137/7621 2130/2135/7622 +f 2157/2160/7623 2156/2158/7624 2121/2122/7625 2128/2121/7626 +f 2156/2158/7627 2155/2156/7628 2122/2124/7629 2121/2122/7630 +f 2155/2156/7631 2093/2104/7632 2087/2084/7633 2122/2124/7634 +f 2194/2177/7635 2195/2178/7636 2187/2179/7637 2213/2180/7638 +f 2213/2180/7639 2187/2179/7640 2188/2181/7641 2214/2182/7642 +f 2188/2181/7643 2189/2183/7644 2190/2184/7645 2214/2182/7646 +f 2214/2182/7647 2190/2184/7648 2191/2185/7649 2215/2186/7650 +f 2191/2185/7651 2192/2187/7652 2193/2188/7653 2215/2186/7654 +f 2215/2186/7655 2193/2188/7656 2194/2177/7657 2213/2180/7658 +f 2213/2180/7659 2214/2182/7660 2215/2186/7661 +f 2207/2189/7662 2208/2190/7663 2200/2191/7664 2216/2192/7665 +f 2216/2192/7666 2200/2191/7667 2201/2193/7668 2217/2194/7669 +f 2201/2193/7670 2202/2195/7671 2203/2196/7672 2217/2194/7673 +f 2217/2194/7674 2203/2196/7675 2204/2197/7676 2218/2198/7677 +f 2204/2197/7678 2205/2199/7679 2206/2200/7680 2218/2198/7681 +f 2218/2198/7682 2206/2200/7683 2207/2189/7684 2216/2192/7685 +f 2216/2192/7686 2217/2194/7687 2218/2198/7688 +f 2210/2201/7689 2209/2202/7690 2208/2190/7691 2207/2189/7692 +f 2211/2203/7693 2210/2201/7694 2207/2189/7695 2206/2200/7696 +f 2212/2204/7697 2211/2203/7698 2206/2200/7699 2205/2199/7700 +f 2197/2205/7701 2196/2206/7702 2195/2178/7703 2194/2177/7704 +f 2198/2207/7705 2197/2205/7706 2194/2177/7707 2193/2188/7708 +f 2199/2208/7709 2198/2207/7710 2193/2188/7711 2192/2187/7712 +f 2185/2209/7713 2186/2210/7714 2199/2208/7715 2192/2187/7716 +f 2196/2206/7717 2212/2204/7718 2205/2199/7719 2195/2178/7720 +f 2205/2199/7721 2204/2197/7722 2187/2179/7723 2195/2178/7724 +f 2204/2197/7725 2203/2196/7726 2188/2181/7727 2187/2179/7728 +f 2203/2196/7729 2202/2195/7730 2189/2183/7731 2188/2181/7732 +f 2202/2195/7733 2181/2211/7734 2184/2212/7735 2189/2183/7736 +f 2182/2213/7737 2185/2209/7738 2192/2187/7739 2191/2185/7740 +f 2183/2214/7741 2182/2213/7742 2191/2185/7743 2190/2184/7744 +f 2184/2212/7745 2183/2214/7746 2190/2184/7747 2189/2183/7748 +f 2178/2215/7749 2181/2211/7750 2202/2195/7751 2201/2193/7752 +f 2179/2216/7753 2178/2215/7754 2201/2193/7755 2200/2191/7756 +f 2180/2217/7757 2179/2216/7758 2200/2191/7759 2208/2190/7760 +f 2231/2218/7761 2134/2141/7762 2225/2219/7763 2241/2220/7764 +f 2241/2220/7765 2225/2219/7766 2226/2221/7767 2242/2222/7768 +f 2226/2221/7769 2227/2223/7770 2228/2224/7771 2242/2222/7772 +f 2242/2222/7773 2228/2224/7774 2229/2225/7775 2243/2226/7776 +f 2229/2225/7777 2208/2190/7778 2230/2227/7779 2243/2226/7780 +f 2243/2226/7781 2230/2227/7782 2231/2218/7783 2241/2220/7784 +f 2241/2220/7785 2242/2222/7786 2243/2226/7787 +f 2240/2228/7788 2120/2229/7789 2234/2230/7790 2244/2231/7791 +f 2244/2231/7792 2234/2230/7793 2235/2232/7794 2245/2233/7795 +f 2235/2232/7796 2236/2234/7797 2237/2235/7798 2245/2233/7799 +f 2245/2233/7800 2237/2235/7801 2238/2236/7802 2246/2237/7803 +f 2238/2236/7804 2125/2129/7805 2239/2238/7806 2246/2237/7807 +f 2246/2237/7808 2239/2238/7809 2240/2228/7810 2244/2231/7811 +f 2244/2231/7812 2245/2233/7813 2246/2237/7814 +f 2232/2239/7815 2141/2176/7816 2134/2141/7817 2231/2218/7818 +f 2233/2240/7819 2232/2239/7820 2231/2218/7821 2230/2227/7822 +f 2209/2202/7823 2233/2240/7824 2230/2227/7825 2208/2190/7826 +f 2225/2219/7827 2134/2141/7828 2125/2129/7829 2238/2236/7830 +f 2226/2221/7831 2225/2219/7832 2238/2236/7833 2237/2235/7834 +f 2227/2223/7835 2226/2221/7836 2237/2235/7837 2236/2234/7838 +f 2236/2234/7839 2221/2241/7840 2224/2242/7841 2227/2223/7842 +f 2222/2243/7843 2180/2217/7844 2208/2190/7845 2229/2225/7846 +f 2223/2244/7847 2222/2243/7848 2229/2225/7849 2228/2224/7850 +f 2224/2242/7851 2223/2244/7852 2228/2224/7853 2227/2223/7854 +f 2219/2245/7855 2221/2241/7856 2236/2234/7857 2235/2232/7858 +f 2220/2246/7859 2219/2245/7860 2235/2232/7861 2234/2230/7862 +f 2120/2229/7863 2119/2247/7864 2220/2246/7865 2234/2230/7866 +f 2087/2084/7867 2086/2083/7868 2249/2248/7869 +f 2085/2094/7870 2084/2093/7871 2249/2248/7872 +f 2086/2083/7873 2085/2094/7874 2249/2248/7875 +f 2123/2126/7876 2087/2084/7877 2249/2248/7878 +f 2124/2127/7879 2123/2126/7880 2249/2248/7881 +f 2125/2129/7882 2124/2127/7883 2249/2248/7884 +f 2120/2229/7885 2240/2228/7886 2249/2248/7887 +f 2239/2238/7888 2125/2129/7889 2249/2248/7890 +f 2240/2228/7891 2239/2238/7892 2249/2248/7893 +f 2084/2093/7894 2247/2249/7895 2249/2248/7896 +f 2247/2249/7897 2248/2250/7898 2249/2248/7899 +f 2248/2250/7900 2120/2229/7901 2249/2248/7902 +f 2250/1964/7903 2254/1965/7904 2255/2251/7905 1942/2252/7906 +f 2251/1963/7907 2250/1964/7908 1942/2252/7909 1941/2253/7910 +f 2252/1962/7911 2251/1963/7912 1941/2253/7913 1940/2254/7914 +f 1943/2255/7915 2253/1961/7916 2252/1962/7917 1940/2254/7918 +f 2254/1965/7919 1953/1941/7920 1946/1967/7921 2255/2251/7922 +f 2263/2256/7923 2264/2257/7924 2256/2258/7925 2296/2259/7926 +f 2296/2259/7927 2256/2258/7928 2257/2260/7929 2297/2261/7930 +f 2257/2260/7931 2258/2262/7932 2259/2263/7933 2297/2261/7934 +f 2297/2261/7935 2259/2263/7936 2260/2264/7937 2298/2265/7938 +f 2260/2264/7939 2261/2266/7940 2262/2267/7941 2298/2265/7942 +f 2298/2265/7943 2262/2267/7944 2263/2256/7945 2296/2259/7946 +f 2296/2259/7947 2297/2261/7948 2298/2265/7949 +f 2272/2268/7950 2273/2269/7951 2265/2270/7952 2299/2271/7953 +f 2299/2271/7954 2265/2270/7955 2266/2272/7956 2300/2273/7957 +f 2266/2272/7958 2267/2274/7959 2268/2275/7960 2300/2273/7961 +f 2300/2273/7962 2268/2275/7963 2269/2276/7964 2301/2277/7965 +f 2269/2276/7966 2270/2278/7967 2271/2279/7968 2301/2277/7969 +f 2301/2277/7970 2271/2279/7971 2272/2268/7972 2299/2271/7973 +f 2299/2271/7974 2300/2273/7975 2301/2277/7976 +f 2281/2280/7977 2282/2281/7978 2274/2282/7979 2302/2283/7980 +f 2302/2283/7981 2274/2282/7982 2275/2284/7983 2303/2285/7984 +f 2275/2284/7985 2276/2286/7986 2277/2287/7987 2303/2285/7988 +f 2303/2285/7989 2277/2287/7990 2278/2288/7991 2304/2289/7992 +f 2278/2288/7993 2279/2290/7994 2280/2291/7995 2304/2289/7996 +f 2304/2289/7997 2280/2291/7998 2281/2280/7999 2302/2283/8000 +f 2302/2283/8001 2303/2285/8002 2304/2289/8003 +f 2294/2292/8004 2295/2293/8005 2287/2294/8006 2305/2295/8007 +f 2305/2295/8008 2287/2294/8009 2288/2296/8010 2306/2297/8011 +f 2288/2296/8012 2289/2298/8013 2290/2299/8014 2306/2297/8015 +f 2306/2297/8016 2290/2299/8017 2291/2300/8018 2307/2301/8019 +f 2291/2300/8020 2292/2302/8021 2293/2303/8022 2307/2301/8023 +f 2307/2301/8024 2293/2303/8025 2294/2292/8026 2305/2295/8027 +f 2305/2295/8028 2306/2297/8029 2307/2301/8030 +f 2282/2281/8031 2281/2280/8032 2284/2304/8033 2283/2305/8034 +f 2281/2280/8035 2280/2291/8036 2285/2306/8037 2284/2304/8038 +f 2280/2291/8039 2279/2290/8040 2286/2307/8041 2285/2306/8042 +f 2264/2257/8043 2263/2256/8044 2268/2275/8045 2267/2274/8046 +f 2263/2256/8047 2262/2267/8048 2269/2276/8049 2268/2275/8050 +f 2262/2267/8051 2261/2266/8052 2270/2278/8053 2269/2276/8054 +f 2292/2302/8055 2291/2300/8056 2274/2282/8057 2282/2281/8058 +f 2291/2300/8059 2290/2299/8060 2275/2284/8061 2274/2282/8062 +f 2290/2299/8063 2289/2298/8064 2276/2286/8065 2275/2284/8066 +f 2289/2298/8067 2264/2257/8068 2267/2274/8069 2276/2286/8070 +f 2279/2290/8071 2278/2288/8072 2265/2270/8073 2273/2269/8074 +f 2278/2288/8075 2277/2287/8076 2266/2272/8077 2265/2270/8078 +f 2277/2287/8079 2276/2286/8080 2267/2274/8081 2266/2272/8082 +f 2289/2298/8083 2288/2296/8084 2256/2258/8085 2264/2257/8086 +f 2288/2296/8087 2287/2294/8088 2257/2260/8089 2256/2258/8090 +f 2287/2294/8091 2295/2293/8092 2258/2262/8093 2257/2260/8094 +f 2311/2308/8095 2310/2309/8096 2319/2310/8097 2318/2311/8098 +f 2310/2309/8099 2309/2312/8100 2320/2313/8101 2319/2310/8102 +f 2309/2312/8103 2308/2314/8104 2321/2315/8105 2320/2313/8106 +f 2315/2316/8107 2314/2317/8108 2331/2318/8109 2330/2319/8110 +f 2314/2317/8111 2313/2320/8112 2332/2321/8113 2331/2318/8114 +f 2313/2320/8115 2312/2322/8116 2333/2323/8117 2332/2321/8118 +f 2318/2311/8119 2317/2324/8120 2337/2325/8121 2336/2326/8122 +f 2317/2324/8123 2316/2327/8124 2338/2328/8125 2337/2325/8126 +f 2338/2328/8127 2316/2327/8128 2324/2329/8129 2339/2330/8130 +f 2328/2331/8131 2327/2332/8132 2324/2329/8133 2323/2333/8134 +f 2329/2334/8135 2328/2331/8136 2323/2333/8137 2322/2335/8138 +f 2330/2319/8139 2329/2334/8140 2322/2335/8141 2321/2315/8142 +f 2327/2332/8143 2326/2336/8144 2349/2337/8145 2348/2338/8146 +f 2326/2336/8147 2325/2339/8148 2350/2340/8149 2349/2337/8150 +f 2325/2339/8151 2333/2323/8152 2351/2341/8153 2350/2340/8154 +f 2353/2342/8155 2352/2343/8156 2336/2326/8157 2335/2344/8158 +f 2354/2345/8159 2353/2342/8160 2335/2344/8161 2334/2346/8162 +f 2355/2347/8163 2354/2345/8164 2334/2346/8165 2342/2348/8166 +f 2346/2349/8167 2345/2350/8168 2342/2348/8169 2341/2351/8170 +f 2347/2352/8171 2346/2349/8172 2341/2351/8173 2340/2353/8174 +f 2348/2338/8175 2347/2352/8176 2340/2353/8177 2339/2330/8178 +f 2357/2354/8179 2356/2355/8180 2345/2350/8181 2344/2356/8182 +f 2358/2357/8183 2357/2354/8184 2344/2356/8185 2343/2358/8186 +f 2359/2359/8187 2358/2357/8188 2343/2358/8189 2351/2341/8190 +f 2321/2315/8191 2308/2314/8192 2315/2316/8193 2330/2319/8194 +f 2356/2355/8195 2355/2347/8196 2342/2348/8197 2345/2350/8198 +f 2312/2322/8199 2359/2359/8200 2351/2341/8201 2333/2323/8202 +f 2352/2343/8203 2311/2308/8204 2318/2311/8205 2336/2326/8206 +f 2323/2333/8207 2324/2329/8208 2316/2327/8209 2360/2360/8210 +f 2360/2360/8211 2316/2327/8212 2317/2324/8213 2361/2361/8214 +f 2317/2324/8215 2318/2311/8216 2319/2310/8217 2361/2361/8218 +f 2361/2361/8219 2319/2310/8220 2320/2313/8221 2362/2362/8222 +f 2320/2313/8223 2321/2315/8224 2322/2335/8225 2362/2362/8226 +f 2362/2362/8227 2322/2335/8228 2323/2333/8229 2360/2360/8230 +f 2360/2360/8231 2361/2361/8232 2362/2362/8233 +f 2332/2321/8234 2333/2323/8235 2325/2339/8236 2363/2363/8237 +f 2363/2363/8238 2325/2339/8239 2326/2336/8240 2364/2364/8241 +f 2326/2336/8242 2327/2332/8243 2328/2331/8244 2364/2364/8245 +f 2364/2364/8246 2328/2331/8247 2329/2334/8248 2365/2365/8249 +f 2329/2334/8250 2330/2319/8251 2331/2318/8252 2365/2365/8253 +f 2365/2365/8254 2331/2318/8255 2332/2321/8256 2363/2363/8257 +f 2363/2363/8258 2364/2364/8259 2365/2365/8260 +f 2341/2351/8261 2342/2348/8262 2334/2346/8263 2366/2366/8264 +f 2366/2366/8265 2334/2346/8266 2335/2344/8267 2367/2367/8268 +f 2335/2344/8269 2336/2326/8270 2337/2325/8271 2367/2367/8272 +f 2367/2367/8273 2337/2325/8274 2338/2328/8275 2368/2368/8276 +f 2338/2328/8277 2339/2330/8278 2340/2353/8279 2368/2368/8280 +f 2368/2368/8281 2340/2353/8282 2341/2351/8283 2366/2366/8284 +f 2366/2366/8285 2367/2367/8286 2368/2368/8287 +f 2350/2340/8288 2351/2341/8289 2343/2358/8290 2369/2369/8291 +f 2369/2369/8292 2343/2358/8293 2344/2356/8294 2370/2370/8295 +f 2344/2356/8296 2345/2350/8297 2346/2349/8298 2370/2370/8299 +f 2370/2370/8300 2346/2349/8301 2347/2352/8302 2371/2371/8303 +f 2347/2352/8304 2348/2338/8305 2349/2337/8306 2371/2371/8307 +f 2371/2371/8308 2349/2337/8309 2350/2340/8310 2369/2369/8311 +f 2369/2369/8312 2370/2370/8313 2371/2371/8314 +f 2327/2332/8315 2348/2338/8316 2339/2330/8317 2324/2329/8318 +f 2379/2372/8319 2380/2373/8320 2372/2374/8321 2414/2375/8322 +f 2414/2375/8323 2372/2374/8324 2373/2376/8325 2415/2377/8326 +f 2373/2376/8327 2374/2378/8328 2375/2379/8329 2415/2377/8330 +f 2415/2377/8331 2375/2379/8332 2376/2380/8333 2416/2381/8334 +f 2376/2380/8335 2377/2382/8336 2378/2383/8337 2416/2381/8338 +f 2416/2381/8339 2378/2383/8340 2379/2372/8341 2414/2375/8342 +f 2414/2375/8343 2415/2377/8344 2416/2381/8345 +f 2392/2384/8346 2393/2385/8347 2385/2386/8348 2417/2387/8349 +f 2417/2387/8350 2385/2386/8351 2386/2388/8352 2418/2389/8353 +f 2386/2388/8354 2387/2390/8355 2388/2391/8356 2418/2389/8357 +f 2418/2389/8358 2388/2391/8359 2389/2392/8360 2419/2393/8361 +f 2389/2392/8362 2390/2394/8363 2391/2395/8364 2419/2393/8365 +f 2419/2393/8366 2391/2395/8367 2392/2384/8368 2417/2387/8369 +f 2417/2387/8370 2418/2389/8371 2419/2393/8372 +f 2405/2396/8373 2270/2278/8374 2398/2397/8375 2420/2398/8376 +f 2420/2398/8377 2398/2397/8378 2399/2399/8379 2421/2400/8380 +f 2399/2399/8381 2400/2401/8382 2401/2402/8383 2421/2400/8384 +f 2421/2400/8385 2401/2402/8386 2402/2403/8387 2422/2404/8388 +f 2402/2403/8389 2403/2405/8390 2404/2406/8391 2422/2404/8392 +f 2422/2404/8393 2404/2406/8394 2405/2396/8395 2420/2398/8396 +f 2420/2398/8397 2421/2400/8398 2422/2404/8399 +f 2412/2407/8400 2413/2408/8401 2406/2409/8402 2423/2410/8403 +f 2423/2410/8404 2406/2409/8405 2407/2411/8406 2424/2412/8407 +f 2407/2411/8408 2408/2413/8409 2409/2414/8410 2424/2412/8411 +f 2424/2412/8412 2409/2414/8413 2410/2415/8414 2425/2416/8415 +f 2410/2415/8416 2261/2266/8417 2411/2417/8418 2425/2416/8419 +f 2425/2416/8420 2411/2417/8421 2412/2407/8422 2423/2410/8423 +f 2423/2410/8424 2424/2412/8425 2425/2416/8426 +f 2393/2385/8427 2392/2384/8428 2395/2418/8429 2394/2419/8430 +f 2392/2384/8431 2391/2395/8432 2396/2420/8433 2395/2418/8434 +f 2391/2395/8435 2390/2394/8436 2397/2421/8437 2396/2420/8438 +f 2377/2382/8439 2376/2380/8440 2382/2422/8441 2381/2423/8442 +f 2376/2380/8443 2375/2379/8444 2383/2424/8445 2382/2422/8446 +f 2375/2379/8447 2374/2378/8448 2384/2425/8449 2383/2424/8450 +f 2380/2373/8451 2379/2372/8452 2388/2391/8453 2387/2390/8454 +f 2379/2372/8455 2378/2383/8456 2389/2392/8457 2388/2391/8458 +f 2378/2383/8459 2377/2382/8460 2390/2394/8461 2389/2392/8462 +f 2390/2394/8463 2377/2382/8464 2381/2423/8465 2397/2421/8466 +f 2261/2266/8467 2410/2415/8468 2398/2397/8469 2270/2278/8470 +f 2410/2415/8471 2409/2414/8472 2399/2399/8473 2398/2397/8474 +f 2409/2414/8475 2408/2413/8476 2400/2401/8477 2399/2399/8478 +f 2408/2413/8479 2380/2373/8480 2387/2390/8481 2400/2401/8482 +f 2403/2405/8483 2402/2403/8484 2385/2386/8485 2393/2385/8486 +f 2402/2403/8487 2401/2402/8488 2386/2388/8489 2385/2386/8490 +f 2401/2402/8491 2400/2401/8492 2387/2390/8493 2386/2388/8494 +f 2408/2413/8495 2407/2411/8496 2372/2374/8497 2380/2373/8498 +f 2407/2411/8499 2406/2409/8500 2373/2376/8501 2372/2374/8502 +f 2406/2409/8503 2413/2408/8504 2374/2378/8505 2373/2376/8506 +f 2432/2426/8507 2433/2427/8508 2426/2428/8509 2471/2429/8510 +f 2471/2429/8511 2426/2428/8512 2427/2430/8513 2472/2431/8514 +f 2427/2430/8515 2428/2432/8516 2429/2433/8517 2472/2431/8518 +f 2472/2431/8519 2429/2433/8520 2430/2434/8521 2473/2435/8522 +f 2430/2434/8523 2292/2302/8524 2431/2436/8525 2473/2435/8526 +f 2473/2435/8527 2431/2436/8528 2432/2426/8529 2471/2429/8530 +f 2471/2429/8531 2472/2431/8532 2473/2435/8533 +f 2440/2437/8534 2441/2438/8535 2434/2439/8536 2474/2440/8537 +f 2474/2440/8538 2434/2439/8539 2435/2441/8540 2475/2442/8541 +f 2435/2441/8542 2436/2443/8543 2437/2444/8544 2475/2442/8545 +f 2475/2442/8546 2437/2444/8547 2438/2445/8548 2476/2446/8549 +f 2438/2445/8550 2282/2281/8551 2439/2447/8552 2476/2446/8553 +f 2476/2446/8554 2439/2447/8555 2440/2437/8556 2474/2440/8557 +f 2474/2440/8558 2475/2442/8559 2476/2446/8560 +f 2452/2448/8561 2453/2449/8562 2445/2450/8563 2477/2451/8564 +f 2477/2451/8565 2445/2450/8566 2446/2452/8567 2478/2453/8568 +f 2446/2452/8569 2447/2454/8570 2448/2455/8571 2478/2453/8572 +f 2478/2453/8573 2448/2455/8574 2449/2456/8575 2479/2457/8576 +f 2449/2456/8577 2450/2458/8578 2451/2459/8579 2479/2457/8580 +f 2479/2457/8581 2451/2459/8582 2452/2448/8583 2477/2451/8584 +f 2477/2451/8585 2478/2453/8586 2479/2457/8587 +f 2465/2460/8588 2466/2461/8589 2458/2462/8590 2480/2463/8591 +f 2480/2463/8592 2458/2462/8593 2459/2464/8594 2481/2465/8595 +f 2459/2464/8596 2460/2466/8597 2461/2467/8598 2481/2465/8599 +f 2481/2465/8600 2461/2467/8601 2462/2468/8602 2482/2469/8603 +f 2462/2468/8604 2463/2470/8605 2464/2471/8606 2482/2469/8607 +f 2482/2469/8608 2464/2471/8609 2465/2460/8610 2480/2463/8611 +f 2480/2463/8612 2481/2465/8613 2482/2469/8614 +f 2467/2472/8615 2466/2461/8616 2465/2460/8617 2468/2473/8618 +f 2465/2460/8619 2464/2471/8620 2469/2474/8621 2468/2473/8622 +f 2464/2471/8623 2463/2470/8624 2470/2475/8625 2469/2474/8626 +f 2453/2449/8627 2452/2448/8628 2455/2476/8629 2454/2477/8630 +f 2452/2448/8631 2451/2459/8632 2456/2478/8633 2455/2476/8634 +f 2451/2459/8635 2450/2458/8636 2457/2479/8637 2456/2478/8638 +f 2450/2458/8639 2441/2438/8640 2442/2480/8641 2457/2479/8642 +f 2441/2438/8643 2440/2437/8644 2443/2481/8645 2442/2480/8646 +f 2440/2437/8647 2439/2447/8648 2444/2482/8649 2443/2481/8650 +f 2439/2447/8651 2282/2281/8652 2283/2305/8653 2444/2482/8654 +f 2433/2427/8655 2432/2426/8656 2437/2444/8657 2436/2443/8658 +f 2432/2426/8659 2431/2436/8660 2438/2445/8661 2437/2444/8662 +f 2431/2436/8663 2292/2302/8664 2282/2281/8665 2438/2445/8666 +f 2463/2470/8667 2453/2449/8668 2454/2477/8669 2470/2475/8670 +f 2463/2470/8671 2462/2468/8672 2445/2450/8673 2453/2449/8674 +f 2462/2468/8675 2461/2467/8676 2446/2452/8677 2445/2450/8678 +f 2461/2467/8679 2460/2466/8680 2447/2454/8681 2446/2452/8682 +f 2433/2427/8683 2436/2443/8684 2447/2454/8685 2460/2466/8686 +f 2434/2439/8687 2441/2438/8688 2450/2458/8689 2449/2456/8690 +f 2435/2441/8691 2434/2439/8692 2449/2456/8693 2448/2455/8694 +f 2436/2443/8695 2435/2441/8696 2448/2455/8697 2447/2454/8698 +f 2426/2428/8699 2433/2427/8700 2460/2466/8701 2459/2464/8702 +f 2427/2430/8703 2426/2428/8704 2459/2464/8705 2458/2462/8706 +f 2466/2461/8707 2428/2432/8708 2427/2430/8709 2458/2462/8710 +f 2493/2483/8711 2494/2484/8712 2487/2485/8713 2528/2486/8714 +f 2528/2486/8715 2487/2485/8716 2488/2487/8717 2529/2488/8718 +f 2488/2487/8719 2273/2269/8720 2489/2489/8721 2529/2488/8722 +f 2529/2488/8723 2489/2489/8724 2490/2490/8725 2530/2491/8726 +f 2490/2490/8727 2491/2492/8728 2492/2493/8729 2530/2491/8730 +f 2530/2491/8731 2492/2493/8732 2493/2483/8733 2528/2486/8734 +f 2528/2486/8735 2529/2488/8736 2530/2491/8737 +f 2502/2494/8738 2503/2495/8739 2495/2496/8740 2531/2497/8741 +f 2531/2497/8742 2495/2496/8743 2496/2498/8744 2532/2499/8745 +f 2496/2498/8746 2497/2500/8747 2498/2501/8748 2532/2499/8749 +f 2532/2499/8750 2498/2501/8751 2499/2502/8752 2533/2503/8753 +f 2499/2502/8754 2500/2504/8755 2501/2505/8756 2533/2503/8757 +f 2533/2503/8758 2501/2505/8759 2502/2494/8760 2531/2497/8761 +f 2531/2497/8762 2532/2499/8763 2533/2503/8764 +f 2510/2506/8765 2511/2507/8766 2504/2508/8767 2534/2509/8768 +f 2534/2509/8769 2504/2508/8770 2505/2510/8771 2535/2511/8772 +f 2505/2510/8773 2279/2290/8774 2506/2512/8775 2535/2511/8776 +f 2535/2511/8777 2506/2512/8778 2507/2513/8779 2536/2514/8780 +f 2507/2513/8781 2508/2515/8782 2509/2516/8783 2536/2514/8784 +f 2536/2514/8785 2509/2516/8786 2510/2506/8787 2534/2509/8788 +f 2534/2509/8789 2535/2511/8790 2536/2514/8791 +f 2519/2517/8792 2520/2518/8793 2512/2519/8794 2537/2520/8795 +f 2537/2520/8796 2512/2519/8797 2513/2521/8798 2538/2522/8799 +f 2513/2521/8800 2514/2523/8801 2515/2524/8802 2538/2522/8803 +f 2538/2522/8804 2515/2524/8805 2516/2525/8806 2539/2526/8807 +f 2516/2525/8808 2517/2527/8809 2518/2528/8810 2539/2526/8811 +f 2539/2526/8812 2518/2528/8813 2519/2517/8814 2537/2520/8815 +f 2537/2520/8816 2538/2522/8817 2539/2526/8818 +f 2515/2524/8819 2514/2523/8820 2511/2507/8821 2510/2506/8822 +f 2516/2525/8823 2515/2524/8824 2510/2506/8825 2509/2516/8826 +f 2517/2527/8827 2516/2525/8828 2509/2516/8829 2508/2515/8830 +f 2497/2500/8831 2517/2527/8832 2508/2515/8833 2494/2484/8834 +f 2498/2501/8835 2497/2500/8836 2494/2484/8837 2493/2483/8838 +f 2499/2502/8839 2498/2501/8840 2493/2483/8841 2492/2493/8842 +f 2500/2504/8843 2499/2502/8844 2492/2493/8845 2491/2492/8846 +f 2501/2505/8847 2500/2504/8848 2486/2529/8849 2485/2530/8850 +f 2502/2494/8851 2501/2505/8852 2485/2530/8853 2484/2531/8854 +f 2503/2495/8855 2502/2494/8856 2484/2531/8857 2483/2532/8858 +f 2512/2519/8859 2520/2518/8860 2527/2533/8861 2526/2534/8862 +f 2513/2521/8863 2512/2519/8864 2526/2534/8865 2525/2535/8866 +f 2514/2523/8867 2513/2521/8868 2525/2535/8869 2524/2536/8870 +f 2511/2507/8871 2514/2523/8872 2524/2536/8873 2523/2537/8874 +f 2504/2508/8875 2511/2507/8876 2523/2537/8877 2522/2538/8878 +f 2505/2510/8879 2504/2508/8880 2522/2538/8881 2521/2539/8882 +f 2279/2290/8883 2505/2510/8884 2521/2539/8885 2286/2307/8886 +f 2520/2518/8887 2503/2495/8888 2483/2532/8889 2527/2533/8890 +f 2520/2518/8891 2519/2517/8892 2495/2496/8893 2503/2495/8894 +f 2519/2517/8895 2518/2528/8896 2496/2498/8897 2495/2496/8898 +f 2518/2528/8899 2517/2527/8900 2497/2500/8901 2496/2498/8902 +f 2508/2515/8903 2507/2513/8904 2487/2485/8905 2494/2484/8906 +f 2507/2513/8907 2506/2512/8908 2488/2487/8909 2487/2485/8910 +f 2506/2512/8911 2279/2290/8912 2273/2269/8913 2488/2487/8914 +f 2543/2540/8915 2542/2541/8916 2551/2542/8917 2550/2543/8918 +f 2542/2541/8919 2541/2544/8920 2552/2545/8921 2551/2542/8922 +f 2541/2544/8923 2540/2546/8924 2553/2547/8925 2552/2545/8926 +f 2547/2548/8927 2546/2549/8928 2563/2550/8929 2562/2551/8930 +f 2546/2549/8931 2545/2552/8932 2564/2553/8933 2563/2550/8934 +f 2545/2552/8935 2544/2554/8936 2565/2555/8937 2564/2553/8938 +f 2550/2543/8939 2549/2556/8940 2569/2557/8941 2568/2558/8942 +f 2549/2556/8943 2548/2559/8944 2570/2560/8945 2569/2557/8946 +f 2570/2560/8947 2548/2559/8948 2556/2561/8949 2571/2562/8950 +f 2560/2563/8951 2559/2564/8952 2556/2561/8953 2555/2565/8954 +f 2561/2566/8955 2560/2563/8956 2555/2565/8957 2554/2567/8958 +f 2562/2551/8959 2561/2566/8960 2554/2567/8961 2553/2547/8962 +f 2559/2564/8963 2558/2568/8964 2581/2569/8965 2580/2570/8966 +f 2558/2568/8967 2557/2571/8968 2582/2572/8969 2581/2569/8970 +f 2557/2571/8971 2565/2555/8972 2583/2573/8973 2582/2572/8974 +f 2585/2574/8975 2584/2575/8976 2568/2558/8977 2567/2576/8978 +f 2586/2577/8979 2585/2574/8980 2567/2576/8981 2566/2578/8982 +f 2587/2579/8983 2586/2577/8984 2566/2578/8985 2574/2580/8986 +f 2578/2581/8987 2577/2582/8988 2574/2580/8989 2573/2583/8990 +f 2579/2584/8991 2578/2581/8992 2573/2583/8993 2572/2585/8994 +f 2580/2570/8995 2579/2584/8996 2572/2585/8997 2571/2562/8998 +f 2589/2586/8999 2588/2587/9000 2577/2582/9001 2576/2588/9002 +f 2590/2589/9003 2589/2586/9004 2576/2588/9005 2575/2590/9006 +f 2591/2591/9007 2590/2589/9008 2575/2590/9009 2583/2573/9010 +f 2588/2587/9011 2587/2579/9012 2574/2580/9013 2577/2582/9014 +f 2544/2554/9015 2591/2591/9016 2583/2573/9017 2565/2555/9018 +f 2584/2575/9019 2543/2540/9020 2550/2543/9021 2568/2558/9022 +f 2555/2565/9023 2556/2561/9024 2548/2559/9025 2592/2592/9026 +f 2592/2592/9027 2548/2559/9028 2549/2556/9029 2593/2593/9030 +f 2549/2556/9031 2550/2543/9032 2551/2542/9033 2593/2593/9034 +f 2593/2593/9035 2551/2542/9036 2552/2545/9037 2594/2594/9038 +f 2552/2545/9039 2553/2547/9040 2554/2567/9041 2594/2594/9042 +f 2594/2594/9043 2554/2567/9044 2555/2565/9045 2592/2592/9046 +f 2592/2592/9047 2593/2593/9048 2594/2594/9049 +f 2564/2553/9050 2565/2555/9051 2557/2571/9052 2595/2595/9053 +f 2595/2595/9054 2557/2571/9055 2558/2568/9056 2596/2596/9057 +f 2558/2568/9058 2559/2564/9059 2560/2563/9060 2596/2596/9061 +f 2596/2596/9062 2560/2563/9063 2561/2566/9064 2597/2597/9065 +f 2561/2566/9066 2562/2551/9067 2563/2550/9068 2597/2597/9069 +f 2597/2597/9070 2563/2550/9071 2564/2553/9072 2595/2595/9073 +f 2595/2595/9074 2596/2596/9075 2597/2597/9076 +f 2573/2583/9077 2574/2580/9078 2566/2578/9079 2598/2598/9080 +f 2598/2598/9081 2566/2578/9082 2567/2576/9083 2599/2599/9084 +f 2567/2576/9085 2568/2558/9086 2569/2557/9087 2599/2599/9088 +f 2599/2599/9089 2569/2557/9090 2570/2560/9091 2600/2600/9092 +f 2570/2560/9093 2571/2562/9094 2572/2585/9095 2600/2600/9096 +f 2600/2600/9097 2572/2585/9098 2573/2583/9099 2598/2598/9100 +f 2598/2598/9101 2599/2599/9102 2600/2600/9103 +f 2582/2572/9104 2583/2573/9105 2575/2590/9106 2601/2601/9107 +f 2601/2601/9108 2575/2590/9109 2576/2588/9110 2602/2602/9111 +f 2576/2588/9112 2577/2582/9113 2578/2581/9114 2602/2602/9115 +f 2602/2602/9116 2578/2581/9117 2579/2584/9118 2603/2603/9119 +f 2579/2584/9120 2580/2570/9121 2581/2569/9122 2603/2603/9123 +f 2603/2603/9124 2581/2569/9125 2582/2572/9126 2601/2601/9127 +f 2601/2601/9128 2602/2602/9129 2603/2603/9130 +f 2559/2564/9131 2580/2570/9132 2571/2562/9133 2556/2561/9134 +f 2607/2604/9135 2606/2605/9136 2615/2606/9137 2614/2607/9138 +f 2606/2605/9139 2605/2608/9140 2616/2609/9141 2615/2606/9142 +f 2605/2608/9143 2604/2610/9144 2617/2611/9145 2616/2609/9146 +f 2611/2612/9147 2610/2613/9148 2627/2614/9149 2626/2615/9150 +f 2610/2613/9151 2609/2616/9152 2628/2617/9153 2627/2614/9154 +f 2609/2616/9155 2608/2618/9156 2629/2619/9157 2628/2617/9158 +f 2614/2607/9159 2613/2620/9160 2633/2621/9161 2632/2622/9162 +f 2613/2620/9163 2612/2623/9164 2634/2624/9165 2633/2621/9166 +f 2634/2624/9167 2612/2623/9168 2620/2625/9169 2635/2626/9170 +f 2624/2627/9171 2623/2628/9172 2620/2625/9173 2619/2629/9174 +f 2625/2630/9175 2624/2627/9176 2619/2629/9177 2618/2631/9178 +f 2626/2615/9179 2625/2630/9180 2618/2631/9181 2617/2611/9182 +f 2623/2628/9183 2622/2632/9184 2643/2633/9185 2642/2634/9186 +f 2622/2632/9187 2621/2635/9188 2644/2636/9189 2643/2633/9190 +f 2621/2635/9191 2629/2619/9192 2645/2637/9193 2644/2636/9194 +f 2647/2638/9195 2646/2639/9196 2632/2622/9197 2631/2640/9198 +f 2648/2641/9199 2647/2638/9200 2631/2640/9201 2630/2642/9202 +f 2540/2546/9203 2648/2641/9204 2630/2642/9205 2553/2547/9206 +f 2640/2643/9207 2562/2551/9208 2553/2547/9209 2637/2644/9210 +f 2641/2645/9211 2640/2643/9212 2637/2644/9213 2636/2646/9214 +f 2642/2634/9215 2641/2645/9216 2636/2646/9217 2635/2626/9218 +f 2649/2647/9219 2547/2548/9220 2562/2551/9221 2639/2648/9222 +f 2650/2649/9223 2649/2647/9224 2639/2648/9225 2638/2650/9226 +f 2651/2651/9227 2650/2649/9228 2638/2650/9229 2645/2637/9230 +f 2617/2611/9231 2604/2610/9232 2611/2612/9233 2626/2615/9234 +f 2646/2639/9235 2607/2604/9236 2614/2607/9237 2632/2622/9238 +f 2619/2629/9239 2620/2625/9240 2612/2623/9241 2652/2652/9242 +f 2652/2652/9243 2612/2623/9244 2613/2620/9245 2653/2653/9246 +f 2613/2620/9247 2614/2607/9248 2615/2606/9249 2653/2653/9250 +f 2653/2653/9251 2615/2606/9252 2616/2609/9253 2654/2654/9254 +f 2616/2609/9255 2617/2611/9256 2618/2631/9257 2654/2654/9258 +f 2654/2654/9259 2618/2631/9260 2619/2629/9261 2652/2652/9262 +f 2652/2652/9263 2653/2653/9264 2654/2654/9265 +f 2628/2617/9266 2629/2619/9267 2621/2635/9268 2655/2655/9269 +f 2655/2655/9270 2621/2635/9271 2622/2632/9272 2656/2656/9273 +f 2622/2632/9274 2623/2628/9275 2624/2627/9276 2656/2656/9277 +f 2656/2656/9278 2624/2627/9279 2625/2630/9280 2657/2657/9281 +f 2625/2630/9282 2626/2615/9283 2627/2614/9284 2657/2657/9285 +f 2657/2657/9286 2627/2614/9287 2628/2617/9288 2655/2655/9289 +f 2655/2655/9290 2656/2656/9291 2657/2657/9292 +f 2637/2644/9293 2553/2547/9294 2630/2642/9295 2658/2658/9296 +f 2658/2658/9297 2630/2642/9298 2631/2640/9299 2659/2659/9300 +f 2631/2640/9301 2632/2622/9302 2633/2621/9303 2659/2659/9304 +f 2659/2659/9305 2633/2621/9306 2634/2624/9307 2660/2660/9308 +f 2634/2624/9309 2635/2626/9310 2636/2646/9311 2660/2660/9312 +f 2660/2660/9313 2636/2646/9314 2637/2644/9315 2658/2658/9316 +f 2658/2658/9317 2659/2659/9318 2660/2660/9319 +f 2644/2636/9320 2645/2637/9321 2638/2650/9322 2661/2661/9323 +f 2661/2661/9324 2638/2650/9325 2639/2648/9326 2662/2662/9327 +f 2639/2648/9328 2562/2551/9329 2640/2643/9330 2662/2662/9331 +f 2662/2662/9332 2640/2643/9333 2641/2645/9334 2663/2663/9335 +f 2641/2645/9336 2642/2634/9337 2643/2633/9338 2663/2663/9339 +f 2663/2663/9340 2643/2633/9341 2644/2636/9342 2661/2661/9343 +f 2661/2661/9344 2662/2662/9345 2663/2663/9346 +f 2623/2628/9347 2642/2634/9348 2635/2626/9349 2620/2625/9350 +f 2679/2664/9351 2680/2665/9352 2672/2666/9353 2716/2667/9354 +f 2716/2667/9355 2672/2666/9356 2673/2668/9357 2717/2669/9358 +f 2673/2668/9359 2674/2670/9360 2675/2671/9361 2717/2669/9362 +f 2717/2669/9363 2675/2671/9364 2676/2672/9365 2718/2673/9366 +f 2676/2672/9367 2677/2674/9368 2678/2675/9369 2718/2673/9370 +f 2718/2673/9371 2678/2675/9372 2679/2664/9373 2716/2667/9374 +f 2716/2667/9375 2717/2669/9376 2718/2673/9377 +f 2688/2676/9378 2689/2677/9379 2681/2678/9380 2719/2679/9381 +f 2719/2679/9382 2681/2678/9383 2682/2680/9384 2720/2681/9385 +f 2682/2680/9386 2683/2682/9387 2684/2683/9388 2720/2681/9389 +f 2720/2681/9390 2684/2683/9391 2685/2684/9392 2721/2685/9393 +f 2685/2684/9394 2686/2686/9395 2687/2687/9396 2721/2685/9397 +f 2721/2685/9398 2687/2687/9399 2688/2676/9400 2719/2679/9401 +f 2719/2679/9402 2720/2681/9403 2721/2685/9404 +f 2697/2688/9405 2698/2689/9406 2690/2690/9407 2722/2691/9408 +f 2722/2691/9409 2690/2690/9410 2691/2692/9411 2723/2693/9412 +f 2691/2692/9413 2692/2694/9414 2693/2695/9415 2723/2693/9416 +f 2723/2693/9417 2693/2695/9418 2694/2696/9419 2724/2697/9420 +f 2694/2696/9421 2695/2698/9422 2696/2699/9423 2724/2697/9424 +f 2724/2697/9425 2696/2699/9426 2697/2688/9427 2722/2691/9428 +f 2722/2691/9429 2723/2693/9430 2724/2697/9431 +f 2706/2700/9432 2707/2701/9433 2699/2702/9434 2725/2703/9435 +f 2725/2703/9436 2699/2702/9437 2700/2704/9438 2726/2705/9439 +f 2700/2704/9440 2701/2706/9441 2702/2707/9442 2726/2705/9443 +f 2726/2705/9444 2702/2707/9445 2703/2708/9446 2727/2709/9447 +f 2703/2708/9448 2704/2710/9449 2705/2711/9450 2727/2709/9451 +f 2727/2709/9452 2705/2711/9453 2706/2700/9454 2725/2703/9455 +f 2725/2703/9456 2726/2705/9457 2727/2709/9458 +f 2698/2689/9459 2697/2688/9460 2702/2707/9461 2701/2706/9462 +f 2697/2688/9463 2696/2699/9464 2703/2708/9465 2702/2707/9466 +f 2696/2699/9467 2695/2698/9468 2704/2710/9469 2703/2708/9470 +f 2683/2682/9471 2704/2710/9472 2695/2698/9473 2680/2665/9474 +f 2680/2665/9475 2679/2664/9476 2684/2683/9477 2683/2682/9478 +f 2679/2664/9479 2678/2675/9480 2685/2684/9481 2684/2683/9482 +f 2678/2675/9483 2677/2674/9484 2686/2686/9485 2685/2684/9486 +f 2667/2712/9487 2666/2713/9488 2675/2671/9489 2674/2670/9490 +f 2666/2713/9491 2665/2714/9492 2676/2672/9493 2675/2671/9494 +f 2665/2714/9495 2664/2715/9496 2677/2674/9497 2676/2672/9498 +f 2677/2674/9499 2664/2715/9500 2671/2716/9501 2686/2686/9502 +f 2671/2716/9503 2670/2717/9504 2687/2687/9505 2686/2686/9506 +f 2670/2717/9507 2669/2718/9508 2688/2676/9509 2687/2687/9510 +f 2669/2718/9511 2668/2719/9512 2689/2677/9513 2688/2676/9514 +f 2715/2720/9515 2714/2721/9516 2699/2702/9517 2707/2701/9518 +f 2714/2721/9519 2713/2722/9520 2700/2704/9521 2699/2702/9522 +f 2713/2722/9523 2712/2723/9524 2701/2706/9525 2700/2704/9526 +f 2712/2723/9527 2711/2724/9528 2698/2689/9529 2701/2706/9530 +f 2711/2724/9531 2710/2725/9532 2690/2690/9533 2698/2689/9534 +f 2710/2725/9535 2709/2726/9536 2691/2692/9537 2690/2690/9538 +f 2709/2726/9539 2708/2727/9540 2692/2694/9541 2691/2692/9542 +f 2692/2694/9543 2708/2727/9544 2667/2712/9545 2674/2670/9546 +f 2668/2719/9547 2715/2720/9548 2707/2701/9549 2689/2677/9550 +f 2707/2701/9551 2706/2700/9552 2681/2678/9553 2689/2677/9554 +f 2706/2700/9555 2705/2711/9556 2682/2680/9557 2681/2678/9558 +f 2705/2711/9559 2704/2710/9560 2683/2682/9561 2682/2680/9562 +f 2695/2698/9563 2694/2696/9564 2672/2666/9565 2680/2665/9566 +f 2694/2696/9567 2693/2695/9568 2673/2668/9569 2672/2666/9570 +f 2693/2695/9571 2692/2694/9572 2674/2670/9573 2673/2668/9574 +f 2608/2618/9575 2730/2728/9576 2737/2729/9577 2629/2619/9578 +f 2730/2728/9579 2729/2730/9580 2738/2731/9581 2737/2729/9582 +f 2729/2730/9583 2728/2732/9584 2739/2733/9585 2738/2731/9586 +f 2734/2734/9587 2733/2735/9588 2749/2736/9589 2748/2737/9590 +f 2733/2735/9591 2732/2738/9592 2750/2739/9593 2749/2736/9594 +f 2732/2738/9595 2731/2740/9596 2751/2741/9597 2750/2739/9598 +f 2629/2619/9599 2736/2742/9600 2754/2743/9601 2645/2637/9602 +f 2736/2742/9603 2735/2744/9604 2755/2745/9605 2754/2743/9606 +f 2755/2745/9607 2735/2744/9608 2742/2746/9609 2756/2747/9610 +f 2746/2748/9611 2745/2749/9612 2742/2746/9613 2741/2750/9614 +f 2747/2751/9615 2746/2748/9616 2741/2750/9617 2740/2752/9618 +f 2748/2737/9619 2747/2751/9620 2740/2752/9621 2739/2733/9622 +f 2745/2749/9623 2744/2753/9624 2766/2754/9625 2765/2755/9626 +f 2744/2753/9627 2743/2756/9628 2767/2757/9629 2766/2754/9630 +f 2743/2756/9631 2751/2741/9632 2768/2758/9633 2767/2757/9634 +f 2769/2759/9635 2651/2651/9636 2645/2637/9637 2753/2760/9638 +f 2770/2761/9639 2769/2759/9640 2753/2760/9641 2752/2762/9642 +f 2771/2763/9643 2770/2761/9644 2752/2762/9645 2759/2764/9646 +f 2763/2765/9647 2762/2766/9648 2759/2764/9649 2758/2767/9650 +f 2764/2768/9651 2763/2765/9652 2758/2767/9653 2757/2769/9654 +f 2765/2755/9655 2764/2768/9656 2757/2769/9657 2756/2747/9658 +f 2773/2770/9659 2772/2771/9660 2762/2766/9661 2761/2772/9662 +f 2774/2773/9663 2773/2770/9664 2761/2772/9665 2760/2774/9666 +f 2775/2775/9667 2774/2773/9668 2760/2774/9669 2768/2758/9670 +f 2739/2733/9671 2728/2732/9672 2734/2734/9673 2748/2737/9674 +f 2772/2771/9675 2771/2763/9676 2759/2764/9677 2762/2766/9678 +f 2731/2740/9679 2775/2775/9680 2768/2758/9681 2751/2741/9682 +f 2741/2750/9683 2742/2746/9684 2735/2744/9685 2776/2776/9686 +f 2776/2776/9687 2735/2744/9688 2736/2742/9689 2777/2777/9690 +f 2736/2742/9691 2629/2619/9692 2737/2729/9693 2777/2777/9694 +f 2777/2777/9695 2737/2729/9696 2738/2731/9697 2778/2778/9698 +f 2738/2731/9699 2739/2733/9700 2740/2752/9701 2778/2778/9702 +f 2778/2778/9703 2740/2752/9704 2741/2750/9705 2776/2776/9706 +f 2776/2776/9707 2777/2777/9708 2778/2778/9709 +f 2750/2739/9710 2751/2741/9711 2743/2756/9712 2779/2779/9713 +f 2779/2779/9714 2743/2756/9715 2744/2753/9716 2780/2780/9717 +f 2744/2753/9718 2745/2749/9719 2746/2748/9720 2780/2780/9721 +f 2780/2780/9722 2746/2748/9723 2747/2751/9724 2781/2781/9725 +f 2747/2751/9726 2748/2737/9727 2749/2736/9728 2781/2781/9729 +f 2781/2781/9730 2749/2736/9731 2750/2739/9732 2779/2779/9733 +f 2779/2779/9734 2780/2780/9735 2781/2781/9736 +f 2758/2767/9737 2759/2764/9738 2752/2762/9739 2782/2782/9740 +f 2782/2782/9741 2752/2762/9742 2753/2760/9743 2783/2783/9744 +f 2753/2760/9745 2645/2637/9746 2754/2743/9747 2783/2783/9748 +f 2783/2783/9749 2754/2743/9750 2755/2745/9751 2784/2784/9752 +f 2755/2745/9753 2756/2747/9754 2757/2769/9755 2784/2784/9756 +f 2784/2784/9757 2757/2769/9758 2758/2767/9759 2782/2782/9760 +f 2782/2782/9761 2783/2783/9762 2784/2784/9763 +f 2767/2757/9764 2768/2758/9765 2760/2774/9766 2785/2785/9767 +f 2785/2785/9768 2760/2774/9769 2761/2772/9770 2786/2786/9771 +f 2761/2772/9772 2762/2766/9773 2763/2765/9774 2786/2786/9775 +f 2786/2786/9776 2763/2765/9777 2764/2768/9778 2787/2787/9779 +f 2764/2768/9780 2765/2755/9781 2766/2754/9782 2787/2787/9783 +f 2787/2787/9784 2766/2754/9785 2767/2757/9786 2785/2785/9787 +f 2785/2785/9788 2786/2786/9789 2787/2787/9790 +f 2745/2749/9791 2765/2755/9792 2756/2747/9793 2742/2746/9794 +f 2794/2788/9795 2795/2789/9796 2788/2790/9797 2830/2791/9798 +f 2830/2791/9799 2788/2790/9800 2789/2792/9801 2831/2793/9802 +f 2789/2792/9803 2393/2385/9804 2790/2794/9805 2831/2793/9806 +f 2831/2793/9807 2790/2794/9808 2791/2795/9809 2832/2796/9810 +f 2791/2795/9811 2792/2797/9812 2793/2798/9813 2832/2796/9814 +f 2832/2796/9815 2793/2798/9816 2794/2788/9817 2830/2791/9818 +f 2830/2791/9819 2831/2793/9820 2832/2796/9821 +f 2806/2799/9822 2807/2800/9823 2799/2801/9824 2833/2802/9825 +f 2833/2802/9826 2799/2801/9827 2800/2803/9828 2834/2804/9829 +f 2800/2803/9830 2801/2805/9831 2802/2806/9832 2834/2804/9833 +f 2834/2804/9834 2802/2806/9835 2803/2807/9836 2835/2808/9837 +f 2803/2807/9838 2804/2809/9839 2805/2810/9840 2835/2808/9841 +f 2835/2808/9842 2805/2810/9843 2806/2799/9844 2833/2802/9845 +f 2833/2802/9846 2834/2804/9847 2835/2808/9848 +f 2819/2811/9849 2500/2504/9850 2812/2812/9851 2836/2813/9852 +f 2836/2813/9853 2812/2812/9854 2813/2814/9855 2837/2815/9856 +f 2813/2814/9857 2814/2816/9858 2815/2817/9859 2837/2815/9860 +f 2837/2815/9861 2815/2817/9862 2816/2818/9863 2838/2819/9864 +f 2816/2818/9865 2817/2820/9866 2818/2821/9867 2838/2819/9868 +f 2838/2819/9869 2818/2821/9870 2819/2811/9871 2836/2813/9872 +f 2836/2813/9873 2837/2815/9874 2838/2819/9875 +f 2829/2822/9876 2403/2405/9877 2823/2823/9878 2839/2824/9879 +f 2839/2824/9880 2823/2823/9881 2824/2825/9882 2840/2826/9883 +f 2824/2825/9884 2825/2827/9885 2826/2828/9886 2840/2826/9887 +f 2840/2826/9888 2826/2828/9889 2827/2829/9890 2841/2830/9891 +f 2827/2829/9892 2491/2492/9893 2828/2831/9894 2841/2830/9895 +f 2841/2830/9896 2828/2831/9897 2829/2822/9898 2839/2824/9899 +f 2839/2824/9900 2840/2826/9901 2841/2830/9902 +f 2500/2504/9903 2819/2811/9904 2820/2832/9905 2486/2529/9906 +f 2819/2811/9907 2818/2821/9908 2821/2833/9909 2820/2832/9910 +f 2818/2821/9911 2817/2820/9912 2822/2834/9913 2821/2833/9914 +f 2817/2820/9915 2807/2800/9916 2808/2835/9917 2822/2834/9918 +f 2807/2800/9919 2806/2799/9920 2809/2836/9921 2808/2835/9922 +f 2806/2799/9923 2805/2810/9924 2810/2837/9925 2809/2836/9926 +f 2805/2810/9927 2804/2809/9928 2811/2838/9929 2810/2837/9930 +f 2792/2797/9931 2791/2795/9932 2797/2839/9933 2796/2840/9934 +f 2791/2795/9935 2790/2794/9936 2798/2841/9937 2797/2839/9938 +f 2790/2794/9939 2393/2385/9940 2394/2419/9941 2798/2841/9942 +f 2802/2806/9943 2801/2805/9944 2795/2789/9945 2794/2788/9946 +f 2803/2807/9947 2802/2806/9948 2794/2788/9949 2793/2798/9950 +f 2804/2809/9951 2803/2807/9952 2793/2798/9953 2792/2797/9954 +f 2812/2812/9955 2500/2504/9956 2491/2492/9957 2827/2829/9958 +f 2813/2814/9959 2812/2812/9960 2827/2829/9961 2826/2828/9962 +f 2814/2816/9963 2813/2814/9964 2826/2828/9965 2825/2827/9966 +f 2801/2805/9967 2814/2816/9968 2825/2827/9969 2795/2789/9970 +f 2817/2820/9971 2816/2818/9972 2799/2801/9973 2807/2800/9974 +f 2816/2818/9975 2815/2817/9976 2800/2803/9977 2799/2801/9978 +f 2815/2817/9979 2814/2816/9980 2801/2805/9981 2800/2803/9982 +f 2825/2827/9983 2824/2825/9984 2788/2790/9985 2795/2789/9986 +f 2824/2825/9987 2823/2823/9988 2789/2792/9989 2788/2790/9990 +f 2823/2823/9991 2403/2405/9992 2393/2385/9993 2789/2792/9994 +f 2857/2842/9995 2858/2843/9996 2850/2844/9997 2890/2845/9998 +f 2890/2845/9999 2850/2844/10000 2851/2846/10001 2891/2847/10002 +f 2851/2846/10003 2852/2848/10004 2853/2849/10005 2891/2847/10006 +f 2891/2847/10007 2853/2849/10008 2854/2850/10009 2892/2851/10010 +f 2854/2850/10011 2855/2852/10012 2856/2853/10013 2892/2851/10014 +f 2892/2851/10015 2856/2853/10016 2857/2842/10017 2890/2845/10018 +f 2890/2845/10019 2891/2847/10020 2892/2851/10021 +f 2866/2854/10022 2867/2855/10023 2859/2856/10024 2893/2857/10025 +f 2893/2857/10026 2859/2856/10027 2860/2858/10028 2894/2859/10029 +f 2860/2858/10030 2861/2860/10031 2862/2861/10032 2894/2859/10033 +f 2894/2859/10034 2862/2861/10035 2863/2862/10036 2895/2863/10037 +f 2863/2862/10038 2864/2864/10039 2865/2865/10040 2895/2863/10041 +f 2895/2863/10042 2865/2865/10043 2866/2854/10044 2893/2857/10045 +f 2893/2857/10046 2894/2859/10047 2895/2863/10048 +f 2875/2866/10049 2792/2797/10050 2868/2867/10051 2896/2868/10052 +f 2896/2868/10053 2868/2867/10054 2869/2869/10055 2897/2870/10056 +f 2869/2869/10057 2870/2871/10058 2871/2872/10059 2897/2870/10060 +f 2897/2870/10061 2871/2872/10062 2872/2873/10063 2898/2874/10064 +f 2872/2873/10065 2873/2875/10066 2874/2876/10067 2898/2874/10068 +f 2898/2874/10069 2874/2876/10070 2875/2866/10071 2896/2868/10072 +f 2896/2868/10073 2897/2870/10074 2898/2874/10075 +f 2882/2877/10076 2883/2878/10077 2876/2879/10078 2899/2880/10079 +f 2899/2880/10080 2876/2879/10081 2877/2881/10082 2900/2882/10083 +f 2877/2881/10084 2804/2809/10085 2878/2883/10086 2900/2882/10087 +f 2900/2882/10088 2878/2883/10089 2879/2884/10090 2901/2885/10091 +f 2879/2884/10092 2880/2886/10093 2881/2887/10094 2901/2885/10095 +f 2901/2885/10096 2881/2887/10097 2882/2877/10098 2899/2880/10099 +f 2899/2880/10100 2900/2882/10101 2901/2885/10102 +f 2878/2883/10103 2804/2809/10104 2792/2797/10105 2875/2866/10106 +f 2879/2884/10107 2878/2883/10108 2875/2866/10109 2874/2876/10110 +f 2880/2886/10111 2879/2884/10112 2874/2876/10113 2873/2875/10114 +f 2861/2860/10115 2880/2886/10116 2873/2875/10117 2858/2843/10118 +f 2862/2861/10119 2861/2860/10120 2858/2843/10121 2857/2842/10122 +f 2863/2862/10123 2862/2861/10124 2857/2842/10125 2856/2853/10126 +f 2864/2864/10127 2863/2862/10128 2856/2853/10129 2855/2852/10130 +f 2853/2849/10131 2852/2848/10132 2845/2888/10133 2844/2889/10134 +f 2854/2850/10135 2853/2849/10136 2844/2889/10137 2843/2890/10138 +f 2855/2852/10139 2854/2850/10140 2843/2890/10141 2842/2891/10142 +f 2864/2864/10143 2855/2852/10144 2842/2891/10145 2849/2892/10146 +f 2865/2865/10147 2864/2864/10148 2849/2892/10149 2848/2893/10150 +f 2866/2854/10151 2865/2865/10152 2848/2893/10153 2847/2894/10154 +f 2867/2855/10155 2866/2854/10156 2847/2894/10157 2846/2895/10158 +f 2876/2879/10159 2883/2878/10160 2889/2896/10161 2888/2897/10162 +f 2877/2881/10163 2876/2879/10164 2888/2897/10165 2887/2898/10166 +f 2804/2809/10167 2877/2881/10168 2887/2898/10169 2811/2838/10170 +f 2868/2867/10171 2792/2797/10172 2796/2840/10173 2886/2899/10174 +f 2869/2869/10175 2868/2867/10176 2886/2899/10177 2885/2900/10178 +f 2870/2871/10179 2869/2869/10180 2885/2900/10181 2884/2901/10182 +f 2852/2848/10183 2870/2871/10184 2884/2901/10185 2845/2888/10186 +f 2883/2878/10187 2867/2855/10188 2846/2895/10189 2889/2896/10190 +f 2859/2856/10191 2867/2855/10192 2883/2878/10193 2882/2877/10194 +f 2860/2858/10195 2859/2856/10196 2882/2877/10197 2881/2887/10198 +f 2861/2860/10199 2860/2858/10200 2881/2887/10201 2880/2886/10202 +f 2850/2844/10203 2858/2843/10204 2873/2875/10205 2872/2873/10206 +f 2851/2846/10207 2850/2844/10208 2872/2873/10209 2871/2872/10210 +f 2852/2848/10211 2851/2846/10212 2871/2872/10213 2870/2871/10214 +f 2273/2269/10215 2272/2268/10216 2902/2902/10217 +f 2271/2279/10218 2270/2278/10219 2902/2902/10220 +f 2272/2268/10221 2271/2279/10222 2902/2902/10223 +f 2270/2278/10224 2405/2396/10225 2902/2902/10226 +f 2404/2406/10227 2403/2405/10228 2902/2902/10229 +f 2405/2396/10230 2404/2406/10231 2902/2902/10232 +f 2489/2489/10233 2273/2269/10234 2902/2902/10235 +f 2490/2490/10236 2489/2489/10237 2902/2902/10238 +f 2491/2492/10239 2490/2490/10240 2902/2902/10241 +f 2403/2405/10242 2829/2822/10243 2902/2902/10244 +f 2828/2831/10245 2491/2492/10246 2902/2902/10247 +f 2829/2822/10248 2828/2831/10249 2902/2902/10250 +f 2906/2903/10251 2904/2904/10252 2903/2905/10253 2905/2906/10254 +f 2908/2907/10255 2907/2908/10256 2904/2909/10257 2906/2910/10258 +f 2910/2911/10259 2909/2912/10260 2907/2913/10261 2908/2914/10262 +f 2905/2915/10263 2903/2916/10264 2909/2917/10265 2910/2918/10266 +f 2911/2919/10267 2910/2920/10268 2908/2921/10269 2913/2922/10270 +f 2917/2923/10271 2918/2924/10272 2916/2925/10273 2915/2926/10274 +f 2913/2922/10275 2908/2921/10276 2906/2927/10277 2914/2928/10278 +f 2911/2929/10279 2915/2930/10280 2916/2931/10281 2912/2932/10282 +f 2913/2933/10283 2917/2934/10284 2915/2935/10285 2911/2936/10286 +f 2918/2937/10287 2917/2938/10288 2913/2939/10289 2914/2940/10290 +f 2918/2941/10291 2914/2942/10292 2912/2943/10293 2916/2944/10294 +f 2905/2945/10295 2910/2920/10296 2911/2919/10297 2912/2946/10298 +f 2906/2927/10299 2905/2945/10300 2912/2946/10301 2914/2928/10302 +f 2909/2947/10303 2903/2948/10304 2904/2949/10305 2907/2950/10306 +f 2919/2951/10307 2920/2952/10308 3026/2953/10309 3025/2954/10310 +f 3070/2955/10311 2919/2951/10312 3025/2956/10313 3098/2957/10314 +f 2924/2958/10315 2930/2959/10316 2929/2960/10317 2923/2961/10318 +f 2925/2962/10319 2931/2963/10320 2930/2959/10321 2924/2958/10322 +f 2926/2964/10323 2932/2965/10324 2931/2963/10325 2925/2962/10326 +f 2927/2966/10327 2933/2967/10328 2932/2965/10329 2926/2964/10330 +f 2928/2968/10331 2934/2969/10332 2933/2967/10333 2927/2966/10334 +f 2923/2961/10335 2929/2960/10336 2934/2969/10337 2928/2968/10338 +f 2930/2970/10339 2936/2971/10340 2935/2972/10341 2929/2973/10342 +f 2931/2974/10343 2937/2975/10344 2936/2976/10345 2930/2977/10346 +f 2932/2978/10347 2938/2979/10348 2937/2975/10349 2931/2974/10350 +f 2933/2980/10351 2939/2981/10352 2938/2979/10353 2932/2978/10354 +f 2934/2982/10355 2940/2983/10356 2939/2981/10357 2933/2980/10358 +f 2929/2973/10359 2935/2972/10360 2940/2983/10361 2934/2982/10362 +f 2951/2984/10363 2952/2985/10364 2953/2986/10365 +f 2952/2985/10366 2954/2987/10367 2953/2986/10368 +f 2955/2988/10369 2956/2989/10370 2953/2986/10371 +f 2956/2989/10372 2951/2984/10373 2953/2986/10374 +f 2958/2990/10375 2957/2991/10376 2959/2992/10377 +f 2960/2993/10378 2958/2990/10379 2959/2992/10380 +f 2962/2994/10381 2961/2995/10382 2959/2992/10383 +f 2957/2991/10384 2962/2994/10385 2959/2992/10386 +f 2946/2996/10387 2947/2997/10388 2942/2998/10389 2941/2999/10390 +f 2947/2997/10391 2948/3000/10392 2943/3001/10393 2942/2998/10394 +f 2949/3002/10395 2950/3003/10396 2945/3004/10397 2944/3005/10398 +f 2950/3003/10399 2946/2996/10400 2941/2999/10401 2945/3004/10402 +f 2941/2999/10403 2942/2998/10404 2952/2985/10405 2951/2984/10406 +f 2942/2998/10407 2943/3001/10408 2954/2987/10409 2952/2985/10410 +f 2944/3005/10411 2945/3004/10412 2956/2989/10413 2955/2988/10414 +f 2945/3004/10415 2941/2999/10416 2951/2984/10417 2956/2989/10418 +f 2947/2997/10419 2946/2996/10420 2957/2991/10421 2958/2990/10422 +f 2948/3000/10423 2947/2997/10424 2958/2990/10425 2960/2993/10426 +f 2950/3003/10427 2949/3002/10428 2961/2995/10429 2962/2994/10430 +f 2946/2996/10431 2950/3003/10432 2962/2994/10433 2957/2991/10434 +f 2964/3006/10435 2963/3007/10436 2983/3008/10437 2984/3009/10438 +f 2965/3010/10439 2964/3006/10440 2984/3009/10441 2986/3011/10442 +f 2966/3012/10443 2965/3010/10444 2986/3011/10445 2987/3013/10446 +f 2967/3014/10447 2966/3012/10448 2987/3013/10449 2988/3015/10450 +f 2968/3016/10451 2967/3014/10452 2988/3015/10453 2989/3017/10454 +f 2969/3018/10455 2968/3016/10456 2989/3017/10457 2990/3019/10458 +f 2970/3020/10459 2969/3018/10460 2990/3019/10461 2991/3021/10462 +f 2971/3022/10463 2970/3020/10464 2991/3021/10465 2992/3023/10466 +f 2972/3024/10467 2971/3022/10468 2992/3023/10469 2993/3025/10470 +f 2973/3026/10471 2972/3024/10472 2993/3025/10473 2994/3027/10474 +f 2974/3028/10475 2973/3026/10476 2994/3027/10477 2995/3029/10478 +f 2975/3030/10479 2974/3028/10480 2995/3029/10481 2996/3031/10482 +f 2976/3032/10483 2975/3030/10484 2996/3031/10485 2997/3033/10486 +f 2977/3034/10487 2976/3032/10488 2997/3033/10489 2998/3035/10490 +f 2978/3036/10491 2977/3034/10492 2998/3035/10493 2999/3037/10494 +f 2979/3038/10495 2978/3036/10496 2999/3037/10497 3000/3039/10498 +f 2980/3040/10499 2979/3038/10500 3000/3039/10501 3001/3041/10502 +f 2981/3042/10503 2980/3040/10504 3001/3041/10505 3002/3043/10506 +f 2982/3044/10507 2981/3042/10508 3002/3043/10509 3003/3045/10510 +f 2963/3007/10511 2982/3044/10512 3003/3045/10513 2983/3008/10514 +f 2984/3009/10515 2983/3008/10516 2985/3046/10517 +f 2986/3011/10518 2984/3009/10519 2985/3046/10520 +f 2987/3013/10521 2986/3011/10522 2985/3046/10523 +f 2988/3015/10524 2987/3013/10525 2985/3046/10526 +f 2989/3017/10527 2988/3015/10528 2985/3046/10529 +f 2990/3019/10530 2989/3017/10531 2985/3046/10532 +f 2991/3021/10533 2990/3019/10534 2985/3046/10535 +f 2992/3023/10536 2991/3021/10537 2985/3046/10538 +f 2993/3025/10539 2992/3023/10540 2985/3046/10541 +f 2994/3027/10542 2993/3025/10543 2985/3046/10544 +f 2995/3029/10545 2994/3027/10546 2985/3046/10547 +f 2996/3031/10548 2995/3029/10549 2985/3046/10550 +f 2997/3033/10551 2996/3031/10552 2985/3046/10553 +f 2998/3035/10554 2997/3033/10555 2985/3046/10556 +f 2999/3037/10557 2998/3035/10558 2985/3046/10559 +f 3000/3039/10560 2999/3037/10561 2985/3046/10562 +f 3001/3041/10563 3000/3039/10564 2985/3046/10565 +f 3002/3043/10566 3001/3041/10567 2985/3046/10568 +f 3003/3045/10569 3002/3043/10570 2985/3046/10571 +f 2983/3008/10572 3003/3045/10573 2985/3046/10574 +f 3005/3047/10575 3004/3048/10576 3010/3049/10577 +f 3006/3050/10578 3005/3047/10579 3010/3049/10580 +f 3007/3051/10581 3006/3050/10582 3010/3049/10583 +f 3008/3052/10584 3007/3051/10585 3010/3049/10586 +f 3009/3053/10587 3008/3052/10588 3010/3049/10589 +f 3004/3048/10590 3009/3053/10591 3010/3049/10592 +f 2943/3001/10593 2948/3000/10594 2920/2952/10595 2919/2951/10596 +f 2949/3002/10597 2944/3005/10598 2921/3054/10599 2922/3055/10600 +f 2954/2987/10601 2943/3001/10602 2919/2951/10603 +f 2944/3005/10604 2955/2988/10605 2921/3054/10606 +f 2920/2952/10607 2948/3000/10608 2960/2993/10609 +f 2949/3002/10610 2922/3055/10611 2961/2995/10612 +f 2959/2992/10613 3012/3056/10614 2920/2952/10615 2960/2993/10616 +f 2921/3054/10617 3011/3057/10618 3096/3058/10619 3072/3059/10620 +f 2921/3054/10621 2955/2988/10622 2953/2986/10623 3011/3057/10624 +f 3011/3057/10625 2953/2986/10626 2954/2987/10627 2919/2951/10628 +f 3011/3057/10629 2919/2951/10630 3070/2955/10631 3096/3058/10632 +f 2961/2995/10633 2922/3055/10634 3012/3056/10635 2959/2992/10636 +f 3098/3060/10637 3025/3061/10638 2921/3054/10639 3072/3059/10640 +f 3015/3062/10641 3107/3063/10642 3108/3064/10643 3028/3065/10644 +f 3014/3066/10645 3020/3067/10646 3029/3068/10647 3027/3069/10648 +f 3020/3067/10649 3021/3070/10650 3030/3071/10651 3029/3068/10652 +f 3021/3070/10653 3015/3062/10654 3028/3065/10655 3030/3071/10656 +f 3013/3072/10657 3105/3073/10658 3106/3074/10659 3032/3075/10660 +f 3018/3076/10661 3024/3077/10662 3033/3078/10663 3031/3079/10664 +f 3024/3077/10665 3019/3080/10666 3034/3081/10667 3033/3078/10668 +f 3019/3080/10669 3013/3072/10670 3032/3075/10671 3034/3081/10672 +f 3017/3082/10673 3109/3083/10674 3110/3084/10675 3036/3085/10676 +f 3016/3086/10677 3022/3087/10678 3037/3088/10679 3035/3089/10680 +f 3022/3087/10681 3023/3090/10682 3038/3091/10683 3037/3088/10684 +f 3023/3090/10685 3017/3082/10686 3036/3085/10687 3038/3091/10688 +f 3039/3092/10689 3040/3093/10690 3068/3094/10691 3067/3095/10692 +f 2920/2952/10693 3039/3092/10694 3067/3096/10695 3026/3097/10696 +f 3053/3098/10697 3054/3099/10698 3055/3100/10699 +f 3054/3099/10700 3056/3101/10701 3055/3100/10702 +f 3057/3102/10703 3058/3103/10704 3055/3100/10705 +f 3058/3103/10706 3053/3098/10707 3055/3100/10708 +f 3060/3104/10709 3059/3105/10710 3061/3106/10711 +f 3062/3107/10712 3060/3104/10713 3061/3106/10714 +f 3064/3108/10715 3063/3109/10716 3061/3106/10717 +f 3059/3105/10718 3064/3108/10719 3061/3106/10720 +f 3048/3110/10721 3049/3111/10722 3044/3112/10723 3043/3113/10724 +f 3049/3111/10725 3050/3114/10726 3045/3115/10727 3044/3112/10728 +f 3051/3116/10729 3052/3117/10730 3047/3118/10731 3046/3119/10732 +f 3052/3117/10733 3048/3110/10734 3043/3113/10735 3047/3118/10736 +f 3043/3113/10737 3044/3112/10738 3054/3099/10739 3053/3098/10740 +f 3044/3112/10741 3045/3115/10742 3056/3101/10743 3054/3099/10744 +f 3046/3119/10745 3047/3118/10746 3058/3103/10747 3057/3102/10748 +f 3047/3118/10749 3043/3113/10750 3053/3098/10751 3058/3103/10752 +f 3049/3111/10753 3048/3110/10754 3059/3105/10755 3060/3104/10756 +f 3050/3114/10757 3049/3111/10758 3060/3104/10759 3062/3107/10760 +f 3052/3117/10761 3051/3116/10762 3063/3109/10763 3064/3108/10764 +f 3048/3110/10765 3052/3117/10766 3064/3108/10767 3059/3105/10768 +f 3045/3115/10769 3050/3114/10770 3040/3093/10771 3039/3092/10772 +f 3051/3116/10773 3046/3119/10774 3041/3120/10775 3042/3121/10776 +f 3056/3101/10777 3045/3115/10778 3039/3092/10779 +f 3046/3119/10780 3057/3102/10781 3041/3120/10782 +f 3040/3093/10783 3050/3114/10784 3062/3107/10785 +f 3051/3116/10786 3042/3121/10787 3063/3109/10788 +f 3061/3106/10789 3066/3122/10790 3040/3093/10791 3062/3107/10792 +f 2922/3055/10793 3041/3120/10794 3065/3123/10795 3012/3056/10796 +f 3041/3120/10797 3057/3102/10798 3055/3100/10799 3065/3123/10800 +f 3065/3123/10801 3055/3100/10802 3056/3101/10803 3039/3092/10804 +f 3012/3056/10805 3065/3123/10806 3039/3092/10807 2920/2952/10808 +f 3063/3109/10809 3042/3121/10810 3066/3122/10811 3061/3106/10812 +f 3042/3121/10813 3041/3120/10814 3067/3124/10815 3068/3125/10816 +f 3026/3126/10817 3067/3124/10818 3041/3120/10819 2922/3055/10820 +f 3069/3127/10821 3070/2955/10822 3098/3128/10823 3097/3129/10824 +f 3040/3093/10825 3069/3127/10826 3097/3130/10827 3068/3131/10828 +f 3083/3132/10829 3084/3133/10830 3085/3134/10831 +f 3084/3133/10832 3086/3135/10833 3085/3134/10834 +f 3087/3136/10835 3088/3137/10836 3085/3134/10837 +f 3088/3137/10838 3083/3132/10839 3085/3134/10840 +f 3090/3138/10841 3089/3139/10842 3091/3140/10843 +f 3092/3141/10844 3090/3138/10845 3091/3140/10846 +f 3094/3142/10847 3093/3143/10848 3091/3140/10849 +f 3089/3139/10850 3094/3142/10851 3091/3140/10852 +f 3078/3144/10853 3079/3145/10854 3074/3146/10855 3073/3147/10856 +f 3079/3145/10857 3080/3148/10858 3075/3149/10859 3074/3146/10860 +f 3081/3150/10861 3082/3151/10862 3077/3152/10863 3076/3153/10864 +f 3082/3151/10865 3078/3144/10866 3073/3147/10867 3077/3152/10868 +f 3073/3147/10869 3074/3146/10870 3084/3133/10871 3083/3132/10872 +f 3074/3146/10873 3075/3149/10874 3086/3135/10875 3084/3133/10876 +f 3076/3153/10877 3077/3152/10878 3088/3137/10879 3087/3136/10880 +f 3077/3152/10881 3073/3147/10882 3083/3132/10883 3088/3137/10884 +f 3079/3145/10885 3078/3144/10886 3089/3139/10887 3090/3138/10888 +f 3080/3148/10889 3079/3145/10890 3090/3138/10891 3092/3141/10892 +f 3082/3151/10893 3081/3150/10894 3093/3143/10895 3094/3142/10896 +f 3078/3144/10897 3082/3151/10898 3094/3142/10899 3089/3139/10900 +f 3075/3149/10901 3080/3148/10902 3070/2955/10903 3069/3127/10904 +f 3081/3150/10905 3076/3153/10906 3071/3154/10907 3072/3059/10908 +f 3086/3135/10909 3075/3149/10910 3069/3127/10911 +f 3076/3153/10912 3087/3136/10913 3071/3154/10914 +f 3070/2955/10915 3080/3148/10916 3092/3141/10917 +f 3081/3150/10918 3072/3059/10919 3093/3143/10920 +f 3091/3140/10921 3096/3058/10922 3070/2955/10923 3092/3141/10924 +f 3042/3121/10925 3071/3154/10926 3095/3155/10927 3066/3122/10928 +f 3071/3154/10929 3087/3136/10930 3085/3134/10931 3095/3155/10932 +f 3095/3155/10933 3085/3134/10934 3086/3135/10935 3069/3127/10936 +f 3066/3122/10937 3095/3155/10938 3069/3127/10939 3040/3093/10940 +f 3093/3143/10941 3072/3059/10942 3096/3058/10943 3091/3140/10944 +f 3072/3059/10945 3071/3154/10946 3097/3156/10947 3098/3060/10948 +f 3068/3125/10949 3097/3156/10950 3071/3154/10951 3042/3121/10952 +f 3004/3048/10953 3005/3047/10954 3100/3157/10955 3099/3158/10956 +f 3005/3047/10957 3006/3050/10958 3101/3159/10959 3100/3157/10960 +f 3006/3050/10961 3007/3051/10962 3102/3160/10963 3101/3159/10964 +f 3007/3051/10965 3008/3052/10966 3103/3161/10967 3102/3160/10968 +f 3008/3052/10969 3009/3053/10970 3104/3162/10971 3103/3161/10972 +f 3009/3053/10973 3004/3048/10974 3099/3158/10975 3104/3162/10976 +f 3099/3158/10977 3100/3157/10978 2924/2958/10979 2923/2961/10980 +f 3100/3157/10981 3101/3159/10982 2925/2962/10983 2924/2958/10984 +f 3101/3159/10985 3102/3160/10986 2926/2964/10987 2925/2962/10988 +f 3102/3160/10989 3103/3161/10990 2927/2966/10991 2926/2964/10992 +f 3103/3161/10993 3104/3162/10994 2928/2968/10995 2927/2966/10996 +f 3104/3162/10997 3099/3158/10998 2923/2961/10999 2928/2968/11000 +f 3105/3163/11001 3018/3076/11002 3031/3079/11003 3106/3164/11004 +f 3107/3165/11005 3014/3066/11006 3027/3069/11007 3108/3166/11008 +f 3109/3167/11009 3016/3086/11010 3035/3089/11011 3110/3168/11012 +f 3025/3061/11013 3026/3126/11014 2922/3055/11015 2921/3054/11016 diff --git a/Assets/GoogleVR/Demos/Environment/CubeRoom.obj.meta b/Assets/GoogleVR/Demos/Environment/CubeRoom.obj.meta new file mode 100644 index 0000000..e2acc18 --- /dev/null +++ b/Assets/GoogleVR/Demos/Environment/CubeRoom.obj.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: 0d17106c40ecd4920976ddf8d6effd9b +timeCreated: 1509059845 +licenseType: Pro +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: //RootNode + 100002: CubeRoom_GEO + 400000: //RootNode + 400002: CubeRoom_GEO + 2300000: CubeRoom_GEO + 3300000: CubeRoom_GEO + 4300000: CubeRoom_GEO + materials: + importMaterials: 0 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Environment/CubeRoom.prefab b/Assets/GoogleVR/Demos/Environment/CubeRoom.prefab new file mode 100644 index 0000000..cfd715a --- /dev/null +++ b/Assets/GoogleVR/Demos/Environment/CubeRoom.prefab @@ -0,0 +1,196 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1000013165000468} + m_IsPrefabParent: 1 +--- !u!1 &1000011959013568 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4000010083050526} + - component: {fileID: 33000012572763690} + - component: {fileID: 23000013708927898} + - component: {fileID: 64000011095866406} + m_Layer: 0 + m_Name: CubeRoomEnv + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000013165000468 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4000014274899290} + m_Layer: 0 + m_Name: CubeRoom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1251124450334416 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4841717847689300} + - component: {fileID: 33924111022362422} + - component: {fileID: 23808971310746206} + m_Layer: 0 + m_Name: SafetyRing + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4000010083050526 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011959013568} + 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_Children: [] + m_Father: {fileID: 4000014274899290} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4000014274899290 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013165000468} + 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_Children: + - {fileID: 4000010083050526} + - {fileID: 4841717847689300} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4841717847689300 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1251124450334416} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.01, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4000014274899290} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23000013708927898 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011959013568} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 7ac05d4c78dbc4bd792428649b027747, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23808971310746206 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1251124450334416} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 9118f68ba7df646b495e4208d2233d85, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!33 &33000012572763690 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011959013568} + m_Mesh: {fileID: 4300000, guid: 0d17106c40ecd4920976ddf8d6effd9b, type: 3} +--- !u!33 &33924111022362422 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1251124450334416} + m_Mesh: {fileID: 4300000, guid: e49edac1fa42d4e8290c88dfb8cb4acf, type: 3} +--- !u!64 &64000011095866406 +MeshCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011959013568} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: 0d17106c40ecd4920976ddf8d6effd9b, type: 3} diff --git a/Assets/GoogleVR/Demos/Environment/CubeRoom.prefab.meta b/Assets/GoogleVR/Demos/Environment/CubeRoom.prefab.meta new file mode 100644 index 0000000..f352c27 --- /dev/null +++ b/Assets/GoogleVR/Demos/Environment/CubeRoom.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c12db6ac95da443448d6aa9e4cfc66c0 +timeCreated: 1499380585 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Environment/CubeRoom_BakedDiffuse.png b/Assets/GoogleVR/Demos/Environment/CubeRoom_BakedDiffuse.png new file mode 100644 index 0000000..398bce6 Binary files /dev/null and b/Assets/GoogleVR/Demos/Environment/CubeRoom_BakedDiffuse.png differ diff --git a/Assets/GoogleVR/Demos/Environment/CubeRoom_BakedDiffuse.png.meta b/Assets/GoogleVR/Demos/Environment/CubeRoom_BakedDiffuse.png.meta new file mode 100644 index 0000000..84aff70 --- /dev/null +++ b/Assets/GoogleVR/Demos/Environment/CubeRoom_BakedDiffuse.png.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: 2b8cd4cf3f22749a9b8e8371a42883c2 +timeCreated: 1509059828 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: iPhone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Environment/Materials.meta b/Assets/GoogleVR/Demos/Environment/Materials.meta new file mode 100644 index 0000000..2b9908c --- /dev/null +++ b/Assets/GoogleVR/Demos/Environment/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c052bfa420c246c499518eff92e8ee2f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Environment/Materials/CubeRoomEnvMat.mat b/Assets/GoogleVR/Demos/Environment/Materials/CubeRoomEnvMat.mat new file mode 100644 index 0000000..414c61a --- /dev/null +++ b/Assets/GoogleVR/Demos/Environment/Materials/CubeRoomEnvMat.mat @@ -0,0 +1,26 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: CubeRoomEnvMat + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: 2b8cd4cf3f22749a9b8e8371a42883c2, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] diff --git a/Assets/GoogleVR/Demos/Environment/Materials/CubeRoomEnvMat.mat.meta b/Assets/GoogleVR/Demos/Environment/Materials/CubeRoomEnvMat.mat.meta new file mode 100644 index 0000000..3be4c03 --- /dev/null +++ b/Assets/GoogleVR/Demos/Environment/Materials/CubeRoomEnvMat.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7ac05d4c78dbc4bd792428649b027747 +timeCreated: 1479502985 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Images.meta b/Assets/GoogleVR/Demos/Images.meta new file mode 100644 index 0000000..61ab8bd --- /dev/null +++ b/Assets/GoogleVR/Demos/Images.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9bb461536bfa1e14bb859f93acbbd22c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Images/HelloVR_AppTile_bg.png b/Assets/GoogleVR/Demos/Images/HelloVR_AppTile_bg.png new file mode 100644 index 0000000..94d964c Binary files /dev/null and b/Assets/GoogleVR/Demos/Images/HelloVR_AppTile_bg.png differ diff --git a/Assets/GoogleVR/Demos/Images/HelloVR_AppTile_bg.png.meta b/Assets/GoogleVR/Demos/Images/HelloVR_AppTile_bg.png.meta new file mode 100644 index 0000000..6faf233 --- /dev/null +++ b/Assets/GoogleVR/Demos/Images/HelloVR_AppTile_bg.png.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: 288db1a85cba3455c9a11b25773781e2 +timeCreated: 1510962851 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: iPhone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Images/HelloVR_AppTile_front.png b/Assets/GoogleVR/Demos/Images/HelloVR_AppTile_front.png new file mode 100644 index 0000000..0e50fe1 Binary files /dev/null and b/Assets/GoogleVR/Demos/Images/HelloVR_AppTile_front.png differ diff --git a/Assets/GoogleVR/Demos/Images/HelloVR_AppTile_front.png.meta b/Assets/GoogleVR/Demos/Images/HelloVR_AppTile_front.png.meta new file mode 100644 index 0000000..e222376 --- /dev/null +++ b/Assets/GoogleVR/Demos/Images/HelloVR_AppTile_front.png.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: c4ae70383ca474f52a620a85650f58e3 +timeCreated: 1510962852 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: iPhone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Images/HelloVR_Splash.png b/Assets/GoogleVR/Demos/Images/HelloVR_Splash.png new file mode 100644 index 0000000..e6e6a57 Binary files /dev/null and b/Assets/GoogleVR/Demos/Images/HelloVR_Splash.png differ diff --git a/Assets/GoogleVR/Demos/Images/HelloVR_Splash.png.meta b/Assets/GoogleVR/Demos/Images/HelloVR_Splash.png.meta new file mode 100644 index 0000000..109f898 --- /dev/null +++ b/Assets/GoogleVR/Demos/Images/HelloVR_Splash.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 2dcc47444163a4a20982a545ebfb41c3 +timeCreated: 1510962238 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Images/VideoDemo.meta b/Assets/GoogleVR/Demos/Images/VideoDemo.meta new file mode 100644 index 0000000..3883bf2 --- /dev/null +++ b/Assets/GoogleVR/Demos/Images/VideoDemo.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 788a434ff8faa46489444b32a68b12a6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Images/VideoDemo/circle.png b/Assets/GoogleVR/Demos/Images/VideoDemo/circle.png new file mode 100644 index 0000000..4b5bc2c Binary files /dev/null and b/Assets/GoogleVR/Demos/Images/VideoDemo/circle.png differ diff --git a/Assets/GoogleVR/Demos/Images/VideoDemo/circle.png.meta b/Assets/GoogleVR/Demos/Images/VideoDemo/circle.png.meta new file mode 100644 index 0000000..f95041c --- /dev/null +++ b/Assets/GoogleVR/Demos/Images/VideoDemo/circle.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 2d89a5f92f03449f2bd6c28c914115fc +timeCreated: 1471989503 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 96 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Images/VideoDemo/hollowknob.png b/Assets/GoogleVR/Demos/Images/VideoDemo/hollowknob.png new file mode 100644 index 0000000..47107ac Binary files /dev/null and b/Assets/GoogleVR/Demos/Images/VideoDemo/hollowknob.png differ diff --git a/Assets/GoogleVR/Demos/Images/VideoDemo/hollowknob.png.meta b/Assets/GoogleVR/Demos/Images/VideoDemo/hollowknob.png.meta new file mode 100644 index 0000000..a0e1d71 --- /dev/null +++ b/Assets/GoogleVR/Demos/Images/VideoDemo/hollowknob.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: fe4fc8c33a7454cbf8504991c47a12a8 +timeCreated: 1471908435 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 64 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 40 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Images/VideoDemo/ic_pause_white_72.png b/Assets/GoogleVR/Demos/Images/VideoDemo/ic_pause_white_72.png new file mode 100644 index 0000000..7192ad4 Binary files /dev/null and b/Assets/GoogleVR/Demos/Images/VideoDemo/ic_pause_white_72.png differ diff --git a/Assets/GoogleVR/Demos/Images/VideoDemo/ic_pause_white_72.png.meta b/Assets/GoogleVR/Demos/Images/VideoDemo/ic_pause_white_72.png.meta new file mode 100644 index 0000000..8f0843e --- /dev/null +++ b/Assets/GoogleVR/Demos/Images/VideoDemo/ic_pause_white_72.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 33fe2a867f53b4dd7b47d13503efb4de +timeCreated: 1472499550 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 64 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Images/VideoDemo/ic_play_arrow_white_72.png b/Assets/GoogleVR/Demos/Images/VideoDemo/ic_play_arrow_white_72.png new file mode 100644 index 0000000..5131eea Binary files /dev/null and b/Assets/GoogleVR/Demos/Images/VideoDemo/ic_play_arrow_white_72.png differ diff --git a/Assets/GoogleVR/Demos/Images/VideoDemo/ic_play_arrow_white_72.png.meta b/Assets/GoogleVR/Demos/Images/VideoDemo/ic_play_arrow_white_72.png.meta new file mode 100644 index 0000000..09a25c8 --- /dev/null +++ b/Assets/GoogleVR/Demos/Images/VideoDemo/ic_play_arrow_white_72.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 36597cf9c1ebe400c99c9affa94cfd24 +timeCreated: 1471990838 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 64 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Images/VideoDemo/ic_volume_up_white_48.png b/Assets/GoogleVR/Demos/Images/VideoDemo/ic_volume_up_white_48.png new file mode 100644 index 0000000..2ed0034 Binary files /dev/null and b/Assets/GoogleVR/Demos/Images/VideoDemo/ic_volume_up_white_48.png differ diff --git a/Assets/GoogleVR/Demos/Images/VideoDemo/ic_volume_up_white_48.png.meta b/Assets/GoogleVR/Demos/Images/VideoDemo/ic_volume_up_white_48.png.meta new file mode 100644 index 0000000..d92fb5b --- /dev/null +++ b/Assets/GoogleVR/Demos/Images/VideoDemo/ic_volume_up_white_48.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 738cb298280e345f4908ffe19a6cd591 +timeCreated: 1471991238 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 64 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Images/VideoDemo/loading_bg.png b/Assets/GoogleVR/Demos/Images/VideoDemo/loading_bg.png new file mode 100644 index 0000000..2d6548a Binary files /dev/null and b/Assets/GoogleVR/Demos/Images/VideoDemo/loading_bg.png differ diff --git a/Assets/GoogleVR/Demos/Images/VideoDemo/loading_bg.png.meta b/Assets/GoogleVR/Demos/Images/VideoDemo/loading_bg.png.meta new file mode 100644 index 0000000..2eaaec2 --- /dev/null +++ b/Assets/GoogleVR/Demos/Images/VideoDemo/loading_bg.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: e4ecb698048ab455babea358c846d5f8 +timeCreated: 1478904110 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Images/ic_launcher_hello_vr_round.png b/Assets/GoogleVR/Demos/Images/ic_launcher_hello_vr_round.png new file mode 100644 index 0000000..8c9903c Binary files /dev/null and b/Assets/GoogleVR/Demos/Images/ic_launcher_hello_vr_round.png differ diff --git a/Assets/GoogleVR/Demos/Images/ic_launcher_hello_vr_round.png.meta b/Assets/GoogleVR/Demos/Images/ic_launcher_hello_vr_round.png.meta new file mode 100644 index 0000000..04a6cae --- /dev/null +++ b/Assets/GoogleVR/Demos/Images/ic_launcher_hello_vr_round.png.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: bd22a15a4cbd649caa948484771a6738 +timeCreated: 1510962220 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: iPhone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Images/logo_hello_vr_108px.svg b/Assets/GoogleVR/Demos/Images/logo_hello_vr_108px.svg new file mode 100644 index 0000000..8055f80 --- /dev/null +++ b/Assets/GoogleVR/Demos/Images/logo_hello_vr_108px.svg @@ -0,0 +1,34 @@ + + + + logo_hello_vr_108px + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Assets/GoogleVR/Demos/Images/logo_hello_vr_108px.svg.meta b/Assets/GoogleVR/Demos/Images/logo_hello_vr_108px.svg.meta new file mode 100644 index 0000000..b12f726 --- /dev/null +++ b/Assets/GoogleVR/Demos/Images/logo_hello_vr_108px.svg.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d2e49b9842c8f44d79bac6ce9dc1baf1 +timeCreated: 1510962199 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Materials.meta b/Assets/GoogleVR/Demos/Materials.meta new file mode 100644 index 0000000..0043d77 --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 71dc3c79407a29446970bfacc2d4d0df +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR.meta b/Assets/GoogleVR/Demos/Materials/HelloVR.meta new file mode 100644 index 0000000..e247001 --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d3b8220975bf2064b9c95c795cd3405e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/IcosahedronBlue.mat b/Assets/GoogleVR/Demos/Materials/HelloVR/IcosahedronBlue.mat new file mode 100644 index 0000000..d97b8c9 --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/IcosahedronBlue.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: IcosahedronBlue + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: c5c9dbd1aff224a22a1567c3cb9b1c06, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.1665225, g: 0.54763764, b: 0.64705884, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _HighlightColor: {r: 0.63, g: 0.52, b: 0.38, a: 0.66} + - _ShadowColor: {r: 0.96, g: 1, b: 1, a: 0.85} diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/IcosahedronBlue.mat.meta b/Assets/GoogleVR/Demos/Materials/HelloVR/IcosahedronBlue.mat.meta new file mode 100644 index 0000000..b52ab20 --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/IcosahedronBlue.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: daad62324deb0cf448e5c805c8459bff +timeCreated: 1478804663 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/IcosahedronPink.mat b/Assets/GoogleVR/Demos/Materials/HelloVR/IcosahedronPink.mat new file mode 100644 index 0000000..f91cfcf --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/IcosahedronPink.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: IcosahedronPink + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 08c2be6a5c9e8427e9ea097dabf7fe60, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.6764706, g: 0.35315743, b: 0.35315743, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _HighlightColor: {r: 0.63, g: 0.52, b: 0.38, a: 0.66} + - _ShadowColor: {r: 0.96, g: 1, b: 1, a: 0.85} diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/IcosahedronPink.mat.meta b/Assets/GoogleVR/Demos/Materials/HelloVR/IcosahedronPink.mat.meta new file mode 100644 index 0000000..4781275 --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/IcosahedronPink.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0edec395166a3244592f3532c7ce794c +timeCreated: 1478804663 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/QuadSphereBlue.mat b/Assets/GoogleVR/Demos/Materials/HelloVR/QuadSphereBlue.mat new file mode 100644 index 0000000..271d88b --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/QuadSphereBlue.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: QuadSphereBlue + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 4d7eb7cd5562b4ed4ae74151e7f631c3, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.1665225, g: 0.54763764, b: 0.64705884, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _HighlightColor: {r: 0.63, g: 0.52, b: 0.38, a: 0.66} + - _ShadowColor: {r: 0.96, g: 1, b: 1, a: 0.85} diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/QuadSphereBlue.mat.meta b/Assets/GoogleVR/Demos/Materials/HelloVR/QuadSphereBlue.mat.meta new file mode 100644 index 0000000..bb80f86 --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/QuadSphereBlue.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 07e4eb2033080474d8aa55e5a35d49ca +timeCreated: 1509062502 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: -1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/QuadSpherePink.mat b/Assets/GoogleVR/Demos/Materials/HelloVR/QuadSpherePink.mat new file mode 100644 index 0000000..fe8d93b --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/QuadSpherePink.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: QuadSpherePink + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: a507f76d80c44438a8197935a65af23a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.1665225, g: 0.54763764, b: 0.64705884, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _HighlightColor: {r: 0.63, g: 0.52, b: 0.38, a: 0.66} + - _ShadowColor: {r: 0.96, g: 1, b: 1, a: 0.85} diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/QuadSpherePink.mat.meta b/Assets/GoogleVR/Demos/Materials/HelloVR/QuadSpherePink.mat.meta new file mode 100644 index 0000000..f0c7e46 --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/QuadSpherePink.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c5f8095b20dc2423cad63ce7379784d7 +timeCreated: 1509062502 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: -1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/SafetyRing.mat b/Assets/GoogleVR/Demos/Materials/HelloVR/SafetyRing.mat new file mode 100644 index 0000000..cfb1d7b --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/SafetyRing.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: SafetyRing + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 7142fd4da3acd494cbabed95d75673b9, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/SafetyRing.mat.meta b/Assets/GoogleVR/Demos/Materials/HelloVR/SafetyRing.mat.meta new file mode 100644 index 0000000..3d726c0 --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/SafetyRing.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9118f68ba7df646b495e4208d2233d85 +timeCreated: 1510963272 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/TriSphereBlue.mat b/Assets/GoogleVR/Demos/Materials/HelloVR/TriSphereBlue.mat new file mode 100644 index 0000000..587f9d0 --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/TriSphereBlue.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: TriSphereBlue + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 57118c062b1274e43b9260e14b00da11, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.1665225, g: 0.54763764, b: 0.64705884, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _HighlightColor: {r: 0.63, g: 0.52, b: 0.38, a: 0.66} + - _ShadowColor: {r: 0.96, g: 1, b: 1, a: 0.85} diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/TriSphereBlue.mat.meta b/Assets/GoogleVR/Demos/Materials/HelloVR/TriSphereBlue.mat.meta new file mode 100644 index 0000000..e137a7f --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/TriSphereBlue.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a5801e27da69043b69f7f194b62c2716 +timeCreated: 1509062502 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: -1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/TriSpherePink.mat b/Assets/GoogleVR/Demos/Materials/HelloVR/TriSpherePink.mat new file mode 100644 index 0000000..8eb2369 --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/TriSpherePink.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: TriSpherePink + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 4960285264c024fc1906a7496f9e6c77, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.1665225, g: 0.54763764, b: 0.64705884, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _HighlightColor: {r: 0.63, g: 0.52, b: 0.38, a: 0.66} + - _ShadowColor: {r: 0.96, g: 1, b: 1, a: 0.85} diff --git a/Assets/GoogleVR/Demos/Materials/HelloVR/TriSpherePink.mat.meta b/Assets/GoogleVR/Demos/Materials/HelloVR/TriSpherePink.mat.meta new file mode 100644 index 0000000..564f28c --- /dev/null +++ b/Assets/GoogleVR/Demos/Materials/HelloVR/TriSpherePink.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c63bdfc3c6f1447c8bcb58360dd31d6a +timeCreated: 1509062502 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: -1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Models.meta b/Assets/GoogleVR/Demos/Models.meta new file mode 100644 index 0000000..0cf7e3f --- /dev/null +++ b/Assets/GoogleVR/Demos/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a63170ac170736242b279c56237d768d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Models/HelloVR.meta b/Assets/GoogleVR/Demos/Models/HelloVR.meta new file mode 100644 index 0000000..5da6301 --- /dev/null +++ b/Assets/GoogleVR/Demos/Models/HelloVR.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: adf96ccf0cde42746b811831e71cec59 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Models/HelloVR/Icosahedron.obj b/Assets/GoogleVR/Demos/Models/HelloVR/Icosahedron.obj new file mode 100644 index 0000000..735194e --- /dev/null +++ b/Assets/GoogleVR/Demos/Models/HelloVR/Icosahedron.obj @@ -0,0 +1,573 @@ +# This file uses centimeters as units for non-parametric coordinates. + +g default +v -0.382717 0.194657 0.301855 +v -0.354477 0.204657 0.315934 +v -0.359936 0.234114 0.301855 +v -0.345857 0.258500 0.284452 +v -0.372626 0.257698 0.264995 +v -0.382850 0.257391 0.233513 +v -0.403248 0.232816 0.242215 +v -0.414332 0.202862 0.233513 +v -0.409485 0.193855 0.264995 +v -0.396796 0.170271 0.284452 +v 0.023052 0.524356 0.000000 +v 0.027898 0.515348 -0.031482 +v -0.003717 0.523553 -0.036860 +v -0.031957 0.513553 -0.050939 +v -0.047028 0.522255 -0.022781 +v -0.068950 0.512444 -0.000000 +v -0.047028 0.522255 0.022781 +v -0.031957 0.513553 0.050939 +v -0.003717 0.523553 0.036860 +v 0.027898 0.515348 0.031482 +v -0.382717 0.194657 -0.301855 +v -0.396796 0.170271 -0.284452 +v -0.409485 0.193855 -0.264995 +v -0.414332 0.202862 -0.233513 +v -0.403248 0.232816 -0.242215 +v -0.382850 0.257391 -0.233513 +v -0.372626 0.257698 -0.264995 +v -0.345857 0.258500 -0.284452 +v -0.359937 0.234114 -0.301855 +v -0.354477 0.204657 -0.315934 +v -0.442580 -0.282141 0.000000 +v -0.432355 -0.281835 0.031482 +v -0.455269 -0.258558 0.036860 +v -0.460729 -0.229101 0.050939 +v -0.475800 -0.220399 0.022781 +v -0.478264 -0.196510 0.000000 +v -0.475800 -0.220399 -0.022781 +v -0.460729 -0.229101 -0.050939 +v -0.455269 -0.258558 -0.036860 +v -0.432355 -0.281835 -0.031482 +v 0.170656 0.250024 -0.428771 +v 0.186341 0.220873 -0.428771 +v 0.164419 0.211063 -0.451552 +v 0.144021 0.186487 -0.460253 +v 0.121107 0.209764 -0.465631 +v 0.089492 0.217969 -0.460253 +v 0.100576 0.247923 -0.451552 +v 0.098112 0.271812 -0.428771 +v 0.131199 0.272805 -0.428771 +v 0.157967 0.273607 -0.409314 +v -0.131199 -0.272804 -0.428771 +v -0.157967 -0.273607 -0.409314 +v -0.170656 -0.250024 -0.428771 +v -0.186340 -0.220873 -0.428771 +v -0.164419 -0.211063 -0.451552 +v -0.144021 -0.186487 -0.460253 +v -0.121107 -0.209764 -0.465631 +v -0.089492 -0.217969 -0.460253 +v -0.100576 -0.247922 -0.451552 +v -0.098111 -0.271812 -0.428771 +v 0.170656 0.250024 0.428771 +v 0.157967 0.273607 0.409314 +v 0.131199 0.272805 0.428771 +v 0.098112 0.271812 0.428771 +v 0.100576 0.247923 0.451552 +v 0.089492 0.217969 0.460253 +v 0.121107 0.209764 0.465631 +v 0.144021 0.186487 0.460253 +v 0.164419 0.211063 0.451552 +v 0.186341 0.220873 0.428771 +v -0.131199 -0.272804 0.428771 +v -0.098111 -0.271812 0.428771 +v -0.100576 -0.247922 0.451552 +v -0.089492 -0.217969 0.460254 +v -0.121107 -0.209764 0.465631 +v -0.144021 -0.186487 0.460253 +v -0.164419 -0.211063 0.451552 +v -0.186340 -0.220873 0.428771 +v -0.170656 -0.250024 0.428771 +v -0.157967 -0.273607 0.409314 +v 0.359937 -0.234114 -0.301855 +v 0.354477 -0.204657 -0.315934 +v 0.382717 -0.194657 -0.301855 +v 0.396796 -0.170271 -0.284452 +v 0.409486 -0.193854 -0.264995 +v 0.414332 -0.202862 -0.233513 +v 0.403248 -0.232816 -0.242215 +v 0.382850 -0.257391 -0.233513 +v 0.372626 -0.257697 -0.264995 +v 0.345857 -0.258500 -0.284452 +v 0.442580 0.282141 -0.000000 +v 0.432355 0.281835 0.031482 +v 0.455269 0.258558 0.036860 +v 0.460729 0.229101 0.050939 +v 0.475800 0.220399 0.022781 +v 0.478264 0.196509 -0.000000 +v 0.475800 0.220399 -0.022781 +v 0.460729 0.229101 -0.050939 +v 0.455269 0.258558 -0.036860 +v 0.432355 0.281835 -0.031482 +v 0.382717 -0.194657 0.301855 +v 0.354477 -0.204657 0.315934 +v 0.359937 -0.234114 0.301855 +v 0.345857 -0.258500 0.284452 +v 0.372626 -0.257697 0.264995 +v 0.382850 -0.257391 0.233513 +v 0.403248 -0.232816 0.242215 +v 0.414332 -0.202862 0.233513 +v 0.409486 -0.193854 0.264995 +v 0.396796 -0.170271 0.284452 +v -0.023052 -0.524356 -0.000000 +v -0.027898 -0.515348 -0.031482 +v 0.003717 -0.523553 -0.036860 +v 0.031957 -0.513553 -0.050939 +v 0.047028 -0.522255 -0.022781 +v 0.068950 -0.512444 0.000000 +v 0.047028 -0.522255 0.022781 +v 0.031957 -0.513553 0.050939 +v 0.003717 -0.523553 0.036860 +v -0.027898 -0.515348 0.031482 +v -0.393674 0.227288 0.280943 +v -0.016016 0.534146 0.000000 +v -0.393674 0.227288 -0.280943 +v -0.470592 -0.253202 -0.000000 +v 0.140472 0.243304 -0.454576 +v -0.140471 -0.243304 -0.454576 +v 0.140472 0.243304 0.454576 +v -0.140471 -0.243304 0.454576 +v 0.393674 -0.227288 -0.280943 +v 0.470592 0.253202 0.000000 +v 0.393674 -0.227288 0.280943 +v 0.016016 -0.534146 -0.000000 +vt 0.036903 0.569417 +vt 0.036903 0.590773 +vt 0.875721 0.590773 +vt 0.875721 0.569417 +vt 0.456312 0.718929 +vt 0.735915 0.590773 +vt 0.631065 0.718929 +vt 0.106806 0.718929 +vt 0.176709 0.590773 +vt 0.805818 0.441261 +vt 0.718441 0.558739 +vt 0.700968 0.590773 +vt 0.561162 0.590773 +vt 0.963097 0.430583 +vt 0.823291 0.409227 +vt 0.788344 0.430583 +vt 0.648538 0.430583 +vt 0.526215 0.590773 +vt 0.386409 0.590773 +vt 0.526215 0.569417 +vt 0.631065 0.441261 +vt 0.543688 0.558739 +vt 0.718441 0.281071 +vt 0.613591 0.430583 +vt 0.473785 0.430583 +vt 0.351462 0.590773 +vt 0.176709 0.569417 +vt 0.106806 0.441261 +vt 0.194182 0.558739 +vt 0.963097 0.409227 +vt 0.893194 0.281071 +vt 0.264085 0.430583 +vt 0.124279 0.409227 +vt 0.456312 0.441261 +vt 0.386409 0.569417 +vt 0.438838 0.430583 +vt 0.543688 0.281071 +vt 0.438838 0.409227 +vt 0.299032 0.430583 +vt 0.351462 0.569417 +vt 0.281559 0.441261 +vt 0.368935 0.281071 +vt 0.264085 0.409227 +vt 0.194182 0.281071 +vt 0.805818 0.718929 +vt 0.735915 0.569417 +vt 0.700968 0.569417 +vt 0.561162 0.569417 +vt 0.893194 0.558739 +vt 0.823291 0.430583 +vt 0.368935 0.558739 +vt 0.299032 0.409227 +vt 0.124279 0.430583 +vt 0.211656 0.569417 +vt 0.473785 0.409227 +vt 0.613591 0.409227 +vt 0.211656 0.590773 +vt 0.281559 0.718929 +vt 0.648538 0.409227 +vt 0.788344 0.409227 +vt 0.025658 0.568676 +vt 0.899423 0.568676 +vt 0.034162 0.580095 +vt 0.886966 0.591515 +vt 0.025658 0.591515 +vt 0.878461 0.580095 +vt 0.885828 0.566590 +vt 0.450083 0.728866 +vt 0.287788 0.728866 +vt 0.624836 0.728866 +vt 0.462541 0.728866 +vt 0.799589 0.728866 +vt 0.637294 0.728866 +vt 0.100577 0.728866 +vt 0.812047 0.728866 +vt 0.275330 0.728866 +vt 0.113035 0.728866 +vt 0.711075 0.566590 +vt 0.725808 0.566590 +vt 0.733175 0.580095 +vt 0.712213 0.591515 +vt 0.724670 0.591515 +vt 0.703708 0.580095 +vt 0.812047 0.408485 +vt 0.799589 0.408485 +vt 0.820551 0.419905 +vt 0.813184 0.433410 +vt 0.798451 0.433410 +vt 0.791084 0.419905 +vt 0.528955 0.580095 +vt 0.536322 0.566590 +vt 0.551055 0.566590 +vt 0.558422 0.580095 +vt 0.537459 0.591515 +vt 0.549917 0.591515 +vt 0.637294 0.408485 +vt 0.624836 0.408485 +vt 0.645798 0.419905 +vt 0.638431 0.433410 +vt 0.623698 0.433410 +vt 0.616331 0.419905 +vt 0.208916 0.580095 +vt 0.187954 0.591515 +vt 0.200411 0.591515 +vt 0.179449 0.580095 +vt 0.186816 0.566590 +vt 0.201549 0.566590 +vt 0.113035 0.408485 +vt 0.974342 0.408485 +vt 0.121539 0.419905 +vt 0.114172 0.433410 +vt 0.974342 0.431324 +vt 0.100577 0.431324 +vt 0.965837 0.419905 +vt 0.471045 0.419905 +vt 0.463678 0.433410 +vt 0.448945 0.433410 +vt 0.441578 0.419905 +vt 0.462541 0.408486 +vt 0.450083 0.408486 +vt 0.362706 0.591515 +vt 0.375164 0.591515 +vt 0.354202 0.580095 +vt 0.361569 0.566590 +vt 0.376302 0.566590 +vt 0.383669 0.580095 +vt 0.274192 0.433410 +vt 0.266825 0.419905 +vt 0.287788 0.408486 +vt 0.275330 0.408486 +vt 0.296292 0.419905 +vt 0.288925 0.433410 +vt 0.724670 0.271134 +vt 0.886965 0.271134 +vt 0.549917 0.271134 +vt 0.712212 0.271134 +vt 0.375164 0.271134 +vt 0.537459 0.271134 +vt 0.200411 0.271134 +vt 0.362706 0.271134 +vt 0.899423 0.271134 +vt 0.187953 0.271134 +vt 0.893194 0.580095 +vt 0.019429 0.580095 +vt 0.805818 0.740285 +vt 0.106806 0.740285 +vt 0.281559 0.740285 +vt 0.456312 0.740285 +vt 0.631065 0.740285 +vt 0.718441 0.580095 +vt 0.805818 0.419905 +vt 0.543688 0.580095 +vt 0.631065 0.419905 +vt 0.194182 0.580095 +vt 0.106806 0.419905 +vt 0.980571 0.419905 +vt 0.456312 0.419905 +vt 0.368935 0.580095 +vt 0.281559 0.419905 +vt 0.368935 0.259715 +vt 0.194182 0.259715 +vt 0.893194 0.259715 +vt 0.718441 0.259715 +vt 0.543688 0.259715 +vn -0.339961 0.196276 0.919729 +vn -0.599351 0.004764 0.800473 +vn -0.575273 -0.039985 0.816983 +vn -0.309886 0.140381 0.940353 +vn -0.795069 -0.173513 0.581170 +vn -0.764994 -0.229408 0.601794 +vn -0.247268 0.775306 0.581170 +vn -0.303801 0.516670 0.800473 +vn -0.253009 0.518193 0.816984 +vn -0.183825 0.777208 0.601794 +vn -0.276516 0.198179 0.940353 +vn -0.645090 0.763378 0.033369 +vn -0.468425 0.822632 0.322264 +vn -0.432513 0.851812 0.295549 +vn -0.600233 0.799825 0.000000 +vn -0.202412 0.811754 0.547801 +vn -0.983650 0.176975 0.033370 +vn -0.865717 0.499820 0.026715 +vn -0.865717 0.499820 -0.026715 +vn -0.983649 0.176975 -0.033370 +vn -0.645090 0.763378 -0.033369 +vn -0.946633 -0.005650 0.322266 +vn -0.953947 -0.051340 0.295550 +vn -0.804205 -0.230584 0.547801 +vn -0.992786 0.119904 0.000000 +vn 0.441278 0.831054 -0.338559 +vn 0.476685 0.879074 0.000000 +vn 0.522958 0.852358 0.000000 +vn 0.499075 0.797685 -0.338560 +vn 0.441278 0.831054 0.338559 +vn 0.499075 0.797685 0.338560 +vn -0.202411 0.811754 -0.547801 +vn 0.129404 0.868661 -0.478208 +vn 0.144285 0.841005 -0.521434 +vn -0.183824 0.777208 -0.601794 +vn 0.459866 0.796509 -0.392552 +vn -0.432513 0.851812 -0.295548 +vn -0.468426 0.822632 -0.322264 +vn -0.247268 0.775306 -0.581170 +vn 0.129405 0.868661 0.478208 +vn 0.144285 0.841005 0.521434 +vn 0.459866 0.796509 0.392552 +vn -0.795069 -0.173512 -0.581170 +vn -0.599351 0.004764 -0.800472 +vn -0.575273 -0.039985 -0.816983 +vn -0.764994 -0.229408 -0.601794 +vn -0.339960 0.196276 -0.919730 +vn -0.309886 0.140381 -0.940353 +vn -0.946633 -0.005649 -0.322265 +vn -0.953947 -0.051339 -0.295550 +vn -0.804205 -0.230584 -0.547801 +vn -0.303801 0.516670 -0.800473 +vn -0.253008 0.518193 -0.816984 +vn -0.276516 0.198178 -0.940353 +vn -0.499076 -0.797684 0.338560 +vn -0.522958 -0.852359 0.000000 +vn -0.476685 -0.879074 0.000000 +vn -0.441277 -0.831055 0.338560 +vn -0.499076 -0.797684 -0.338560 +vn -0.441277 -0.831054 -0.338560 +vn -0.687580 -0.546397 0.478209 +vn -0.656189 -0.545456 0.521435 +vn -0.459865 -0.796509 0.392554 +vn -0.687581 -0.546397 -0.478209 +vn -0.656189 -0.545455 -0.521435 +vn -0.459865 -0.796509 -0.392553 +vn 0.764994 0.229407 -0.601794 +vn 0.656190 0.545455 -0.521435 +vn 0.687581 0.546397 -0.478208 +vn 0.804205 0.230584 -0.547801 +vn 0.309886 -0.140381 -0.940353 +vn 0.575273 0.039985 -0.816984 +vn 0.599350 -0.004765 -0.800473 +vn 0.339961 -0.196276 -0.919729 +vn 0.795069 0.173512 -0.581171 +vn 0.013357 0.023136 -0.999643 +vn -0.013358 -0.023136 -0.999643 +vn 0.276516 -0.198179 -0.940353 +vn -0.144284 -0.841004 -0.521435 +vn -0.129404 -0.868661 -0.478209 +vn 0.183823 -0.777209 -0.601794 +vn 0.202411 -0.811754 -0.547801 +vn 0.253008 -0.518194 -0.816983 +vn 0.303801 -0.516671 -0.800472 +vn 0.247268 -0.775306 -0.581170 +vn 0.656189 0.545455 0.521435 +vn 0.687581 0.546397 0.478208 +vn 0.764995 0.229408 0.601793 +vn 0.804205 0.230584 0.547801 +vn 0.309886 -0.140381 0.940353 +vn 0.013357 0.023137 0.999643 +vn -0.013358 -0.023136 0.999643 +vn 0.276516 -0.198178 0.940353 +vn 0.575273 0.039985 0.816984 +vn 0.599351 -0.004764 0.800472 +vn 0.795069 0.173513 0.581170 +vn 0.339961 -0.196276 0.919730 +vn 0.183823 -0.777209 0.601794 +vn -0.144284 -0.841004 0.521435 +vn -0.129404 -0.868661 0.478209 +vn 0.202411 -0.811754 0.547801 +vn 0.253008 -0.518194 0.816983 +vn 0.303801 -0.516671 0.800472 +vn 0.247268 -0.775306 0.581170 +vn 0.983649 -0.176976 -0.033369 +vn 0.946632 0.005650 -0.322266 +vn 0.953947 0.051341 -0.295551 +vn 0.992786 -0.119904 -0.000000 +vn 0.645090 -0.763377 -0.033370 +vn 0.865717 -0.499821 -0.026715 +vn 0.865717 -0.499821 0.026716 +vn 0.645090 -0.763377 0.033370 +vn 0.983649 -0.176976 0.033370 +vn 0.468424 -0.822632 -0.322266 +vn 0.432511 -0.851812 -0.295550 +vn 0.600233 -0.799825 -0.000000 +vn 0.953947 0.051340 0.295549 +vn 0.946633 0.005649 0.322265 +vn 0.468424 -0.822632 0.322266 +vn 0.432511 -0.851812 0.295550 +vn -0.736685 0.425324 0.525732 +vn -0.029970 0.999551 0.000000 +vn -0.736686 0.425324 -0.525731 +vn -0.880621 -0.473821 0.000000 +vn 0.262866 0.455297 -0.850650 +vn -0.262866 -0.455298 -0.850650 +vn 0.262866 0.455297 0.850651 +vn -0.262866 -0.455298 0.850650 +vn 0.736685 -0.425324 -0.525732 +vn 0.880622 0.473820 0.000000 +vn 0.736685 -0.425325 0.525731 +vn 0.029969 -0.999551 0.000000 +s 1 +g Icosahedron_GEO +f 2/1/1 1/61/2 77/113/3 76/28/4 +f 1/62/2 10/49/5 78/14/6 77/112/3 +f 4/2/7 3/63/8 65/105/9 64/9/10 +f 3/63/8 2/1/1 66/27/11 65/105/9 +f 6/3/12 5/64/13 17/75/14 16/45/15 +f 5/65/13 4/2/7 18/8/16 17/74/14 +f 8/4/17 7/66/18 25/80/19 24/46/20 +f 7/66/18 6/3/12 26/6/21 25/80/19 +f 10/49/5 9/67/22 35/87/23 34/50/24 +f 9/67/22 8/4/17 36/10/25 35/87/23 +f 12/5/26 11/68/27 91/122/28 100/19/29 +f 11/69/27 20/58/30 92/26/31 91/121/28 +f 14/7/32 13/70/33 49/95/34 48/13/35 +f 13/71/33 12/5/26 50/18/36 49/94/34 +f 16/45/15 15/72/37 27/82/38 26/6/21 +f 15/73/37 14/7/32 28/12/39 27/81/38 +f 20/58/30 19/76/40 63/104/41 62/57/42 +f 19/77/40 18/8/16 64/9/10 63/103/41 +f 22/11/43 21/78/44 55/99/45 54/17/46 +f 21/78/44 30/47/47 56/21/48 55/99/45 +f 24/46/20 23/79/49 37/88/50 36/10/25 +f 23/79/49 22/11/43 38/16/51 37/88/50 +f 30/47/47 29/83/52 47/93/53 46/48/54 +f 29/83/52 28/12/39 48/13/35 47/93/53 +f 32/15/55 31/84/56 111/134/57 120/31/58 +f 31/85/56 40/60/59 112/23/60 111/133/57 +f 34/50/24 33/86/61 79/114/62 78/14/6 +f 33/86/61 32/15/55 80/30/63 79/114/62 +f 40/60/59 39/89/64 53/98/65 52/59/66 +f 39/89/64 38/16/51 54/17/46 53/98/65 +f 42/20/67 41/90/68 99/126/69 98/35/70 +f 41/90/68 50/18/36 100/19/29 99/126/69 +f 44/22/71 43/91/72 83/116/73 82/25/74 +f 43/91/72 42/20/67 84/34/75 83/116/73 +f 46/48/54 45/92/76 57/100/77 56/21/48 +f 45/92/76 44/22/71 58/24/78 57/100/77 +f 52/59/66 51/96/79 113/136/80 112/23/60 +f 51/97/79 60/56/81 114/37/82 113/135/80 +f 60/56/81 59/101/83 81/115/84 90/55/85 +f 59/101/83 58/24/78 82/25/74 81/115/84 +f 62/57/42 61/102/86 93/123/87 92/26/31 +f 61/102/86 70/54/88 94/40/89 93/123/87 +f 68/29/90 67/106/91 75/111/92 74/53/93 +f 67/106/91 66/27/11 76/28/4 75/111/92 +f 70/54/88 69/107/94 101/127/95 110/41/96 +f 69/107/94 68/29/90 102/32/97 101/127/95 +f 72/33/98 71/108/99 119/142/100 118/44/101 +f 71/109/99 80/30/63 120/31/58 119/141/100 +f 74/53/93 73/110/102 103/128/103 102/32/97 +f 73/110/102 72/33/98 104/43/104 103/128/103 +f 86/36/105 85/117/106 97/125/107 96/51/108 +f 85/117/106 84/34/75 98/35/70 97/125/107 +f 88/38/109 87/118/110 107/131/111 106/52/112 +f 87/118/110 86/36/105 108/39/113 107/131/111 +f 90/55/85 89/119/114 115/138/115 114/37/82 +f 89/120/114 88/38/109 116/42/116 115/137/115 +f 96/51/108 95/124/117 109/132/118 108/39/113 +f 95/124/117 94/40/89 110/41/96 109/132/118 +f 106/52/112 105/129/119 117/140/120 116/42/116 +f 105/130/119 104/43/104 118/44/101 117/139/120 +f 6/3/12 16/45/15 26/6/21 +f 24/46/20 36/10/25 8/4/17 +f 30/47/47 46/48/54 56/21/48 +f 22/11/43 54/17/46 38/16/51 +f 28/12/39 14/7/32 48/13/35 +f 66/27/11 2/1/1 76/28/4 +f 18/8/16 4/2/7 64/9/10 +f 10/49/5 34/50/24 78/14/6 +f 86/36/105 96/51/108 108/39/113 +f 106/52/112 116/42/116 88/38/109 +f 68/29/90 74/53/93 102/32/97 +f 110/41/96 94/40/89 70/54/88 +f 72/33/98 118/44/101 104/43/104 +f 58/24/78 44/22/71 82/25/74 +f 90/55/85 114/37/82 60/56/81 +f 84/34/75 42/20/67 98/35/70 +f 62/57/42 92/26/31 20/58/30 +f 80/30/63 32/15/55 120/31/58 +f 52/59/66 112/23/60 40/60/59 +f 50/18/36 12/5/26 100/19/29 +f 9/67/22 10/49/5 1/62/2 121/143/121 +f 1/61/2 2/1/1 3/63/8 121/144/121 +f 3/63/8 4/2/7 5/65/13 121/144/121 +f 5/64/13 6/3/12 7/66/18 121/143/121 +f 7/66/18 8/4/17 9/67/22 121/143/121 +f 19/76/40 20/58/30 11/69/27 122/147/122 +f 11/68/27 12/5/26 13/71/33 122/148/122 +f 13/70/33 14/7/32 15/73/37 122/149/122 +f 15/72/37 16/45/15 17/75/14 122/145/122 +f 17/74/14 18/8/16 19/77/40 122/146/122 +f 29/83/52 30/47/47 21/78/44 123/150/123 +f 21/78/44 22/11/43 23/79/49 123/150/123 +f 23/79/49 24/46/20 25/80/19 123/150/123 +f 25/80/19 26/6/21 27/82/38 123/150/123 +f 27/81/38 28/12/39 29/83/52 123/150/123 +f 39/89/64 40/60/59 31/85/56 124/151/124 +f 31/84/56 32/15/55 33/86/61 124/151/124 +f 33/86/61 34/50/24 35/87/23 124/151/124 +f 35/87/23 36/10/25 37/88/50 124/151/124 +f 37/88/50 38/16/51 39/89/64 124/151/124 +f 49/94/34 50/18/36 41/90/68 125/152/125 +f 41/90/68 42/20/67 43/91/72 125/152/125 +f 43/91/72 44/22/71 45/92/76 125/152/125 +f 45/92/76 46/48/54 47/93/53 125/152/125 +f 47/93/53 48/13/35 49/95/34 125/152/125 +f 59/101/83 60/56/81 51/97/79 126/153/126 +f 51/96/79 52/59/66 53/98/65 126/153/126 +f 53/98/65 54/17/46 55/99/45 126/153/126 +f 55/99/45 56/21/48 57/100/77 126/153/126 +f 57/100/77 58/24/78 59/101/83 126/153/126 +f 69/107/94 70/54/88 61/102/86 127/154/127 +f 61/102/86 62/57/42 63/104/41 127/154/127 +f 63/103/41 64/9/10 65/105/9 127/154/127 +f 65/105/9 66/27/11 67/106/91 127/154/127 +f 67/106/91 68/29/90 69/107/94 127/154/127 +f 79/114/62 80/30/63 71/109/99 128/156/128 +f 71/108/99 72/33/98 73/110/102 128/155/128 +f 73/110/102 74/53/93 75/111/92 128/155/128 +f 75/111/92 76/28/4 77/113/3 128/155/128 +f 77/112/3 78/14/6 79/114/62 128/156/128 +f 89/119/114 90/55/85 81/115/84 129/157/129 +f 81/115/84 82/25/74 83/116/73 129/157/129 +f 83/116/73 84/34/75 85/117/106 129/157/129 +f 85/117/106 86/36/105 87/118/110 129/157/129 +f 87/118/110 88/38/109 89/120/114 129/157/129 +f 99/126/69 100/19/29 91/122/28 130/158/130 +f 91/121/28 92/26/31 93/123/87 130/158/130 +f 93/123/87 94/40/89 95/124/117 130/158/130 +f 95/124/117 96/51/108 97/125/107 130/158/130 +f 97/125/107 98/35/70 99/126/69 130/158/130 +f 109/132/118 110/41/96 101/127/95 131/159/131 +f 101/127/95 102/32/97 103/128/103 131/159/131 +f 103/128/103 104/43/104 105/130/119 131/159/131 +f 105/129/119 106/52/112 107/131/111 131/159/131 +f 107/131/111 108/39/113 109/132/118 131/159/131 +f 119/141/100 120/31/58 111/134/57 132/162/132 +f 111/133/57 112/23/60 113/136/80 132/163/132 +f 113/135/80 114/37/82 115/138/115 132/164/132 +f 115/137/115 116/42/116 117/140/120 132/160/132 +f 117/139/120 118/44/101 119/142/100 132/161/132 diff --git a/Assets/GoogleVR/Demos/Models/HelloVR/Icosahedron.obj.meta b/Assets/GoogleVR/Demos/Models/HelloVR/Icosahedron.obj.meta new file mode 100644 index 0000000..0be8a44 --- /dev/null +++ b/Assets/GoogleVR/Demos/Models/HelloVR/Icosahedron.obj.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: 5c39ec134a75d4a87a4a69a1be8dc5de +timeCreated: 1509061457 +licenseType: Pro +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: //RootNode + 100002: Icosahedron_GEO + 400000: //RootNode + 400002: Icosahedron_GEO + 2300000: Icosahedron_GEO + 3300000: Icosahedron_GEO + 4300000: Icosahedron_GEO + materials: + importMaterials: 0 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Models/HelloVR/QuadSphere.obj b/Assets/GoogleVR/Demos/Models/HelloVR/QuadSphere.obj new file mode 100644 index 0000000..ed55da9 --- /dev/null +++ b/Assets/GoogleVR/Demos/Models/HelloVR/QuadSphere.obj @@ -0,0 +1,1602 @@ +# This file uses centimeters as units for non-parametric coordinates. + +g default +v -0.288664 -0.288671 0.288673 +v 0.288673 -0.288672 0.288664 +v -0.288664 0.288671 0.288673 +v 0.288673 0.288672 0.288664 +v -0.288673 0.288671 -0.288664 +v 0.288663 0.288671 -0.288672 +v -0.288672 -0.288671 -0.288664 +v 0.288672 -0.288671 -0.288663 +v -0.000000 -0.353553 0.353553 +v -0.000000 0.353553 0.353553 +v 0.000000 0.353553 -0.353552 +v 0.000000 -0.353553 -0.353552 +v -0.353553 0.000000 0.353553 +v 0.353553 0.000000 0.353553 +v -0.353552 0.353553 -0.000000 +v 0.353553 0.353553 0.000000 +v -0.353552 0.000000 -0.353552 +v 0.353552 0.000000 -0.353551 +v -0.353552 -0.353553 -0.000000 +v 0.353553 -0.353553 0.000000 +v 0.000184 0.000092 0.499996 +v 0.000092 0.499999 -0.000001 +v -0.000184 0.000092 -0.499994 +v 0.000088 -0.499999 0.000027 +v 0.499996 -0.000093 -0.000186 +v -0.499995 0.000092 0.000184 +v -0.170624 -0.332306 0.332318 +v 0.170624 -0.332306 0.332318 +v -0.170624 0.332306 0.332318 +v 0.170624 0.332306 0.332318 +v -0.170624 0.332305 -0.332317 +v 0.170624 0.332305 -0.332317 +v -0.170624 -0.332305 -0.332317 +v 0.170624 -0.332305 -0.332317 +v -0.332321 -0.170633 0.332321 +v -0.332321 0.170633 0.332321 +v 0.332321 -0.170633 0.332322 +v 0.332322 0.170633 0.332322 +v -0.332318 0.332305 0.170624 +v -0.332318 0.332305 -0.170624 +v 0.332318 0.332306 0.170624 +v 0.332317 0.332305 -0.170624 +v -0.332321 0.170633 -0.332321 +v -0.332321 -0.170633 -0.332321 +v 0.332321 0.170633 -0.332320 +v 0.332321 -0.170632 -0.332320 +v -0.332318 -0.332305 -0.170624 +v -0.332318 -0.332306 0.170624 +v 0.332317 -0.332305 -0.170624 +v 0.332318 -0.332306 0.170624 +v 0.000078 -0.196164 0.459896 +v 0.196117 0.000042 0.459894 +v 0.000078 0.196164 0.459896 +v -0.196117 0.000042 0.459894 +v 0.000033 0.459897 0.196164 +v 0.196164 0.459897 0.000033 +v -0.000033 0.459897 -0.196164 +v -0.196164 0.459897 0.000033 +v 0.000078 0.196163 -0.459895 +v 0.196116 -0.000042 -0.459892 +v 0.000078 -0.196163 -0.459895 +v -0.196116 0.000042 -0.459893 +v -0.000033 -0.459897 -0.196164 +v 0.196164 -0.459897 0.000033 +v 0.000033 -0.459897 0.196164 +v -0.196164 -0.459897 0.000033 +v 0.459897 -0.196164 -0.000079 +v 0.459892 -0.000042 -0.196116 +v 0.459897 0.196164 0.000078 +v 0.459894 0.000042 0.196117 +v -0.459896 -0.196163 0.000078 +v -0.459894 0.000042 0.196117 +v -0.459896 0.196163 0.000078 +v -0.459893 -0.000042 -0.196116 +v 0.184441 -0.184502 0.426538 +v 0.184441 0.184502 0.426538 +v -0.184441 0.184502 0.426538 +v -0.184441 -0.184502 0.426538 +v 0.184454 0.426541 0.184488 +v 0.184454 0.426540 -0.184488 +v -0.184488 0.426541 -0.184454 +v -0.184488 0.426541 0.184454 +v 0.184441 0.184501 -0.426537 +v 0.184441 -0.184501 -0.426537 +v -0.184441 -0.184502 -0.426537 +v -0.184441 0.184501 -0.426537 +v 0.184454 -0.426541 -0.184488 +v 0.184488 -0.426541 0.184454 +v -0.184488 -0.426541 0.184454 +v -0.184488 -0.426541 -0.184454 +v 0.426536 -0.184501 -0.184440 +v 0.426537 0.184501 -0.184440 +v 0.426538 0.184502 0.184441 +v 0.426538 -0.184502 0.184441 +v -0.426538 -0.184502 0.184441 +v -0.426538 0.184502 0.184441 +v -0.426537 0.184502 -0.184441 +v -0.426537 -0.184501 -0.184441 +v -0.240881 -0.309799 0.309806 +v -0.088334 -0.347978 0.347991 +v 0.088334 -0.347978 0.347991 +v 0.240881 -0.309799 0.309806 +v -0.240881 0.309799 0.309806 +v -0.088334 0.347978 0.347991 +v 0.088334 0.347978 0.347991 +v 0.240881 0.309799 0.309806 +v -0.240881 0.309799 -0.309806 +v -0.088334 0.347977 -0.347991 +v 0.088334 0.347977 -0.347991 +v 0.240881 0.309798 -0.309805 +v -0.240881 -0.309798 -0.309806 +v -0.088334 -0.347977 -0.347991 +v 0.088334 -0.347977 -0.347991 +v 0.240881 -0.309798 -0.309805 +v -0.309814 -0.240894 0.309814 +v -0.347985 -0.088313 0.347985 +v -0.347985 0.088313 0.347985 +v -0.309814 0.240894 0.309814 +v 0.309814 -0.240894 0.309814 +v 0.347985 -0.088313 0.347985 +v 0.347985 0.088313 0.347985 +v 0.309814 0.240894 0.309814 +v -0.309806 0.309799 0.240881 +v -0.347991 0.347978 0.088334 +v -0.347991 0.347978 -0.088334 +v -0.309806 0.309799 -0.240881 +v 0.309806 0.309799 0.240881 +v 0.347991 0.347978 0.088334 +v 0.347990 0.347977 -0.088334 +v 0.309805 0.309798 -0.240881 +v -0.309813 0.240894 -0.309814 +v -0.347984 0.088313 -0.347984 +v -0.347984 -0.088313 -0.347984 +v -0.309813 -0.240893 -0.309814 +v 0.309813 0.240893 -0.309813 +v 0.347984 0.088313 -0.347983 +v 0.347984 -0.088313 -0.347983 +v 0.309813 -0.240893 -0.309813 +v -0.309806 -0.309799 -0.240881 +v -0.347991 -0.347978 -0.088334 +v -0.347991 -0.347978 0.088334 +v -0.309806 -0.309799 0.240881 +v 0.309805 -0.309798 -0.240881 +v 0.347990 -0.347977 -0.088334 +v 0.347991 -0.347978 0.088334 +v 0.309806 -0.309799 0.240881 +v 0.000153 -0.101020 0.489683 +v 0.000004 -0.280982 0.413580 +v 0.101086 0.000078 0.489611 +v 0.280980 -0.000002 0.413581 +v 0.000153 0.101021 0.489683 +v 0.000004 0.280982 0.413580 +v -0.101086 0.000078 0.489611 +v -0.280979 -0.000002 0.413580 +v -0.000031 0.489685 0.101021 +v 0.000002 0.413580 0.280982 +v 0.101021 0.489685 0.000031 +v 0.280982 0.413580 0.000002 +v -0.000031 0.489685 -0.101021 +v -0.000002 0.413580 -0.280982 +v -0.101021 0.489685 -0.000031 +v -0.280982 0.413580 -0.000002 +v -0.000153 0.101020 -0.489681 +v -0.000004 0.280981 -0.413579 +v 0.101085 0.000078 -0.489609 +v 0.280979 -0.000002 -0.413579 +v -0.000153 -0.101020 -0.489681 +v -0.000004 -0.280981 -0.413579 +v -0.101085 0.000078 -0.489610 +v -0.280979 -0.000002 -0.413579 +v -0.000031 -0.489685 -0.101021 +v -0.000002 -0.413580 -0.280982 +v 0.101021 -0.489685 0.000031 +v 0.280982 -0.413580 0.000002 +v -0.000031 -0.489685 0.101021 +v -0.000002 -0.413580 0.280982 +v -0.101021 -0.489685 -0.000031 +v -0.280982 -0.413580 0.000002 +v 0.489683 -0.101021 -0.000155 +v 0.413580 -0.280982 0.000004 +v 0.489609 0.000078 -0.101085 +v 0.413579 0.000002 -0.280978 +v 0.489683 0.101021 -0.000155 +v 0.413580 0.280982 -0.000004 +v 0.489611 0.000078 0.101086 +v 0.413581 0.000002 0.280980 +v -0.489682 -0.101020 0.000153 +v -0.413579 -0.280981 0.000004 +v -0.489610 0.000078 0.101085 +v -0.413580 0.000002 0.280979 +v -0.489682 0.101020 0.000153 +v -0.413579 0.280982 0.000004 +v -0.489610 0.000078 -0.101085 +v -0.413579 -0.000002 -0.280979 +v 0.175373 -0.264454 0.386327 +v 0.264471 -0.175383 0.386349 +v 0.192502 -0.094806 0.451567 +v 0.094761 -0.192567 0.451529 +v 0.264471 0.175383 0.386349 +v 0.175373 0.264454 0.386327 +v 0.094761 0.192567 0.451529 +v 0.192502 0.094806 0.451567 +v -0.175373 0.264454 0.386327 +v -0.264470 0.175383 0.386349 +v -0.192501 0.094806 0.451567 +v -0.094761 0.192567 0.451529 +v -0.264470 -0.175383 0.386349 +v -0.175373 -0.264454 0.386327 +v -0.094761 -0.192567 0.451529 +v -0.192501 -0.094806 0.451567 +v 0.175382 0.386348 0.264467 +v 0.264467 0.386348 0.175382 +v 0.192576 0.451561 0.094786 +v 0.094786 0.451561 0.192576 +v 0.264467 0.386347 -0.175382 +v 0.175382 0.386347 -0.264467 +v 0.094786 0.451561 -0.192575 +v 0.192575 0.451561 -0.094786 +v -0.175382 0.386347 -0.264467 +v -0.264467 0.386347 -0.175382 +v -0.192576 0.451561 -0.094786 +v -0.094786 0.451561 -0.192576 +v -0.264467 0.386347 0.175382 +v -0.175382 0.386347 0.264467 +v -0.094786 0.451561 0.192576 +v -0.192576 0.451561 0.094786 +v 0.175373 0.264453 -0.386326 +v 0.264470 0.175382 -0.386348 +v 0.192501 0.094805 -0.451565 +v 0.094761 0.192566 -0.451528 +v 0.264470 -0.175382 -0.386348 +v 0.175373 -0.264453 -0.386326 +v 0.094761 -0.192566 -0.451527 +v 0.192501 -0.094805 -0.451565 +v -0.175373 -0.264454 -0.386327 +v -0.264470 -0.175383 -0.386348 +v -0.192501 -0.094805 -0.451566 +v -0.094761 -0.192566 -0.451528 +v -0.264470 0.175383 -0.386348 +v -0.175373 0.264454 -0.386327 +v -0.094761 0.192566 -0.451528 +v -0.192501 0.094805 -0.451566 +v 0.175382 -0.386347 -0.264467 +v 0.264467 -0.386347 -0.175382 +v 0.192575 -0.451561 -0.094786 +v 0.094786 -0.451561 -0.192575 +v 0.264467 -0.386348 0.175382 +v 0.175382 -0.386348 0.264467 +v 0.094786 -0.451561 0.192576 +v 0.192576 -0.451561 0.094786 +v -0.175382 -0.386347 0.264467 +v -0.264467 -0.386347 0.175382 +v -0.192576 -0.451561 0.094786 +v -0.094786 -0.451561 0.192576 +v -0.264467 -0.386347 -0.175382 +v -0.175382 -0.386347 -0.264467 +v -0.094786 -0.451561 -0.192576 +v -0.192576 -0.451561 -0.094786 +v 0.386326 -0.264453 -0.175373 +v 0.386348 -0.175382 -0.264470 +v 0.451565 -0.094805 -0.192501 +v 0.451527 -0.192566 -0.094761 +v 0.386348 0.175383 -0.264470 +v 0.386326 0.264453 -0.175373 +v 0.451527 0.192566 -0.094761 +v 0.451565 0.094805 -0.192501 +v 0.386327 0.264454 0.175373 +v 0.386349 0.175383 0.264471 +v 0.451567 0.094806 0.192502 +v 0.451529 0.192567 0.094761 +v 0.386349 -0.175383 0.264471 +v 0.386328 -0.264454 0.175373 +v 0.451529 -0.192567 0.094761 +v 0.451567 -0.094806 0.192502 +v -0.386327 -0.264454 0.175373 +v -0.386349 -0.175383 0.264470 +v -0.451567 -0.094805 0.192501 +v -0.451528 -0.192566 0.094761 +v -0.386349 0.175383 0.264470 +v -0.386327 0.264454 0.175373 +v -0.451528 0.192566 0.094761 +v -0.451567 0.094806 0.192501 +v -0.386327 0.264454 -0.175373 +v -0.386348 0.175383 -0.264470 +v -0.451566 0.094806 -0.192501 +v -0.451528 0.192566 -0.094761 +v -0.386348 -0.175383 -0.264470 +v -0.386327 -0.264453 -0.175373 +v -0.451528 -0.192566 -0.094761 +v -0.451566 -0.094806 -0.192501 +v 0.249210 -0.249205 0.354590 +v 0.276290 -0.090474 0.406769 +v 0.099036 -0.099003 0.479914 +v 0.090466 -0.276300 0.406763 +v 0.249210 0.249205 0.354590 +v 0.090466 0.276300 0.406763 +v 0.099036 0.099003 0.479914 +v 0.276290 0.090474 0.406769 +v -0.249209 0.249205 0.354590 +v -0.276289 0.090474 0.406769 +v -0.099036 0.099003 0.479914 +v -0.090466 0.276300 0.406762 +v -0.249209 -0.249205 0.354590 +v -0.090466 -0.276300 0.406762 +v -0.099036 -0.099003 0.479914 +v -0.276289 -0.090474 0.406769 +v 0.249234 0.354619 0.249234 +v 0.276295 0.406760 0.090480 +v 0.099109 0.479959 0.099054 +v 0.090480 0.406760 0.276295 +v 0.249234 0.354619 -0.249233 +v 0.090480 0.406759 -0.276294 +v 0.099054 0.479959 -0.099109 +v 0.276294 0.406759 -0.090480 +v -0.249234 0.354619 -0.249234 +v -0.276295 0.406759 -0.090480 +v -0.099054 0.479959 -0.099109 +v -0.090480 0.406759 -0.276294 +v -0.249234 0.354619 0.249234 +v -0.090480 0.406760 0.276295 +v -0.099109 0.479959 0.099054 +v -0.276295 0.406759 0.090480 +v 0.249209 0.249204 -0.354589 +v 0.276289 0.090474 -0.406768 +v 0.099036 0.099003 -0.479912 +v 0.090466 0.276300 -0.406762 +v 0.249209 -0.249204 -0.354589 +v 0.090466 -0.276300 -0.406762 +v 0.099036 -0.099003 -0.479912 +v 0.276289 -0.090474 -0.406768 +v -0.249209 -0.249205 -0.354589 +v -0.276289 -0.090474 -0.406768 +v -0.099036 -0.099003 -0.479913 +v -0.090466 -0.276300 -0.406762 +v -0.249209 0.249205 -0.354589 +v -0.090466 0.276300 -0.406762 +v -0.099036 0.099003 -0.479913 +v -0.276289 0.090474 -0.406768 +v 0.249234 -0.354619 -0.249233 +v 0.276294 -0.406759 -0.090480 +v 0.099054 -0.479959 -0.099109 +v 0.090480 -0.406759 -0.276294 +v 0.249234 -0.354619 0.249234 +v 0.090480 -0.406760 0.276295 +v 0.099109 -0.479959 0.099054 +v 0.276295 -0.406760 0.090480 +v -0.249234 -0.354619 0.249234 +v -0.276295 -0.406759 0.090480 +v -0.099109 -0.479959 0.099054 +v -0.090480 -0.406760 0.276295 +v -0.249234 -0.354619 -0.249234 +v -0.090480 -0.406759 -0.276294 +v -0.099109 -0.479959 -0.099054 +v -0.276295 -0.406759 -0.090480 +v 0.354589 -0.249204 -0.249209 +v 0.406767 -0.090474 -0.276289 +v 0.479912 -0.099003 -0.099036 +v 0.406761 -0.276300 -0.090466 +v 0.354589 0.249204 -0.249209 +v 0.406761 0.276300 -0.090466 +v 0.479912 0.099003 -0.099036 +v 0.406767 0.090474 -0.276289 +v 0.354590 0.249205 0.249210 +v 0.406769 0.090474 0.276290 +v 0.479914 0.099003 0.099036 +v 0.406763 0.276300 0.090466 +v 0.354590 -0.249205 0.249210 +v 0.406763 -0.276301 0.090466 +v 0.479914 -0.099003 0.099036 +v 0.406769 -0.090474 0.276290 +v -0.354590 -0.249205 0.249209 +v -0.406769 -0.090474 0.276289 +v -0.479913 -0.099003 0.099036 +v -0.406762 -0.276300 0.090466 +v -0.354590 0.249205 0.249209 +v -0.406762 0.276300 0.090466 +v -0.479913 0.099003 0.099036 +v -0.406769 0.090474 0.276289 +v -0.354589 0.249205 -0.249209 +v -0.406768 0.090474 -0.276289 +v -0.479913 0.099003 -0.099036 +v -0.406762 0.276300 -0.090466 +v -0.354589 -0.249205 -0.249209 +v -0.406762 -0.276300 -0.090466 +v -0.479913 -0.099003 -0.099036 +v -0.406768 -0.090474 -0.276289 +vt 0.382233 0.028933 +vt 0.617767 0.028933 +vt 0.382233 0.264467 +vt 0.617767 0.264467 +vt 0.382233 0.500000 +vt 0.617767 0.500000 +vt 0.382233 0.735533 +vt 0.617767 0.735533 +vt 0.382233 0.971067 +vt 0.617767 0.971067 +vt 0.853300 0.028933 +vt 0.853300 0.264467 +vt 0.146700 0.028933 +vt 0.146700 0.264467 +vt 0.500000 0.146700 +vt 0.500000 0.382233 +vt 0.500000 0.617767 +vt 0.500000 0.853300 +vt 0.735533 0.146700 +vt 0.264467 0.146700 +vt 0.500000 0.028933 +vt 0.617767 0.146700 +vt 0.500000 0.264467 +vt 0.382233 0.146700 +vt 0.617767 0.382233 +vt 0.500000 0.500000 +vt 0.382233 0.382233 +vt 0.617767 0.617767 +vt 0.500000 0.735533 +vt 0.382233 0.617767 +vt 0.617767 0.853300 +vt 0.500000 0.971067 +vt 0.382233 0.853300 +vt 0.735533 0.028933 +vt 0.853300 0.146700 +vt 0.735533 0.264467 +vt 0.264467 0.028933 +vt 0.264467 0.264467 +vt 0.146700 0.146700 +vt 0.558883 0.087816 +vt 0.558883 0.205583 +vt 0.441117 0.205583 +vt 0.441117 0.087816 +vt 0.558883 0.323350 +vt 0.558883 0.441117 +vt 0.441117 0.441117 +vt 0.441117 0.323350 +vt 0.558883 0.558883 +vt 0.558883 0.676650 +vt 0.441117 0.676650 +vt 0.441117 0.558883 +vt 0.558883 0.794417 +vt 0.558883 0.912184 +vt 0.441117 0.912184 +vt 0.441117 0.794417 +vt 0.794417 0.087816 +vt 0.794417 0.205583 +vt 0.676650 0.205583 +vt 0.676650 0.087816 +vt 0.323350 0.087816 +vt 0.323350 0.205583 +vt 0.205583 0.205583 +vt 0.205583 0.087816 +vt 0.558883 0.028933 +vt 0.617767 0.087816 +vt 0.558883 0.146700 +vt 0.500000 0.087816 +vt 0.617767 0.205583 +vt 0.558883 0.264467 +vt 0.500000 0.205583 +vt 0.441117 0.264467 +vt 0.382233 0.205583 +vt 0.441117 0.146700 +vt 0.382233 0.087816 +vt 0.441117 0.028933 +vt 0.617767 0.323350 +vt 0.558883 0.382233 +vt 0.500000 0.323350 +vt 0.617767 0.441117 +vt 0.558883 0.500000 +vt 0.500000 0.441117 +vt 0.441117 0.500000 +vt 0.382233 0.441117 +vt 0.441117 0.382233 +vt 0.382233 0.323350 +vt 0.617767 0.558883 +vt 0.558883 0.617767 +vt 0.500000 0.558883 +vt 0.617767 0.676650 +vt 0.558883 0.735533 +vt 0.500000 0.676650 +vt 0.441117 0.735533 +vt 0.382233 0.676650 +vt 0.441117 0.617767 +vt 0.382233 0.558883 +vt 0.617767 0.794417 +vt 0.558883 0.853300 +vt 0.500000 0.794417 +vt 0.617767 0.912184 +vt 0.558883 0.971067 +vt 0.500000 0.912184 +vt 0.441117 0.971067 +vt 0.382233 0.912184 +vt 0.441117 0.853300 +vt 0.382233 0.794417 +vt 0.794417 0.028933 +vt 0.853300 0.087816 +vt 0.794417 0.146700 +vt 0.735533 0.087816 +vt 0.853300 0.205583 +vt 0.794417 0.264467 +vt 0.735533 0.205583 +vt 0.676650 0.264467 +vt 0.676650 0.146700 +vt 0.676650 0.028933 +vt 0.323350 0.028933 +vt 0.323350 0.146700 +vt 0.264467 0.087816 +vt 0.323350 0.264467 +vt 0.264467 0.205583 +vt 0.205583 0.264467 +vt 0.146700 0.205583 +vt 0.205583 0.146700 +vt 0.146700 0.087816 +vt 0.205583 0.028933 +vt 0.588325 0.058375 +vt 0.588325 0.117258 +vt 0.529442 0.117258 +vt 0.529442 0.058375 +vt 0.588325 0.235025 +vt 0.529442 0.235025 +vt 0.529442 0.176142 +vt 0.588325 0.176142 +vt 0.411675 0.235025 +vt 0.411675 0.176142 +vt 0.470558 0.176142 +vt 0.470558 0.235025 +vt 0.411675 0.058375 +vt 0.470558 0.058375 +vt 0.470558 0.117258 +vt 0.411675 0.117258 +vt 0.588325 0.293908 +vt 0.588325 0.352792 +vt 0.529442 0.352792 +vt 0.529442 0.293908 +vt 0.588325 0.470558 +vt 0.529442 0.470558 +vt 0.529442 0.411675 +vt 0.588325 0.411675 +vt 0.411675 0.470558 +vt 0.411675 0.411675 +vt 0.470558 0.411675 +vt 0.470558 0.470558 +vt 0.411675 0.293908 +vt 0.470558 0.293908 +vt 0.470558 0.352792 +vt 0.411675 0.352792 +vt 0.588325 0.529442 +vt 0.588325 0.588325 +vt 0.529442 0.588325 +vt 0.529442 0.529442 +vt 0.588325 0.706092 +vt 0.529442 0.706092 +vt 0.529442 0.647208 +vt 0.588325 0.647208 +vt 0.411675 0.706092 +vt 0.411675 0.647208 +vt 0.470558 0.647208 +vt 0.470558 0.706092 +vt 0.411675 0.529442 +vt 0.470558 0.529442 +vt 0.470558 0.588325 +vt 0.411675 0.588325 +vt 0.588325 0.764975 +vt 0.588325 0.823858 +vt 0.529442 0.823858 +vt 0.529442 0.764975 +vt 0.588325 0.941625 +vt 0.529442 0.941625 +vt 0.529442 0.882742 +vt 0.588325 0.882742 +vt 0.411675 0.941625 +vt 0.411675 0.882742 +vt 0.470558 0.882742 +vt 0.470558 0.941625 +vt 0.411675 0.764975 +vt 0.470558 0.764975 +vt 0.470558 0.823858 +vt 0.411675 0.823858 +vt 0.823858 0.058375 +vt 0.823858 0.117258 +vt 0.764975 0.117258 +vt 0.764975 0.058375 +vt 0.823858 0.235025 +vt 0.764975 0.235025 +vt 0.764975 0.176142 +vt 0.823858 0.176142 +vt 0.647208 0.235025 +vt 0.647208 0.176142 +vt 0.706092 0.176142 +vt 0.706092 0.235025 +vt 0.647208 0.058375 +vt 0.706092 0.058375 +vt 0.706092 0.117258 +vt 0.647208 0.117258 +vt 0.352792 0.058375 +vt 0.352792 0.117258 +vt 0.293908 0.117258 +vt 0.293908 0.058375 +vt 0.352792 0.235025 +vt 0.293908 0.235025 +vt 0.293908 0.176142 +vt 0.352792 0.176142 +vt 0.176142 0.235025 +vt 0.176142 0.176142 +vt 0.235025 0.176142 +vt 0.235025 0.235025 +vt 0.176142 0.058375 +vt 0.235025 0.058375 +vt 0.235025 0.117258 +vt 0.176142 0.117258 +vt 0.588325 0.028933 +vt 0.617767 0.058375 +vt 0.588325 0.087816 +vt 0.558883 0.058375 +vt 0.617767 0.117258 +vt 0.588325 0.146700 +vt 0.558883 0.117258 +vt 0.529442 0.146700 +vt 0.500000 0.117258 +vt 0.529442 0.087816 +vt 0.500000 0.058375 +vt 0.529442 0.028933 +vt 0.617767 0.235025 +vt 0.588325 0.264467 +vt 0.558883 0.235025 +vt 0.588325 0.205583 +vt 0.529442 0.264467 +vt 0.500000 0.235025 +vt 0.529442 0.205583 +vt 0.500000 0.176142 +vt 0.558883 0.176142 +vt 0.617767 0.176142 +vt 0.411675 0.264467 +vt 0.382233 0.235025 +vt 0.411675 0.205583 +vt 0.441117 0.235025 +vt 0.382233 0.176142 +vt 0.411675 0.146700 +vt 0.441117 0.176142 +vt 0.470558 0.146700 +vt 0.470558 0.205583 +vt 0.470558 0.264467 +vt 0.382233 0.058375 +vt 0.411675 0.028933 +vt 0.441117 0.058375 +vt 0.411675 0.087816 +vt 0.470558 0.028933 +vt 0.470558 0.087816 +vt 0.441117 0.117258 +vt 0.382233 0.117258 +vt 0.617767 0.293908 +vt 0.588325 0.323350 +vt 0.558883 0.293908 +vt 0.617767 0.352792 +vt 0.588325 0.382233 +vt 0.558883 0.352792 +vt 0.529442 0.382233 +vt 0.500000 0.352792 +vt 0.529442 0.323350 +vt 0.500000 0.293908 +vt 0.617767 0.470558 +vt 0.588325 0.500000 +vt 0.558883 0.470558 +vt 0.588325 0.441117 +vt 0.529442 0.500000 +vt 0.500000 0.470558 +vt 0.529442 0.441117 +vt 0.500000 0.411675 +vt 0.558883 0.411675 +vt 0.617767 0.411675 +vt 0.411675 0.500000 +vt 0.382233 0.470558 +vt 0.411675 0.441117 +vt 0.441117 0.470558 +vt 0.382233 0.411675 +vt 0.411675 0.382233 +vt 0.441117 0.411675 +vt 0.470558 0.382233 +vt 0.470558 0.441117 +vt 0.470558 0.500000 +vt 0.382233 0.293908 +vt 0.441117 0.293908 +vt 0.411675 0.323350 +vt 0.470558 0.323350 +vt 0.441117 0.352792 +vt 0.382233 0.352792 +vt 0.617767 0.529442 +vt 0.588325 0.558883 +vt 0.558883 0.529442 +vt 0.617767 0.588325 +vt 0.588325 0.617767 +vt 0.558883 0.588325 +vt 0.529442 0.617767 +vt 0.500000 0.588325 +vt 0.529442 0.558883 +vt 0.500000 0.529442 +vt 0.617767 0.706092 +vt 0.588325 0.735533 +vt 0.558883 0.706092 +vt 0.588325 0.676650 +vt 0.529442 0.735533 +vt 0.500000 0.706092 +vt 0.529442 0.676650 +vt 0.500000 0.647208 +vt 0.558883 0.647208 +vt 0.617767 0.647208 +vt 0.411675 0.735533 +vt 0.382233 0.706092 +vt 0.411675 0.676650 +vt 0.441117 0.706092 +vt 0.382233 0.647208 +vt 0.411675 0.617767 +vt 0.441117 0.647208 +vt 0.470558 0.617767 +vt 0.470558 0.676650 +vt 0.470558 0.735533 +vt 0.382233 0.529442 +vt 0.441117 0.529442 +vt 0.411675 0.558883 +vt 0.470558 0.558883 +vt 0.441117 0.588325 +vt 0.382233 0.588325 +vt 0.617767 0.764975 +vt 0.588325 0.794417 +vt 0.558883 0.764975 +vt 0.617767 0.823858 +vt 0.588325 0.853300 +vt 0.558883 0.823858 +vt 0.529442 0.853300 +vt 0.500000 0.823858 +vt 0.529442 0.794417 +vt 0.500000 0.764975 +vt 0.617767 0.941625 +vt 0.588325 0.971067 +vt 0.558883 0.941625 +vt 0.588325 0.912184 +vt 0.529442 0.971067 +vt 0.500000 0.941625 +vt 0.529442 0.912184 +vt 0.500000 0.882742 +vt 0.558883 0.882742 +vt 0.617767 0.882742 +vt 0.411675 0.971067 +vt 0.382233 0.941625 +vt 0.411675 0.912184 +vt 0.441117 0.941625 +vt 0.382233 0.882742 +vt 0.411675 0.853300 +vt 0.441117 0.882742 +vt 0.470558 0.853300 +vt 0.470558 0.912184 +vt 0.470558 0.971067 +vt 0.382233 0.764975 +vt 0.441117 0.764975 +vt 0.411675 0.794417 +vt 0.470558 0.794417 +vt 0.441117 0.823858 +vt 0.382233 0.823858 +vt 0.823858 0.028933 +vt 0.853300 0.058375 +vt 0.823858 0.087816 +vt 0.794417 0.058375 +vt 0.853300 0.117258 +vt 0.823858 0.146700 +vt 0.794417 0.117258 +vt 0.764975 0.146700 +vt 0.735533 0.117258 +vt 0.764975 0.087816 +vt 0.735533 0.058375 +vt 0.764975 0.028933 +vt 0.853300 0.235025 +vt 0.823858 0.264467 +vt 0.794417 0.235025 +vt 0.823858 0.205583 +vt 0.764975 0.264467 +vt 0.735533 0.235025 +vt 0.764975 0.205583 +vt 0.735533 0.176142 +vt 0.794417 0.176142 +vt 0.853300 0.176142 +vt 0.647208 0.264467 +vt 0.647208 0.205583 +vt 0.676650 0.235025 +vt 0.647208 0.146700 +vt 0.676650 0.176142 +vt 0.706092 0.146700 +vt 0.706092 0.205583 +vt 0.706092 0.264467 +vt 0.647208 0.028933 +vt 0.676650 0.058375 +vt 0.647208 0.087816 +vt 0.706092 0.028933 +vt 0.706092 0.087816 +vt 0.676650 0.117258 +vt 0.352792 0.028933 +vt 0.352792 0.087816 +vt 0.323350 0.058375 +vt 0.352792 0.146700 +vt 0.323350 0.117258 +vt 0.293908 0.146700 +vt 0.264467 0.117258 +vt 0.293908 0.087816 +vt 0.264467 0.058375 +vt 0.293908 0.028933 +vt 0.352792 0.264467 +vt 0.323350 0.235025 +vt 0.352792 0.205583 +vt 0.293908 0.264467 +vt 0.264467 0.235025 +vt 0.293908 0.205583 +vt 0.264467 0.176142 +vt 0.323350 0.176142 +vt 0.176142 0.264467 +vt 0.146700 0.235025 +vt 0.176142 0.205583 +vt 0.205583 0.235025 +vt 0.146700 0.176142 +vt 0.176142 0.146700 +vt 0.205583 0.176142 +vt 0.235025 0.146700 +vt 0.235025 0.205583 +vt 0.235025 0.264467 +vt 0.146700 0.058375 +vt 0.176142 0.028933 +vt 0.205583 0.058375 +vt 0.176142 0.087816 +vt 0.235025 0.028933 +vt 0.235025 0.087816 +vt 0.205583 0.117258 +vt 0.146700 0.117258 +vn 0.461074 -0.627315 0.627604 +vn 0.577376 -0.577304 0.577371 +vn 0.627390 -0.461258 0.627394 +vn 0.486979 -0.487173 0.724924 +vn 0.667625 -0.329472 0.667626 +vn 0.523820 -0.340373 0.780871 +vn 0.361222 -0.361392 0.859601 +vn 0.340368 -0.523901 0.780819 +vn 0.329492 -0.667531 0.667710 +vn 0.696628 -0.171524 0.696627 +vn 0.707106 0.000000 0.707107 +vn 0.557022 -0.000015 0.830498 +vn 0.547918 -0.176012 0.817805 +vn 0.385344 0.000002 0.922773 +vn 0.378370 -0.185157 0.906947 +vn 0.197472 0.000006 0.980309 +vn 0.000017 0.000008 1.000000 +vn 0.000011 -0.197054 0.980393 +vn 0.193746 -0.193455 0.961789 +vn -0.000004 -0.385402 0.922749 +vn 0.185310 -0.378552 0.906840 +vn -0.000023 -0.557089 0.830453 +vn -0.000001 -0.707123 0.707091 +vn 0.171623 -0.696599 0.696631 +vn 0.176145 -0.547999 0.817722 +vn 0.627390 0.461258 0.627394 +vn 0.577376 0.577304 0.577371 +vn 0.461074 0.627315 0.627604 +vn 0.486979 0.487173 0.724924 +vn 0.329493 0.667531 0.667711 +vn 0.340368 0.523900 0.780819 +vn 0.361222 0.361392 0.859601 +vn 0.523820 0.340373 0.780871 +vn 0.667625 0.329472 0.667626 +vn 0.171624 0.696598 0.696632 +vn -0.000003 0.707123 0.707091 +vn -0.000024 0.557088 0.830453 +vn 0.176145 0.547999 0.817723 +vn -0.000004 0.385402 0.922749 +vn 0.185311 0.378552 0.906840 +vn 0.000011 0.197222 0.980359 +vn 0.193767 0.193599 0.961756 +vn 0.378403 0.185238 0.906917 +vn 0.696626 0.171525 0.696629 +vn 0.547936 0.176031 0.817789 +vn -0.461073 0.627316 0.627604 +vn -0.577372 0.577302 0.577377 +vn -0.627394 0.461257 0.627390 +vn -0.486978 0.487170 0.724926 +vn -0.667626 0.329471 0.667625 +vn -0.523821 0.340373 0.780870 +vn -0.361223 0.361392 0.859601 +vn -0.340370 0.523900 0.780818 +vn -0.329494 0.667530 0.667711 +vn -0.696627 0.171524 0.696628 +vn -0.707107 -0.000000 0.707106 +vn -0.557024 -0.000015 0.830497 +vn -0.547937 0.176030 0.817788 +vn -0.385346 0.000002 0.922772 +vn -0.378405 0.185238 0.906916 +vn -0.197140 0.000006 0.980375 +vn -0.193485 0.193554 0.961821 +vn -0.185153 0.378489 0.906898 +vn -0.171623 0.696598 0.696633 +vn -0.176103 0.547967 0.817753 +vn -0.627394 -0.461257 0.627390 +vn -0.577372 -0.577302 0.577377 +vn -0.461073 -0.627316 0.627604 +vn -0.486978 -0.487170 0.724926 +vn -0.329494 -0.667530 0.667711 +vn -0.340370 -0.523899 0.780818 +vn -0.361223 -0.361392 0.859601 +vn -0.523821 -0.340373 0.780870 +vn -0.667626 -0.329471 0.667625 +vn -0.171624 -0.696597 0.696634 +vn -0.176103 -0.547967 0.817753 +vn -0.185153 -0.378489 0.906898 +vn -0.193465 -0.193409 0.961855 +vn -0.378371 -0.185157 0.906947 +vn -0.696629 -0.171524 0.696626 +vn -0.547920 -0.176011 0.817804 +vn 0.627603 0.627317 0.461072 +vn 0.487121 0.724862 0.487122 +vn 0.667710 0.667531 0.329494 +vn 0.523945 0.780817 0.340304 +vn 0.361385 0.859527 0.361407 +vn 0.340310 0.780804 0.523961 +vn 0.696633 0.696598 0.171624 +vn 0.707091 0.707123 -0.000007 +vn 0.557171 0.830398 -0.000013 +vn 0.548068 0.817688 0.176092 +vn 0.385587 0.922671 -0.000021 +vn 0.378728 0.906782 0.185231 +vn 0.197220 0.980359 -0.000017 +vn 0.000077 1.000000 -0.000001 +vn -0.000075 0.980362 0.197206 +vn 0.193649 0.961770 0.193647 +vn 0.000029 0.922682 0.385561 +vn 0.185185 0.906813 0.378679 +vn -0.000010 0.830398 0.557171 +vn 0.176074 0.817682 0.548083 +vn 0.627606 0.627311 -0.461076 +vn 0.577373 0.577300 -0.577378 +vn 0.461074 0.627314 -0.627605 +vn 0.487124 0.724859 -0.487123 +vn 0.329495 0.667528 -0.667712 +vn 0.340312 0.780801 -0.523963 +vn 0.361387 0.859525 -0.361409 +vn 0.523948 0.780815 -0.340305 +vn 0.667713 0.667527 -0.329494 +vn 0.171623 0.696595 -0.696635 +vn 0.000003 0.707121 -0.707093 +vn 0.000010 0.830397 -0.557173 +vn 0.176057 0.817693 -0.548071 +vn -0.000009 0.922660 -0.385614 +vn 0.185168 0.906802 -0.378712 +vn -0.000023 0.980369 -0.197174 +vn 0.193619 0.961774 -0.193655 +vn 0.378694 0.906810 -0.185168 +vn 0.696632 0.696596 -0.171632 +vn 0.548057 0.817698 -0.176078 +vn -0.461075 0.627312 -0.627606 +vn -0.577377 0.577301 -0.577372 +vn -0.627604 0.627315 -0.461074 +vn -0.487123 0.724860 -0.487123 +vn -0.667711 0.667529 -0.329495 +vn -0.523962 0.780802 -0.340312 +vn -0.361408 0.859526 -0.361387 +vn -0.340304 0.780816 -0.523947 +vn -0.329493 0.667529 -0.667712 +vn -0.696635 0.696595 -0.171624 +vn -0.707092 0.707122 -0.000001 +vn -0.557172 0.830397 -0.000012 +vn -0.548070 0.817693 -0.176059 +vn -0.385588 0.922671 0.000002 +vn -0.378697 0.906808 -0.185169 +vn -0.197159 0.980372 -0.000055 +vn -0.193617 0.961782 -0.193619 +vn -0.185231 0.906781 -0.378731 +vn -0.171624 0.696596 -0.696634 +vn -0.176092 0.817686 -0.548070 +vn -0.627605 0.627314 0.461075 +vn -0.487123 0.724861 0.487122 +vn -0.340304 0.780816 0.523946 +vn -0.361408 0.859526 0.361386 +vn -0.523961 0.780803 0.340310 +vn -0.667711 0.667530 0.329493 +vn -0.176073 0.817700 0.548055 +vn -0.185181 0.906801 0.378707 +vn -0.193620 0.961788 0.193585 +vn -0.378708 0.906797 0.185199 +vn -0.696632 0.696598 0.171623 +vn -0.548084 0.817681 0.176072 +vn 0.627395 0.461255 -0.627391 +vn 0.486979 0.487168 -0.724927 +vn 0.667627 0.329469 -0.667626 +vn 0.523822 0.340371 -0.780870 +vn 0.361224 0.361390 -0.859602 +vn 0.340370 0.523897 -0.780820 +vn 0.696627 0.171523 -0.696628 +vn 0.707107 0.000000 -0.707106 +vn 0.557024 0.000012 -0.830497 +vn 0.547920 0.176008 -0.817805 +vn 0.385346 -0.000051 -0.922772 +vn 0.378409 0.185195 -0.906923 +vn 0.197141 0.000031 -0.980375 +vn -0.000017 0.000008 -1.000000 +vn -0.000059 0.197221 -0.980359 +vn 0.193545 0.193492 -0.961822 +vn 0.000101 0.385400 -0.922750 +vn 0.185232 0.378479 -0.906886 +vn -0.000026 0.557087 -0.830454 +vn 0.176143 0.547997 -0.817725 +vn 0.627392 -0.461254 -0.627394 +vn 0.577379 -0.577300 -0.577372 +vn 0.461077 -0.627311 -0.627605 +vn 0.486981 -0.487169 -0.724925 +vn 0.329495 -0.667528 -0.667712 +vn 0.340371 -0.523897 -0.780820 +vn 0.361224 -0.361390 -0.859602 +vn 0.523822 -0.340371 -0.780871 +vn 0.667627 -0.329470 -0.667626 +vn 0.171623 -0.696595 -0.696635 +vn 0.000003 -0.707121 -0.707093 +vn -0.000026 -0.557087 -0.830454 +vn 0.176143 -0.547997 -0.817725 +vn 0.000101 -0.385400 -0.922750 +vn 0.185232 -0.378479 -0.906886 +vn -0.000059 -0.197053 -0.980393 +vn 0.193481 -0.193388 -0.961856 +vn 0.378367 -0.185198 -0.906940 +vn 0.696629 -0.171523 -0.696626 +vn 0.547937 -0.176032 -0.817788 +vn -0.461075 -0.627312 -0.627606 +vn -0.577377 -0.577301 -0.577372 +vn -0.627391 -0.461255 -0.627395 +vn -0.486980 -0.487171 -0.724925 +vn -0.667626 -0.329470 -0.667627 +vn -0.523820 -0.340372 -0.780871 +vn -0.361222 -0.361391 -0.859602 +vn -0.340369 -0.523898 -0.780820 +vn -0.329493 -0.667529 -0.667712 +vn -0.696627 -0.171525 -0.696628 +vn -0.707106 0.000001 -0.707107 +vn -0.557022 -0.000015 -0.830498 +vn -0.547918 -0.176011 -0.817805 +vn -0.385344 0.000002 -0.922773 +vn -0.378369 -0.185156 -0.906948 +vn -0.197471 0.000006 -0.980309 +vn -0.193709 -0.193493 -0.961789 +vn -0.185232 -0.378558 -0.906853 +vn -0.171624 -0.696596 -0.696634 +vn -0.176104 -0.547965 -0.817754 +vn -0.627391 0.461256 -0.627394 +vn -0.486979 0.487171 -0.724925 +vn -0.340369 0.523898 -0.780820 +vn -0.361222 0.361390 -0.859602 +vn -0.523820 0.340371 -0.780871 +vn -0.667626 0.329470 -0.667626 +vn -0.176104 0.547965 -0.817754 +vn -0.185232 0.378558 -0.906853 +vn -0.193730 0.193638 -0.961755 +vn -0.378403 0.185237 -0.906917 +vn -0.696627 0.171522 -0.696628 +vn -0.547936 0.176030 -0.817789 +vn 0.627606 -0.627313 -0.461073 +vn 0.487125 -0.724859 -0.487123 +vn 0.667713 -0.667528 -0.329494 +vn 0.523948 -0.780814 -0.340305 +vn 0.361388 -0.859525 -0.361409 +vn 0.340313 -0.780801 -0.523963 +vn 0.696634 -0.696595 -0.171630 +vn 0.707091 -0.707123 -0.000009 +vn 0.557171 -0.830398 -0.000014 +vn 0.548057 -0.817698 -0.176078 +vn 0.385587 -0.922672 -0.000021 +vn 0.378694 -0.906810 -0.185168 +vn 0.197218 -0.980360 -0.000027 +vn 0.000075 -1.000000 0.000016 +vn -0.000047 -0.980368 -0.197177 +vn 0.193611 -0.961778 -0.193646 +vn -0.000038 -0.922671 -0.385588 +vn 0.185168 -0.906802 -0.378712 +vn 0.000009 -0.830397 -0.557173 +vn 0.176057 -0.817693 -0.548072 +vn 0.627603 -0.627317 0.461072 +vn 0.487122 -0.724862 0.487122 +vn 0.340303 -0.780817 0.523946 +vn 0.361407 -0.859526 0.361386 +vn 0.523960 -0.780804 0.340311 +vn 0.667710 -0.667531 0.329494 +vn -0.000012 -0.830398 0.557171 +vn 0.176089 -0.817687 0.548069 +vn 0.000030 -0.922682 0.385562 +vn 0.185198 -0.906805 0.378690 +vn -0.000074 -0.980359 0.197220 +vn 0.193655 -0.961767 0.193653 +vn 0.378720 -0.906789 0.185216 +vn 0.696631 -0.696599 0.171626 +vn 0.548082 -0.817682 0.176075 +vn -0.627605 -0.627313 0.461075 +vn -0.487122 -0.724861 0.487122 +vn -0.667712 -0.667530 0.329493 +vn -0.523961 -0.780803 0.340310 +vn -0.361408 -0.859526 0.361386 +vn -0.340304 -0.780817 0.523945 +vn -0.696633 -0.696597 0.171624 +vn -0.707092 -0.707122 -0.000002 +vn -0.557172 -0.830397 -0.000009 +vn -0.548084 -0.817681 0.176075 +vn -0.385613 -0.922661 0.000029 +vn -0.378707 -0.906798 0.185201 +vn -0.197143 -0.980375 -0.000038 +vn -0.193628 -0.961785 0.193594 +vn -0.185183 -0.906802 0.378706 +vn -0.176076 -0.817700 0.548055 +vn -0.627604 -0.627315 -0.461073 +vn -0.487123 -0.724860 -0.487123 +vn -0.340304 -0.780816 -0.523947 +vn -0.361408 -0.859526 -0.361387 +vn -0.523962 -0.780802 -0.340312 +vn -0.667711 -0.667529 -0.329495 +vn -0.176093 -0.817686 -0.548070 +vn -0.185216 -0.906796 -0.378704 +vn -0.193645 -0.961784 -0.193578 +vn -0.378725 -0.906794 -0.185183 +vn -0.696634 -0.696596 -0.171623 +vn -0.548070 -0.817694 -0.176057 +vn 0.724928 -0.487168 -0.486978 +vn 0.780871 -0.340371 -0.523820 +vn 0.859602 -0.361390 -0.361222 +vn 0.780820 -0.523897 -0.340369 +vn 0.830498 0.000015 -0.557022 +vn 0.817790 -0.176030 -0.547936 +vn 0.922773 -0.000052 -0.385344 +vn 0.906940 -0.185197 -0.378367 +vn 0.980306 0.000092 -0.197487 +vn 1.000000 -0.000108 -0.000031 +vn 0.980374 -0.197146 -0.000024 +vn 0.961768 -0.193520 -0.193786 +vn 0.922749 -0.385402 -0.000011 +vn 0.906838 -0.378552 -0.185322 +vn 0.830453 -0.557088 0.000018 +vn 0.817723 -0.547996 -0.176152 +vn 0.724925 0.487170 -0.486979 +vn 0.780820 0.523897 -0.340369 +vn 0.859602 0.361390 -0.361222 +vn 0.780871 0.340371 -0.523820 +vn 0.830453 0.557089 -0.000037 +vn 0.817752 0.547964 -0.176116 +vn 0.922749 0.385402 0.000089 +vn 0.906851 0.378558 -0.185245 +vn 0.980377 0.197130 -0.000073 +vn 0.961771 0.193571 -0.193719 +vn 0.906924 0.185195 -0.378406 +vn 0.817806 0.176010 -0.547918 +vn 0.724926 0.487171 0.486977 +vn 0.780870 0.340373 0.523821 +vn 0.859601 0.361393 0.361223 +vn 0.780818 0.523901 0.340370 +vn 0.830497 -0.000012 0.557023 +vn 0.817788 0.176033 0.547937 +vn 0.922772 0.000000 0.385346 +vn 0.906916 0.185240 0.378404 +vn 0.980376 0.000066 0.197138 +vn 0.961841 0.193467 0.193475 +vn 0.906886 0.378482 0.185231 +vn 0.817723 0.548000 0.176143 +vn 0.724926 -0.487171 0.486977 +vn 0.780818 -0.523901 0.340370 +vn 0.859601 -0.361392 0.361223 +vn 0.780870 -0.340373 0.523821 +vn 0.817752 -0.547967 0.176106 +vn 0.906899 -0.378487 0.185154 +vn 0.961836 -0.193456 0.193510 +vn 0.906946 -0.185156 0.378372 +vn 0.817805 -0.176009 0.547920 +vn -0.724924 -0.487172 0.486979 +vn -0.780871 -0.340372 0.523820 +vn -0.859602 -0.361392 0.361222 +vn -0.780819 -0.523899 0.340369 +vn -0.830498 -0.000012 0.557022 +vn -0.817806 -0.176009 0.547919 +vn -0.922773 0.000000 0.385344 +vn -0.906947 -0.185155 0.378371 +vn -0.980309 0.000006 0.197472 +vn -1.000000 0.000008 0.000017 +vn -0.980393 -0.197053 0.000011 +vn -0.961789 -0.193454 0.193746 +vn -0.922749 -0.385401 -0.000004 +vn -0.906840 -0.378551 0.185311 +vn -0.830454 -0.557088 -0.000023 +vn -0.817723 -0.547998 0.176145 +vn -0.724924 0.487172 0.486979 +vn -0.780819 0.523899 0.340369 +vn -0.859602 0.361392 0.361222 +vn -0.780871 0.340372 0.523820 +vn -0.830454 0.557088 -0.000024 +vn -0.817723 0.547998 0.176145 +vn -0.922749 0.385401 -0.000004 +vn -0.906840 0.378551 0.185311 +vn -0.980359 0.197221 0.000011 +vn -0.961756 0.193598 0.193767 +vn -0.906917 0.185239 0.378402 +vn -0.817789 0.176033 0.547936 +vn -0.724926 0.487169 -0.486979 +vn -0.780870 0.340372 -0.523822 +vn -0.859601 0.361391 -0.361224 +vn -0.780819 0.523898 -0.340371 +vn -0.830496 0.000012 -0.557024 +vn -0.817805 0.176008 -0.547920 +vn -0.922772 -0.000051 -0.385346 +vn -0.906923 0.185195 -0.378409 +vn -0.980375 0.000031 -0.197140 +vn -0.961821 0.193533 -0.193507 +vn -0.906899 0.378488 -0.185154 +vn -0.817754 0.547965 -0.176103 +vn -0.724926 -0.487169 -0.486979 +vn -0.780819 -0.523898 -0.340371 +vn -0.859601 -0.361391 -0.361223 +vn -0.780870 -0.340372 -0.523822 +vn -0.817754 -0.547966 -0.176103 +vn -0.906899 -0.378488 -0.185154 +vn -0.961855 -0.193429 -0.193443 +vn -0.906940 -0.185199 -0.378367 +vn -0.817788 -0.176033 -0.547937 +s 1 +g QuadSphere_GEO +f 102/222/1 2/2/2 119/223/3 291/126/4 +f 119/223/3 37/65/5 196/224/6 291/126/4 +f 196/224/6 75/40/7 195/225/8 291/126/4 +f 195/225/8 28/64/9 102/222/1 291/126/4 +f 120/226/10 14/22/11 150/227/12 292/127/13 +f 150/227/12 52/66/14 197/228/15 292/127/13 +f 197/228/15 75/40/7 196/224/6 292/127/13 +f 196/224/6 37/65/5 120/226/10 292/127/13 +f 149/229/16 21/15/17 147/230/18 293/128/19 +f 147/230/18 51/67/20 198/231/21 293/128/19 +f 198/231/21 75/40/7 197/228/15 293/128/19 +f 197/228/15 52/66/14 149/229/16 293/128/19 +f 148/232/22 9/21/23 101/233/24 294/129/25 +f 101/233/24 28/64/9 195/225/8 294/129/25 +f 195/225/8 75/40/7 198/231/21 294/129/25 +f 198/231/21 51/67/20 148/232/22 294/129/25 +f 122/234/26 4/4/27 106/235/28 295/130/29 +f 106/235/28 30/69/30 200/236/31 295/130/29 +f 200/236/31 76/41/32 199/237/33 295/130/29 +f 199/237/33 38/68/34 122/234/26 295/130/29 +f 105/238/35 10/23/36 152/239/37 296/131/38 +f 152/239/37 53/70/39 201/240/40 296/131/38 +f 201/240/40 76/41/32 200/236/31 296/131/38 +f 200/236/31 30/69/30 105/238/35 296/131/38 +f 151/241/41 21/15/17 149/229/16 297/132/42 +f 149/229/16 52/66/14 202/242/43 297/132/42 +f 202/242/43 76/41/32 201/240/40 297/132/42 +f 201/240/40 53/70/39 151/241/41 297/132/42 +f 150/227/12 14/22/11 121/243/44 298/133/45 +f 121/243/44 38/68/34 199/237/33 298/133/45 +f 199/237/33 76/41/32 202/242/43 298/133/45 +f 202/242/43 52/66/14 150/227/12 298/133/45 +f 103/244/46 3/3/47 118/245/48 299/134/49 +f 118/245/48 36/72/50 204/246/51 299/134/49 +f 204/246/51 77/42/52 203/247/53 299/134/49 +f 203/247/53 29/71/54 103/244/46 299/134/49 +f 117/248/55 13/24/56 154/249/57 300/135/58 +f 154/249/57 54/73/59 205/250/60 300/135/58 +f 205/250/60 77/42/52 204/246/51 300/135/58 +f 204/246/51 36/72/50 117/248/55 300/135/58 +f 153/251/61 21/15/17 151/241/41 301/136/62 +f 151/241/41 53/70/39 206/252/63 301/136/62 +f 206/252/63 77/42/52 205/250/60 301/136/62 +f 205/250/60 54/73/59 153/251/61 301/136/62 +f 152/239/37 10/23/36 104/253/64 302/137/65 +f 104/253/64 29/71/54 203/247/53 302/137/65 +f 203/247/53 77/42/52 206/252/63 302/137/65 +f 206/252/63 53/70/39 152/239/37 302/137/65 +f 115/254/66 1/1/67 99/255/68 303/138/69 +f 99/255/68 27/75/70 208/256/71 303/138/69 +f 208/256/71 78/43/72 207/257/73 303/138/69 +f 207/257/73 35/74/74 115/254/66 303/138/69 +f 100/258/75 9/21/23 148/232/22 304/139/76 +f 148/232/22 51/67/20 209/259/77 304/139/76 +f 209/259/77 78/43/72 208/256/71 304/139/76 +f 208/256/71 27/75/70 100/258/75 304/139/76 +f 147/230/18 21/15/17 153/251/61 305/140/78 +f 153/251/61 54/73/59 210/260/79 305/140/78 +f 210/260/79 78/43/72 209/259/77 305/140/78 +f 209/259/77 51/67/20 147/230/18 305/140/78 +f 154/249/57 13/24/56 116/261/80 306/141/81 +f 116/261/80 35/74/74 207/257/73 306/141/81 +f 207/257/73 78/43/72 210/260/79 306/141/81 +f 210/260/79 54/73/59 154/249/57 306/141/81 +f 106/235/28 4/4/27 127/262/82 307/142/83 +f 127/262/82 41/76/84 212/263/85 307/142/83 +f 212/263/85 79/44/86 211/264/87 307/142/83 +f 211/264/87 30/69/30 106/235/28 307/142/83 +f 128/265/88 16/25/89 158/266/90 308/143/91 +f 158/266/90 56/77/92 213/267/93 308/143/91 +f 213/267/93 79/44/86 212/263/85 308/143/91 +f 212/263/85 41/76/84 128/265/88 308/143/91 +f 157/268/94 22/16/95 155/269/96 309/144/97 +f 155/269/96 55/78/98 214/270/99 309/144/97 +f 214/270/99 79/44/86 213/267/93 309/144/97 +f 213/267/93 56/77/92 157/268/94 309/144/97 +f 156/271/100 10/23/36 105/238/35 310/145/101 +f 105/238/35 30/69/30 211/264/87 310/145/101 +f 211/264/87 79/44/86 214/270/99 310/145/101 +f 214/270/99 55/78/98 156/271/100 310/145/101 +f 130/272/102 6/6/103 110/273/104 311/146/105 +f 110/273/104 32/80/106 216/274/107 311/146/105 +f 216/274/107 80/45/108 215/275/109 311/146/105 +f 215/275/109 42/79/110 130/272/102 311/146/105 +f 109/276/111 11/26/112 160/277/113 312/147/114 +f 160/277/113 57/81/115 217/278/116 312/147/114 +f 217/278/116 80/45/108 216/274/107 312/147/114 +f 216/274/107 32/80/106 109/276/111 312/147/114 +f 159/279/117 22/16/95 157/268/94 313/148/118 +f 157/268/94 56/77/92 218/280/119 313/148/118 +f 218/280/119 80/45/108 217/278/116 313/148/118 +f 217/278/116 57/81/115 159/279/117 313/148/118 +f 158/266/90 16/25/89 129/281/120 314/149/121 +f 129/281/120 42/79/110 215/275/109 314/149/121 +f 215/275/109 80/45/108 218/280/119 314/149/121 +f 218/280/119 56/77/92 158/266/90 314/149/121 +f 107/282/122 5/5/123 126/283/124 315/150/125 +f 126/283/124 40/83/126 220/284/127 315/150/125 +f 220/284/127 81/46/128 219/285/129 315/150/125 +f 219/285/129 31/82/130 107/282/122 315/150/125 +f 125/286/131 15/27/132 162/287/133 316/151/134 +f 162/287/133 58/84/135 221/288/136 316/151/134 +f 221/288/136 81/46/128 220/284/127 316/151/134 +f 220/284/127 40/83/126 125/286/131 316/151/134 +f 161/289/137 22/16/95 159/279/117 317/152/138 +f 159/279/117 57/81/115 222/290/139 317/152/138 +f 222/290/139 81/46/128 221/288/136 317/152/138 +f 221/288/136 58/84/135 161/289/137 317/152/138 +f 160/277/113 11/26/112 108/291/140 318/153/141 +f 108/291/140 31/82/130 219/285/129 318/153/141 +f 219/285/129 81/46/128 222/290/139 318/153/141 +f 222/290/139 57/81/115 160/277/113 318/153/141 +f 123/292/142 3/3/47 103/244/46 319/154/143 +f 103/244/46 29/71/54 224/293/144 319/154/143 +f 224/293/144 82/47/145 223/294/146 319/154/143 +f 223/294/146 39/85/147 123/292/142 319/154/143 +f 104/253/64 10/23/36 156/271/100 320/155/148 +f 156/271/100 55/78/98 225/295/149 320/155/148 +f 225/295/149 82/47/145 224/293/144 320/155/148 +f 224/293/144 29/71/54 104/253/64 320/155/148 +f 155/269/96 22/16/95 161/289/137 321/156/150 +f 161/289/137 58/84/135 226/296/151 321/156/150 +f 226/296/151 82/47/145 225/295/149 321/156/150 +f 225/295/149 55/78/98 155/269/96 321/156/150 +f 162/287/133 15/27/132 124/297/152 322/157/153 +f 124/297/152 39/85/147 223/294/146 322/157/153 +f 223/294/146 82/47/145 226/296/151 322/157/153 +f 226/296/151 58/84/135 162/287/133 322/157/153 +f 110/273/104 6/6/103 135/298/154 323/158/155 +f 135/298/154 45/86/156 228/299/157 323/158/155 +f 228/299/157 83/48/158 227/300/159 323/158/155 +f 227/300/159 32/80/106 110/273/104 323/158/155 +f 136/301/160 18/28/161 166/302/162 324/159/163 +f 166/302/162 60/87/164 229/303/165 324/159/163 +f 229/303/165 83/48/158 228/299/157 324/159/163 +f 228/299/157 45/86/156 136/301/160 324/159/163 +f 165/304/166 23/17/167 163/305/168 325/160/169 +f 163/305/168 59/88/170 230/306/171 325/160/169 +f 230/306/171 83/48/158 229/303/165 325/160/169 +f 229/303/165 60/87/164 165/304/166 325/160/169 +f 164/307/172 11/26/112 109/276/111 326/161/173 +f 109/276/111 32/80/106 227/300/159 326/161/173 +f 227/300/159 83/48/158 230/306/171 326/161/173 +f 230/306/171 59/88/170 164/307/172 326/161/173 +f 138/308/174 8/8/175 114/309/176 327/162/177 +f 114/309/176 34/90/178 232/310/179 327/162/177 +f 232/310/179 84/49/180 231/311/181 327/162/177 +f 231/311/181 46/89/182 138/308/174 327/162/177 +f 113/312/183 12/29/184 168/313/185 328/163/186 +f 168/313/185 61/91/187 233/314/188 328/163/186 +f 233/314/188 84/49/180 232/310/179 328/163/186 +f 232/310/179 34/90/178 113/312/183 328/163/186 +f 167/315/189 23/17/167 165/304/166 329/164/190 +f 165/304/166 60/87/164 234/316/191 329/164/190 +f 234/316/191 84/49/180 233/314/188 329/164/190 +f 233/314/188 61/91/187 167/315/189 329/164/190 +f 166/302/162 18/28/161 137/317/192 330/165/193 +f 137/317/192 46/89/182 231/311/181 330/165/193 +f 231/311/181 84/49/180 234/316/191 330/165/193 +f 234/316/191 60/87/164 166/302/162 330/165/193 +f 111/318/194 7/7/195 134/319/196 331/166/197 +f 134/319/196 44/93/198 236/320/199 331/166/197 +f 236/320/199 85/50/200 235/321/201 331/166/197 +f 235/321/201 33/92/202 111/318/194 331/166/197 +f 133/322/203 17/30/204 170/323/205 332/167/206 +f 170/323/205 62/94/207 237/324/208 332/167/206 +f 237/324/208 85/50/200 236/320/199 332/167/206 +f 236/320/199 44/93/198 133/322/203 332/167/206 +f 169/325/209 23/17/167 167/315/189 333/168/210 +f 167/315/189 61/91/187 238/326/211 333/168/210 +f 238/326/211 85/50/200 237/324/208 333/168/210 +f 237/324/208 62/94/207 169/325/209 333/168/210 +f 168/313/185 12/29/184 112/327/212 334/169/213 +f 112/327/212 33/92/202 235/321/201 334/169/213 +f 235/321/201 85/50/200 238/326/211 334/169/213 +f 238/326/211 61/91/187 168/313/185 334/169/213 +f 131/328/214 5/5/123 107/282/122 335/170/215 +f 107/282/122 31/82/130 240/329/216 335/170/215 +f 240/329/216 86/51/217 239/330/218 335/170/215 +f 239/330/218 43/95/219 131/328/214 335/170/215 +f 108/291/140 11/26/112 164/307/172 336/171/220 +f 164/307/172 59/88/170 241/331/221 336/171/220 +f 241/331/221 86/51/217 240/329/216 336/171/220 +f 240/329/216 31/82/130 108/291/140 336/171/220 +f 163/305/168 23/17/167 169/325/209 337/172/222 +f 169/325/209 62/94/207 242/332/223 337/172/222 +f 242/332/223 86/51/217 241/331/221 337/172/222 +f 241/331/221 59/88/170 163/305/168 337/172/222 +f 170/323/205 17/30/204 132/333/224 338/173/225 +f 132/333/224 43/95/219 239/330/218 338/173/225 +f 239/330/218 86/51/217 242/332/223 338/173/225 +f 242/332/223 62/94/207 170/323/205 338/173/225 +f 114/309/176 8/8/175 143/334/226 339/174/227 +f 143/334/226 49/96/228 244/335/229 339/174/227 +f 244/335/229 87/52/230 243/336/231 339/174/227 +f 243/336/231 34/90/178 114/309/176 339/174/227 +f 144/337/232 20/31/233 174/338/234 340/175/235 +f 174/338/234 64/97/236 245/339/237 340/175/235 +f 245/339/237 87/52/230 244/335/229 340/175/235 +f 244/335/229 49/96/228 144/337/232 340/175/235 +f 173/340/238 24/18/239 171/341/240 341/176/241 +f 171/341/240 63/98/242 246/342/243 341/176/241 +f 246/342/243 87/52/230 245/339/237 341/176/241 +f 245/339/237 64/97/236 173/340/238 341/176/241 +f 172/343/244 12/29/184 113/312/183 342/177/245 +f 113/312/183 34/90/178 243/336/231 342/177/245 +f 243/336/231 87/52/230 246/342/243 342/177/245 +f 246/342/243 63/98/242 172/343/244 342/177/245 +f 146/344/246 2/10/2 102/345/1 343/178/247 +f 102/345/1 28/100/9 248/346/248 343/178/247 +f 248/346/248 88/53/249 247/347/250 343/178/247 +f 247/347/250 50/99/251 146/344/246 343/178/247 +f 101/348/24 9/32/23 176/349/252 344/179/253 +f 176/349/252 65/101/254 249/350/255 344/179/253 +f 249/350/255 88/53/249 248/346/248 344/179/253 +f 248/346/248 28/100/9 101/348/24 344/179/253 +f 175/351/256 24/18/239 173/340/238 345/180/257 +f 173/340/238 64/97/236 250/352/258 345/180/257 +f 250/352/258 88/53/249 249/350/255 345/180/257 +f 249/350/255 65/101/254 175/351/256 345/180/257 +f 174/338/234 20/31/233 145/353/259 346/181/260 +f 145/353/259 50/99/251 247/347/250 346/181/260 +f 247/347/250 88/53/249 250/352/258 346/181/260 +f 250/352/258 64/97/236 174/338/234 346/181/260 +f 99/354/68 1/9/67 142/355/261 347/182/262 +f 142/355/261 48/103/263 252/356/264 347/182/262 +f 252/356/264 89/54/265 251/357/266 347/182/262 +f 251/357/266 27/102/70 99/354/68 347/182/262 +f 141/358/267 19/33/268 178/359/269 348/183/270 +f 178/359/269 66/104/271 253/360/272 348/183/270 +f 253/360/272 89/54/265 252/356/264 348/183/270 +f 252/356/264 48/103/263 141/358/267 348/183/270 +f 177/361/273 24/18/239 175/351/256 349/184/274 +f 175/351/256 65/101/254 254/362/275 349/184/274 +f 254/362/275 89/54/265 253/360/272 349/184/274 +f 253/360/272 66/104/271 177/361/273 349/184/274 +f 176/349/252 9/32/23 100/363/75 350/185/276 +f 100/363/75 27/102/70 251/357/266 350/185/276 +f 251/357/266 89/54/265 254/362/275 350/185/276 +f 254/362/275 65/101/254 176/349/252 350/185/276 +f 139/364/277 7/7/195 111/318/194 351/186/278 +f 111/318/194 33/92/202 256/365/279 351/186/278 +f 256/365/279 90/55/280 255/366/281 351/186/278 +f 255/366/281 47/105/282 139/364/277 351/186/278 +f 112/327/212 12/29/184 172/343/244 352/187/283 +f 172/343/244 63/98/242 257/367/284 352/187/283 +f 257/367/284 90/55/280 256/365/279 352/187/283 +f 256/365/279 33/92/202 112/327/212 352/187/283 +f 171/341/240 24/18/239 177/361/273 353/188/285 +f 177/361/273 66/104/271 258/368/286 353/188/285 +f 258/368/286 90/55/280 257/367/284 353/188/285 +f 257/367/284 63/98/242 171/341/240 353/188/285 +f 178/359/269 19/33/268 140/369/287 354/189/288 +f 140/369/287 47/105/282 255/366/281 354/189/288 +f 255/366/281 90/55/280 258/368/286 354/189/288 +f 258/368/286 66/104/271 178/359/269 354/189/288 +f 143/370/226 8/11/175 138/371/174 355/190/289 +f 138/371/174 46/107/182 260/372/290 355/190/289 +f 260/372/290 91/56/291 259/373/292 355/190/289 +f 259/373/292 49/106/228 143/370/226 355/190/289 +f 137/374/192 18/35/161 182/375/293 356/191/294 +f 182/375/293 68/108/295 261/376/296 356/191/294 +f 261/376/296 91/56/291 260/372/290 356/191/294 +f 260/372/290 46/107/182 137/374/192 356/191/294 +f 181/377/297 25/19/298 179/378/299 357/192/300 +f 179/378/299 67/109/301 262/379/302 357/192/300 +f 262/379/302 91/56/291 261/376/296 357/192/300 +f 261/376/296 68/108/295 181/377/297 357/192/300 +f 180/380/303 20/34/233 144/381/232 358/193/304 +f 144/381/232 49/106/228 259/373/292 358/193/304 +f 259/373/292 91/56/291 262/379/302 358/193/304 +f 262/379/302 67/109/301 180/380/303 358/193/304 +f 135/382/154 6/12/103 130/383/102 359/194/305 +f 130/383/102 42/111/110 264/384/306 359/194/305 +f 264/384/306 92/57/307 263/385/308 359/194/305 +f 263/385/308 45/110/156 135/382/154 359/194/305 +f 129/386/120 16/36/89 184/387/309 360/195/310 +f 184/387/309 69/112/311 265/388/312 360/195/310 +f 265/388/312 92/57/307 264/384/306 360/195/310 +f 264/384/306 42/111/110 129/386/120 360/195/310 +f 183/389/313 25/19/298 181/377/297 361/196/314 +f 181/377/297 68/108/295 266/390/315 361/196/314 +f 266/390/315 92/57/307 265/388/312 361/196/314 +f 265/388/312 69/112/311 183/389/313 361/196/314 +f 182/375/293 18/35/161 136/391/160 362/197/316 +f 136/391/160 45/110/156 263/385/308 362/197/316 +f 263/385/308 92/57/307 266/390/315 362/197/316 +f 266/390/315 68/108/295 182/375/293 362/197/316 +f 127/392/82 4/4/27 122/234/26 363/198/317 +f 122/234/26 38/68/34 268/393/318 363/198/317 +f 268/393/318 93/58/319 267/394/320 363/198/317 +f 267/394/320 41/113/84 127/392/82 363/198/317 +f 121/243/44 14/22/11 186/395/321 364/199/322 +f 186/395/321 70/114/323 269/396/324 364/199/322 +f 269/396/324 93/58/319 268/393/318 364/199/322 +f 268/393/318 38/68/34 121/243/44 364/199/322 +f 185/397/325 25/19/298 183/389/313 365/200/326 +f 183/389/313 69/112/311 270/398/327 365/200/326 +f 270/398/327 93/58/319 269/396/324 365/200/326 +f 269/396/324 70/114/323 185/397/325 365/200/326 +f 184/387/309 16/36/89 128/399/88 366/201/328 +f 128/399/88 41/113/84 267/394/320 366/201/328 +f 267/394/320 93/58/319 270/398/327 366/201/328 +f 270/398/327 69/112/311 184/387/309 366/201/328 +f 119/223/3 2/2/2 146/400/246 367/202/329 +f 146/400/246 50/115/251 272/401/330 367/202/329 +f 272/401/330 94/59/331 271/402/332 367/202/329 +f 271/402/332 37/65/5 119/223/3 367/202/329 +f 145/403/259 20/34/233 180/380/303 368/203/333 +f 180/380/303 67/109/301 273/404/334 368/203/333 +f 273/404/334 94/59/331 272/401/330 368/203/333 +f 272/401/330 50/115/251 145/403/259 368/203/333 +f 179/378/299 25/19/298 185/397/325 369/204/335 +f 185/397/325 70/114/323 274/405/336 369/204/335 +f 274/405/336 94/59/331 273/404/334 369/204/335 +f 273/404/334 67/109/301 179/378/299 369/204/335 +f 186/395/321 14/22/11 120/226/10 370/205/337 +f 120/226/10 37/65/5 271/402/332 370/205/337 +f 271/402/332 94/59/331 274/405/336 370/205/337 +f 274/405/336 70/114/323 186/395/321 370/205/337 +f 142/406/261 1/1/67 115/254/66 371/206/338 +f 115/254/66 35/74/74 276/407/339 371/206/338 +f 276/407/339 95/60/340 275/408/341 371/206/338 +f 275/408/341 48/116/263 142/406/261 371/206/338 +f 116/261/80 13/24/56 190/409/342 372/207/343 +f 190/409/342 72/117/344 277/410/345 372/207/343 +f 277/410/345 95/60/340 276/407/339 372/207/343 +f 276/407/339 35/74/74 116/261/80 372/207/343 +f 189/411/346 26/20/347 187/412/348 373/208/349 +f 187/412/348 71/118/350 278/413/351 373/208/349 +f 278/413/351 95/60/340 277/410/345 373/208/349 +f 277/410/345 72/117/344 189/411/346 373/208/349 +f 188/414/352 19/37/268 141/415/267 374/209/353 +f 141/415/267 48/116/263 275/408/341 374/209/353 +f 275/408/341 95/60/340 278/413/351 374/209/353 +f 278/413/351 71/118/350 188/414/352 374/209/353 +f 118/245/48 3/3/47 123/416/142 375/210/354 +f 123/416/142 39/119/147 280/417/355 375/210/354 +f 280/417/355 96/61/356 279/418/357 375/210/354 +f 279/418/357 36/72/50 118/245/48 375/210/354 +f 124/419/152 15/38/132 192/420/358 376/211/359 +f 192/420/358 73/120/360 281/421/361 376/211/359 +f 281/421/361 96/61/356 280/417/355 376/211/359 +f 280/417/355 39/119/147 124/419/152 376/211/359 +f 191/422/362 26/20/347 189/411/346 377/212/363 +f 189/411/346 72/117/344 282/423/364 377/212/363 +f 282/423/364 96/61/356 281/421/361 377/212/363 +f 281/421/361 73/120/360 191/422/362 377/212/363 +f 190/409/342 13/24/56 117/248/55 378/213/365 +f 117/248/55 36/72/50 279/418/357 378/213/365 +f 279/418/357 96/61/356 282/423/364 378/213/365 +f 282/423/364 72/117/344 190/409/342 378/213/365 +f 126/424/124 5/14/123 131/425/214 379/214/366 +f 131/425/214 43/122/219 284/426/367 379/214/366 +f 284/426/367 97/62/368 283/427/369 379/214/366 +f 283/427/369 40/121/126 126/424/124 379/214/366 +f 132/428/224 17/39/204 194/429/370 380/215/371 +f 194/429/370 74/123/372 285/430/373 380/215/371 +f 285/430/373 97/62/368 284/426/367 380/215/371 +f 284/426/367 43/122/219 132/428/224 380/215/371 +f 193/431/374 26/20/347 191/422/362 381/216/375 +f 191/422/362 73/120/360 286/432/376 381/216/375 +f 286/432/376 97/62/368 285/430/373 381/216/375 +f 285/430/373 74/123/372 193/431/374 381/216/375 +f 192/420/358 15/38/132 125/433/131 382/217/377 +f 125/433/131 40/121/126 283/427/369 382/217/377 +f 283/427/369 97/62/368 286/432/376 382/217/377 +f 286/432/376 73/120/360 192/420/358 382/217/377 +f 134/434/196 7/13/195 139/435/277 383/218/378 +f 139/435/277 47/125/282 288/436/379 383/218/378 +f 288/436/379 98/63/380 287/437/381 383/218/378 +f 287/437/381 44/124/198 134/434/196 383/218/378 +f 140/438/287 19/37/268 188/414/352 384/219/382 +f 188/414/352 71/118/350 289/439/383 384/219/382 +f 289/439/383 98/63/380 288/436/379 384/219/382 +f 288/436/379 47/125/282 140/438/287 384/219/382 +f 187/412/348 26/20/347 193/431/374 385/220/384 +f 193/431/374 74/123/372 290/440/385 385/220/384 +f 290/440/385 98/63/380 289/439/383 385/220/384 +f 289/439/383 71/118/350 187/412/348 385/220/384 +f 194/429/370 17/39/204 133/441/203 386/221/386 +f 133/441/203 44/124/198 287/437/381 386/221/386 +f 287/437/381 98/63/380 290/440/385 386/221/386 +f 290/440/385 74/123/372 194/429/370 386/221/386 diff --git a/Assets/GoogleVR/Demos/Models/HelloVR/QuadSphere.obj.meta b/Assets/GoogleVR/Demos/Models/HelloVR/QuadSphere.obj.meta new file mode 100644 index 0000000..e6f931f --- /dev/null +++ b/Assets/GoogleVR/Demos/Models/HelloVR/QuadSphere.obj.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: 137df3466902d424983627567b86735e +timeCreated: 1509062117 +licenseType: Pro +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: //RootNode + 100002: QuadSphere_GEO + 400000: //RootNode + 400002: QuadSphere_GEO + 2300000: QuadSphere_GEO + 3300000: QuadSphere_GEO + 4300000: QuadSphere_GEO + materials: + importMaterials: 0 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Models/HelloVR/SafetyRing_1m.obj b/Assets/GoogleVR/Demos/Models/HelloVR/SafetyRing_1m.obj new file mode 100644 index 0000000..f2f51ff --- /dev/null +++ b/Assets/GoogleVR/Demos/Models/HelloVR/SafetyRing_1m.obj @@ -0,0 +1,903 @@ +# This file uses centimeters as units for non-parametric coordinates. + +g default +v 1.048733 0.000000 -0.051529 +v 1.044942 0.000000 -0.102926 +v 1.038634 0.000000 -0.154075 +v 1.029823 0.000000 -0.204853 +v 1.018531 0.000000 -0.255137 +v 1.004786 0.000000 -0.304807 +v 0.988620 0.000000 -0.353743 +v 0.970072 0.000000 -0.401826 +v 0.949187 0.000000 -0.448941 +v 0.926016 0.000000 -0.494975 +v 0.900614 0.000000 -0.539816 +v 0.873042 0.000000 -0.583357 +v 0.843367 0.000000 -0.625492 +v 0.811660 0.000000 -0.666121 +v 0.777998 0.000000 -0.705145 +v 0.742461 0.000000 -0.742470 +v 0.705136 0.000000 -0.778006 +v 0.666112 0.000000 -0.811669 +v 0.625483 0.000000 -0.843376 +v 0.583348 0.000000 -0.873051 +v 0.539807 0.000000 -0.900623 +v 0.494966 0.000000 -0.926025 +v 0.448932 0.000000 -0.949196 +v 0.401817 0.000000 -0.970081 +v 0.353734 0.000000 -0.988629 +v 0.304798 0.000000 -1.004795 +v 0.255129 0.000000 -1.018541 +v 0.204845 0.000000 -1.029832 +v 0.154067 0.000000 -1.038643 +v 0.102918 0.000000 -1.044952 +v 0.051521 0.000000 -1.048743 +v -0.000000 0.000000 -1.050008 +v -0.051521 0.000000 -1.048743 +v -0.102918 0.000000 -1.044952 +v -0.154067 0.000000 -1.038643 +v -0.204845 0.000000 -1.029832 +v -0.255129 0.000000 -1.018540 +v -0.304799 0.000000 -1.004795 +v -0.353734 0.000000 -0.988629 +v -0.401817 0.000000 -0.970081 +v -0.448933 0.000000 -0.949196 +v -0.494966 0.000000 -0.926025 +v -0.539808 0.000000 -0.900623 +v -0.583349 0.000000 -0.873051 +v -0.625484 0.000000 -0.843376 +v -0.666113 0.000000 -0.811669 +v -0.705137 0.000000 -0.778006 +v -0.742462 0.000000 -0.742470 +v -0.777998 0.000000 -0.705145 +v -0.811661 0.000000 -0.666121 +v -0.843368 0.000000 -0.625492 +v -0.873043 0.000000 -0.583356 +v -0.900615 0.000000 -0.539815 +v -0.926017 0.000000 -0.494974 +v -0.949189 0.000000 -0.448940 +v -0.970073 0.000000 -0.401825 +v -0.988621 0.000000 -0.353742 +v -1.004787 0.000000 -0.304807 +v -1.018533 0.000000 -0.255137 +v -1.029824 0.000000 -0.204852 +v -1.038635 0.000000 -0.154075 +v -1.044944 0.000000 -0.102926 +v -1.048735 0.000000 -0.051529 +v -1.050000 0.000000 -0.000008 +v -1.048735 0.000000 0.051513 +v -1.044944 0.000000 0.102910 +v -1.038635 0.000000 0.154059 +v -1.029825 0.000000 0.204837 +v -1.018533 0.000000 0.255122 +v -1.004787 0.000000 0.304791 +v -0.988621 0.000000 0.353727 +v -0.970074 0.000000 0.401810 +v -0.949189 0.000000 0.448925 +v -0.926018 0.000000 0.494959 +v -0.900615 0.000000 0.539800 +v -0.873043 0.000000 0.583341 +v -0.843368 0.000000 0.625477 +v -0.811661 0.000000 0.666105 +v -0.777999 0.000000 0.705129 +v -0.742463 0.000000 0.742454 +v -0.705137 0.000000 0.777991 +v -0.666113 0.000000 0.811653 +v -0.625485 0.000000 0.843360 +v -0.583349 0.000000 0.873035 +v -0.539808 0.000000 0.900607 +v -0.494967 0.000000 0.926010 +v -0.448933 0.000000 0.949181 +v -0.401818 0.000000 0.970066 +v -0.353735 0.000000 0.988614 +v -0.304799 0.000000 1.004780 +v -0.255130 0.000000 1.018525 +v -0.204845 0.000000 1.029817 +v -0.154068 0.000000 1.038628 +v -0.102919 0.000000 1.044936 +v -0.051522 0.000000 1.048728 +v -0.000001 0.000000 1.049992 +v 0.051520 0.000000 1.048728 +v 0.102917 0.000000 1.044936 +v 0.154066 0.000000 1.038628 +v 0.204844 0.000000 1.029817 +v 0.255129 0.000000 1.018525 +v 0.304798 0.000000 1.004780 +v 0.353734 0.000000 0.988613 +v 0.401817 0.000000 0.970066 +v 0.448932 0.000000 0.949181 +v 0.494966 0.000000 0.926009 +v 0.539807 0.000000 0.900607 +v 0.583348 0.000000 0.873035 +v 0.625484 0.000000 0.843360 +v 0.666113 0.000000 0.811653 +v 0.705137 0.000000 0.777991 +v 0.742462 0.000000 0.742454 +v 0.777998 0.000000 0.705129 +v 0.811661 0.000000 0.666105 +v 0.843368 0.000000 0.625476 +v 0.873043 0.000000 0.583340 +v 0.900615 0.000000 0.539800 +v 0.926017 0.000000 0.494958 +v 0.949189 0.000000 0.448924 +v 0.970073 0.000000 0.401809 +v 0.988621 0.000000 0.353726 +v 1.004787 0.000000 0.304790 +v 1.018533 0.000000 0.255121 +v 1.029824 0.000000 0.204836 +v 1.038635 0.000000 0.154058 +v 1.044944 0.000000 0.102909 +v 1.048735 0.000000 0.051512 +v 1.050000 0.000000 -0.000009 +v -0.931746 0.000000 -0.185337 +v -0.939718 0.000000 -0.139395 +v -0.945425 0.000000 -0.093117 +v -0.948856 0.000000 -0.046615 +v -0.950000 0.000000 -0.000001 +v -0.948856 0.000000 0.046613 +v -0.945426 0.000000 0.093115 +v -0.939718 0.000000 0.139393 +v -0.931746 0.000000 0.185335 +v -0.921530 0.000000 0.230830 +v -0.909093 0.000000 0.275769 +v -0.894467 0.000000 0.320044 +v -0.877686 0.000000 0.363548 +v -0.858790 0.000000 0.406176 +v -0.837826 0.000000 0.447826 +v -0.814842 0.000000 0.488397 +v -0.789896 0.000000 0.527791 +v -0.763047 0.000000 0.565913 +v -0.734360 0.000000 0.602673 +v -0.703904 0.000000 0.637980 +v -0.671752 0.000000 0.671751 +v -0.637981 0.000000 0.703903 +v -0.602674 0.000000 0.734359 +v -0.565915 0.000000 0.763047 +v -0.527792 0.000000 0.789896 +v -0.488398 0.000000 0.814842 +v -0.447827 0.000000 0.837825 +v -0.406178 0.000000 0.858789 +v -0.363550 0.000000 0.877685 +v -0.320046 0.000000 0.894467 +v -0.275771 0.000000 0.909093 +v -0.230832 0.000000 0.921529 +v -0.185336 0.000000 0.931746 +v -0.139394 0.000000 0.939718 +v -0.093117 0.000000 0.945425 +v -0.046615 0.000000 0.948856 +v -0.000001 0.000000 0.950000 +v 0.046614 0.000000 0.948856 +v 0.093116 0.000000 0.945426 +v 0.139393 0.000000 0.939718 +v 0.185335 0.000000 0.931746 +v 0.230831 0.000000 0.921530 +v 0.275770 0.000000 0.909094 +v 0.320045 0.000000 0.894467 +v 0.363549 0.000000 0.877686 +v 0.406177 0.000000 0.858790 +v 0.447826 0.000000 0.837826 +v 0.488397 0.000000 0.814843 +v 0.527791 0.000000 0.789897 +v 0.565914 0.000000 0.763048 +v 0.602673 0.000000 0.734360 +v 0.637981 0.000000 0.703904 +v 0.671751 0.000000 0.671752 +v 0.703903 0.000000 0.637982 +v 0.734360 0.000000 0.602674 +v 0.763047 0.000000 0.565915 +v 0.789896 0.000000 0.527792 +v 0.814842 0.000000 0.488398 +v 0.837825 0.000000 0.447827 +v 0.858790 0.000000 0.406178 +v 0.877685 0.000000 0.363550 +v 0.894467 0.000000 0.320046 +v 0.909093 0.000000 0.275771 +v 0.921530 0.000000 0.230832 +v 0.931746 0.000000 0.185336 +v 0.939718 0.000000 0.139394 +v 0.945425 0.000000 0.093117 +v 0.948856 0.000000 0.046615 +v 0.950000 0.000000 0.000000 +v 0.948854 0.000000 -0.046614 +v 0.945424 0.000000 -0.093116 +v 0.939716 0.000000 -0.139393 +v 0.931745 0.000000 -0.185335 +v 0.921528 0.000000 -0.230830 +v 0.909092 0.000000 -0.275770 +v 0.894466 0.000000 -0.320045 +v 0.877684 0.000000 -0.363549 +v 0.858789 0.000000 -0.406177 +v 0.837824 0.000000 -0.447826 +v 0.814841 0.000000 -0.488397 +v 0.789895 0.000000 -0.527791 +v 0.763046 0.000000 -0.565914 +v 0.734359 0.000000 -0.602673 +v 0.703903 0.000000 -0.637980 +v 0.671751 0.000000 -0.671751 +v 0.637980 0.000000 -0.703903 +v 0.602673 0.000000 -0.734359 +v 0.565914 0.000000 -0.763047 +v 0.527791 0.000000 -0.789895 +v 0.488397 0.000000 -0.814842 +v 0.447826 0.000000 -0.837825 +v 0.406177 0.000000 -0.858789 +v 0.363549 0.000000 -0.877685 +v 0.320045 0.000000 -0.894466 +v 0.275770 0.000000 -0.909093 +v 0.230831 0.000000 -0.921529 +v 0.185336 0.000000 -0.931746 +v 0.139394 0.000000 -0.939717 +v 0.093116 0.000000 -0.945425 +v 0.046614 0.000000 -0.948856 +v -0.000000 0.000000 -0.950000 +v -0.046614 0.000000 -0.948856 +v -0.093116 0.000000 -0.945426 +v -0.139394 0.000000 -0.939718 +v -0.185336 0.000000 -0.931746 +v -0.230831 0.000000 -0.921530 +v -0.275770 0.000000 -0.909094 +v -0.320045 0.000000 -0.894467 +v -0.363549 0.000000 -0.877686 +v -0.406177 0.000000 -0.858790 +v -0.447827 0.000000 -0.837826 +v -0.488397 0.000000 -0.814843 +v -0.527792 0.000000 -0.789897 +v -0.565914 0.000000 -0.763048 +v -0.602673 0.000000 -0.734361 +v -0.637981 0.000000 -0.703905 +v -0.671751 0.000000 -0.671752 +v -0.703903 0.000000 -0.637982 +v -0.734360 0.000000 -0.602675 +v -0.763047 0.000000 -0.565915 +v -0.789896 0.000000 -0.527793 +v -0.814842 0.000000 -0.488399 +v -0.837825 0.000000 -0.447828 +v -0.858790 0.000000 -0.406178 +v -0.877685 0.000000 -0.363550 +v -0.894467 0.000000 -0.320046 +v -0.909093 0.000000 -0.275772 +v -0.921530 0.000000 -0.230832 +vt 0.242188 1.000000 +vt 0.234375 1.000000 +vt 0.226562 1.000000 +vt 0.218750 1.000000 +vt 0.210938 1.000000 +vt 0.203125 1.000000 +vt 0.195313 1.000000 +vt 0.187500 1.000000 +vt 0.179688 1.000000 +vt 0.171875 1.000000 +vt 0.164062 1.000000 +vt 0.156250 1.000000 +vt 0.148438 1.000000 +vt 0.140625 1.000000 +vt 0.132813 1.000000 +vt 0.125000 1.000000 +vt 0.117188 1.000000 +vt 0.109375 1.000000 +vt 0.101563 1.000000 +vt 0.093750 1.000000 +vt 0.085938 1.000000 +vt 0.078125 1.000000 +vt 0.070312 1.000000 +vt 0.062500 1.000000 +vt 0.054688 1.000000 +vt 0.046875 1.000000 +vt 0.039063 1.000000 +vt 0.031250 1.000000 +vt 0.023438 1.000000 +vt 0.015625 1.000000 +vt 0.007813 1.000000 +vt 0.000000 1.000000 +vt 0.992188 1.000000 +vt 0.984375 1.000000 +vt 0.976562 1.000000 +vt 0.968750 1.000000 +vt 0.960937 1.000000 +vt 0.953125 1.000000 +vt 0.945312 1.000000 +vt 0.937500 1.000000 +vt 0.929688 1.000000 +vt 0.921875 1.000000 +vt 0.914063 1.000000 +vt 0.906250 1.000000 +vt 0.898438 1.000000 +vt 0.890625 1.000000 +vt 0.882813 1.000000 +vt 0.875000 1.000000 +vt 0.867187 1.000000 +vt 0.859375 1.000000 +vt 0.851562 1.000000 +vt 0.843750 1.000000 +vt 0.835938 1.000000 +vt 0.828125 1.000000 +vt 0.820312 1.000000 +vt 0.812500 1.000000 +vt 0.804688 1.000000 +vt 0.796875 1.000000 +vt 0.789063 1.000000 +vt 0.781250 1.000000 +vt 0.773438 1.000000 +vt 0.765625 1.000000 +vt 0.757812 1.000000 +vt 0.750000 1.000000 +vt 0.742187 1.000000 +vt 0.734375 1.000000 +vt 0.726563 1.000000 +vt 0.718750 1.000000 +vt 0.710938 1.000000 +vt 0.703125 1.000000 +vt 0.695313 1.000000 +vt 0.687500 1.000000 +vt 0.679688 1.000000 +vt 0.671875 1.000000 +vt 0.664063 1.000000 +vt 0.656250 1.000000 +vt 0.648438 1.000000 +vt 0.640625 1.000000 +vt 0.632813 1.000000 +vt 0.625000 1.000000 +vt 0.617188 1.000000 +vt 0.609375 1.000000 +vt 0.601563 1.000000 +vt 0.593750 1.000000 +vt 0.585938 1.000000 +vt 0.578125 1.000000 +vt 0.570313 1.000000 +vt 0.562500 1.000000 +vt 0.554688 1.000000 +vt 0.546875 1.000000 +vt 0.539063 1.000000 +vt 0.531250 1.000000 +vt 0.523438 1.000000 +vt 0.515625 1.000000 +vt 0.507813 1.000000 +vt 0.500000 1.000000 +vt 0.492188 1.000000 +vt 0.484375 1.000000 +vt 0.476563 1.000000 +vt 0.468750 1.000000 +vt 0.460938 1.000000 +vt 0.453125 1.000000 +vt 0.445313 1.000000 +vt 0.437500 1.000000 +vt 0.429688 1.000000 +vt 0.421875 1.000000 +vt 0.414063 1.000000 +vt 0.406250 1.000000 +vt 0.398438 1.000000 +vt 0.390625 1.000000 +vt 0.382812 1.000000 +vt 0.375000 1.000000 +vt 0.367188 1.000000 +vt 0.359375 1.000000 +vt 0.351563 1.000000 +vt 0.343750 1.000000 +vt 0.335938 1.000000 +vt 0.328125 1.000000 +vt 0.320313 1.000000 +vt 0.312500 1.000000 +vt 0.304688 1.000000 +vt 0.296875 1.000000 +vt 0.289063 1.000000 +vt 0.281250 1.000000 +vt 0.273438 1.000000 +vt 0.265625 1.000000 +vt 0.257813 1.000000 +vt 0.250000 1.000000 +vt 0.781250 0.000000 +vt 0.773438 0.000000 +vt 0.765625 0.000000 +vt 0.757813 0.000000 +vt 0.750000 0.000000 +vt 0.742188 0.000000 +vt 0.734375 0.000000 +vt 0.726563 0.000000 +vt 0.718750 0.000000 +vt 0.710938 0.000000 +vt 0.703125 0.000000 +vt 0.695313 0.000000 +vt 0.687500 0.000000 +vt 0.679687 0.000000 +vt 0.671875 0.000000 +vt 0.664063 0.000000 +vt 0.656250 0.000000 +vt 0.648438 0.000000 +vt 0.640625 0.000000 +vt 0.632813 -0.000000 +vt 0.625000 0.000000 +vt 0.617188 0.000000 +vt 0.609375 0.000000 +vt 0.601563 0.000000 +vt 0.593750 0.000000 +vt 0.585938 0.000000 +vt 0.578125 0.000000 +vt 0.570313 0.000000 +vt 0.562500 0.000000 +vt 0.554688 0.000000 +vt 0.546875 0.000000 +vt 0.539063 0.000000 +vt 0.531250 0.000000 +vt 0.523438 0.000000 +vt 0.515625 0.000000 +vt 0.507813 0.000000 +vt 0.500000 0.000000 +vt 0.492188 0.000000 +vt 0.484375 0.000000 +vt 0.476563 0.000000 +vt 0.468750 0.000000 +vt 0.460938 0.000000 +vt 0.453125 0.000000 +vt 0.445313 0.000000 +vt 0.437500 0.000000 +vt 0.429688 0.000000 +vt 0.421875 0.000000 +vt 0.414063 0.000000 +vt 0.406250 0.000000 +vt 0.398438 0.000000 +vt 0.390625 0.000000 +vt 0.382813 0.000000 +vt 0.375000 0.000000 +vt 0.367188 0.000000 +vt 0.359375 0.000000 +vt 0.351563 0.000000 +vt 0.343750 0.000000 +vt 0.335938 0.000000 +vt 0.328125 0.000000 +vt 0.320313 0.000000 +vt 0.312500 0.000000 +vt 0.304688 0.000000 +vt 0.296875 0.000000 +vt 0.289062 0.000000 +vt 0.281250 0.000000 +vt 0.273438 0.000000 +vt 0.265625 0.000000 +vt 0.257813 0.000000 +vt 0.250000 0.000000 +vt 0.242188 0.000000 +vt 0.234375 0.000000 +vt 0.226562 0.000000 +vt 0.218750 0.000000 +vt 0.210938 0.000000 +vt 0.203125 0.000000 +vt 0.195313 0.000000 +vt 0.187500 0.000000 +vt 0.179688 0.000000 +vt 0.171875 0.000000 +vt 0.164063 0.000000 +vt 0.156250 0.000000 +vt 0.148437 0.000000 +vt 0.140625 0.000000 +vt 0.132813 0.000000 +vt 0.125000 0.000000 +vt 0.117188 0.000000 +vt 0.109375 0.000000 +vt 0.101563 0.000000 +vt 0.093750 0.000000 +vt 0.085938 0.000000 +vt 0.078125 0.000000 +vt 0.070312 0.000000 +vt 0.062500 0.000000 +vt 0.054688 0.000000 +vt 0.046875 0.000000 +vt 0.039063 0.000000 +vt 0.031250 0.000000 +vt 0.023438 0.000000 +vt 0.015625 0.000000 +vt 0.007813 0.000000 +vt 1.000000 0.000000 +vt 0.992188 0.000000 +vt 0.984375 0.000000 +vt 0.976563 0.000000 +vt 0.968750 -0.000000 +vt 0.960938 -0.000000 +vt 0.953125 -0.000000 +vt 0.945313 -0.000000 +vt 0.937500 0.000000 +vt 0.929688 -0.000000 +vt 0.921875 0.000000 +vt 0.914063 0.000000 +vt 0.906250 0.000000 +vt 0.898438 0.000000 +vt 0.890625 0.000000 +vt 0.882813 0.000000 +vt 0.875000 0.000000 +vt 0.867187 0.000000 +vt 0.859375 0.000000 +vt 0.851563 0.000000 +vt 0.843750 0.000000 +vt 0.835937 0.000000 +vt 0.828125 0.000000 +vt 0.820312 0.000000 +vt 0.812500 0.000000 +vt 0.804688 -0.000000 +vt 0.796875 0.000000 +vt 0.789063 0.000000 +vt 0.000000 0.000000 +vt 1.000000 1.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +s 1 +g SafetyRing_1m_GEO +f 130/130/1 129/129/2 60/60/3 61/61/4 +f 131/131/5 130/130/1 61/61/4 62/62/6 +f 132/132/7 131/131/5 62/62/6 63/63/8 +f 133/133/9 132/132/7 63/63/8 64/64/10 +f 134/134/11 133/133/9 64/64/10 65/65/12 +f 135/135/13 134/134/11 65/65/12 66/66/14 +f 136/136/15 135/135/13 66/66/14 67/67/16 +f 137/137/17 136/136/15 67/67/16 68/68/18 +f 138/138/19 137/137/17 68/68/18 69/69/20 +f 139/139/21 138/138/19 69/69/20 70/70/22 +f 140/140/23 139/139/21 70/70/22 71/71/24 +f 141/141/25 140/140/23 71/71/24 72/72/26 +f 142/142/27 141/141/25 72/72/26 73/73/28 +f 143/143/29 142/142/27 73/73/28 74/74/30 +f 144/144/31 143/143/29 74/74/30 75/75/32 +f 145/145/33 144/144/31 75/75/32 76/76/34 +f 146/146/35 145/145/33 76/76/34 77/77/36 +f 147/147/37 146/146/35 77/77/36 78/78/38 +f 148/148/39 147/147/37 78/78/38 79/79/40 +f 149/149/41 148/148/39 79/79/40 80/80/42 +f 150/150/43 149/149/41 80/80/42 81/81/44 +f 151/151/45 150/150/43 81/81/44 82/82/46 +f 152/152/47 151/151/45 82/82/46 83/83/48 +f 153/153/49 152/152/47 83/83/48 84/84/50 +f 154/154/51 153/153/49 84/84/50 85/85/52 +f 155/155/53 154/154/51 85/85/52 86/86/54 +f 156/156/55 155/155/53 86/86/54 87/87/56 +f 157/157/57 156/156/55 87/87/56 88/88/58 +f 158/158/59 157/157/57 88/88/58 89/89/60 +f 159/159/61 158/158/59 89/89/60 90/90/62 +f 160/160/63 159/159/61 90/90/62 91/91/64 +f 161/161/65 160/160/63 91/91/64 92/92/66 +f 162/162/67 161/161/65 92/92/66 93/93/68 +f 163/163/69 162/162/67 93/93/68 94/94/70 +f 164/164/71 163/163/69 94/94/70 95/95/72 +f 165/165/73 164/164/71 95/95/72 96/96/74 +f 166/166/75 165/165/73 96/96/74 97/97/76 +f 167/167/77 166/166/75 97/97/76 98/98/78 +f 168/168/79 167/167/77 98/98/78 99/99/80 +f 169/169/81 168/168/79 99/99/80 100/100/82 +f 170/170/83 169/169/81 100/100/82 101/101/84 +f 171/171/85 170/170/83 101/101/84 102/102/86 +f 172/172/87 171/171/85 102/102/86 103/103/88 +f 173/173/89 172/172/87 103/103/88 104/104/90 +f 174/174/91 173/173/89 104/104/90 105/105/92 +f 175/175/93 174/174/91 105/105/92 106/106/94 +f 176/176/95 175/175/93 106/106/94 107/107/96 +f 177/177/97 176/176/95 107/107/96 108/108/98 +f 178/178/99 177/177/97 108/108/98 109/109/100 +f 179/179/101 178/178/99 109/109/100 110/110/102 +f 180/180/103 179/179/101 110/110/102 111/111/104 +f 181/181/105 180/180/103 111/111/104 112/112/106 +f 182/182/107 181/181/105 112/112/106 113/113/108 +f 183/183/109 182/182/107 113/113/108 114/114/110 +f 184/184/111 183/183/109 114/114/110 115/115/112 +f 185/185/113 184/184/111 115/115/112 116/116/114 +f 186/186/115 185/185/113 116/116/114 117/117/116 +f 187/187/117 186/186/115 117/117/116 118/118/118 +f 188/188/119 187/187/117 118/118/118 119/119/120 +f 189/189/121 188/188/119 119/119/120 120/120/122 +f 190/190/123 189/189/121 120/120/122 121/121/124 +f 191/191/125 190/190/123 121/121/124 122/122/126 +f 192/192/127 191/191/125 122/122/126 123/123/128 +f 193/193/129 192/192/127 123/123/128 124/124/130 +f 194/194/131 193/193/129 124/124/130 125/125/132 +f 195/195/133 194/194/131 125/125/132 126/126/134 +f 196/196/135 195/195/133 126/126/134 127/127/136 +f 197/197/137 196/196/135 127/127/136 128/128/138 +f 198/198/139 197/197/137 128/128/138 1/1/140 +f 199/199/141 198/198/139 1/1/140 2/2/142 +f 200/200/143 199/199/141 2/2/142 3/3/144 +f 201/201/145 200/200/143 3/3/144 4/4/146 +f 202/202/147 201/201/145 4/4/146 5/5/148 +f 203/203/149 202/202/147 5/5/148 6/6/150 +f 204/204/151 203/203/149 6/6/150 7/7/152 +f 205/205/153 204/204/151 7/7/152 8/8/154 +f 206/206/155 205/205/153 8/8/154 9/9/156 +f 207/207/157 206/206/155 9/9/156 10/10/158 +f 208/208/159 207/207/157 10/10/158 11/11/160 +f 209/209/161 208/208/159 11/11/160 12/12/162 +f 210/210/163 209/209/161 12/12/162 13/13/164 +f 211/211/165 210/210/163 13/13/164 14/14/166 +f 212/212/167 211/211/165 14/14/166 15/15/168 +f 213/213/169 212/212/167 15/15/168 16/16/170 +f 214/214/171 213/213/169 16/16/170 17/17/172 +f 215/215/173 214/214/171 17/17/172 18/18/174 +f 216/216/175 215/215/173 18/18/174 19/19/176 +f 217/217/177 216/216/175 19/19/176 20/20/178 +f 218/218/179 217/217/177 20/20/178 21/21/180 +f 219/219/181 218/218/179 21/21/180 22/22/182 +f 220/220/183 219/219/181 22/22/182 23/23/184 +f 221/221/185 220/220/183 23/23/184 24/24/186 +f 222/222/187 221/221/185 24/24/186 25/25/188 +f 223/223/189 222/222/187 25/25/188 26/26/190 +f 224/224/191 223/223/189 26/26/190 27/27/192 +f 225/225/193 224/224/191 27/27/192 28/28/194 +f 226/226/195 225/225/193 28/28/194 29/29/196 +f 227/227/197 226/226/195 29/29/196 30/30/198 +f 228/228/199 227/227/197 30/30/198 31/31/200 +f 229/257/201 228/228/199 31/31/200 32/32/202 +f 230/230/203 229/229/201 32/258/202 33/33/204 +f 231/231/205 230/230/203 33/33/204 34/34/206 +f 232/232/207 231/231/205 34/34/206 35/35/208 +f 233/233/209 232/232/207 35/35/208 36/36/210 +f 234/234/211 233/233/209 36/36/210 37/37/212 +f 235/235/213 234/234/211 37/37/212 38/38/214 +f 236/236/215 235/235/213 38/38/214 39/39/216 +f 237/237/217 236/236/215 39/39/216 40/40/218 +f 238/238/219 237/237/217 40/40/218 41/41/220 +f 239/239/221 238/238/219 41/41/220 42/42/222 +f 240/240/223 239/239/221 42/42/222 43/43/224 +f 241/241/225 240/240/223 43/43/224 44/44/226 +f 242/242/227 241/241/225 44/44/226 45/45/228 +f 243/243/229 242/242/227 45/45/228 46/46/230 +f 244/244/231 243/243/229 46/46/230 47/47/232 +f 245/245/233 244/244/231 47/47/232 48/48/234 +f 246/246/235 245/245/233 48/48/234 49/49/236 +f 247/247/237 246/246/235 49/49/236 50/50/238 +f 248/248/239 247/247/237 50/50/238 51/51/240 +f 249/249/241 248/248/239 51/51/240 52/52/242 +f 250/250/243 249/249/241 52/52/242 53/53/244 +f 251/251/245 250/250/243 53/53/244 54/54/246 +f 252/252/247 251/251/245 54/54/246 55/55/248 +f 253/253/249 252/252/247 55/55/248 56/56/250 +f 254/254/251 253/253/249 56/56/250 57/57/252 +f 255/255/253 254/254/251 57/57/252 58/58/254 +f 256/256/255 255/255/253 58/58/254 59/59/256 +f 129/129/2 256/256/255 59/59/256 60/60/3 diff --git a/Assets/GoogleVR/Demos/Models/HelloVR/SafetyRing_1m.obj.meta b/Assets/GoogleVR/Demos/Models/HelloVR/SafetyRing_1m.obj.meta new file mode 100644 index 0000000..17816ce --- /dev/null +++ b/Assets/GoogleVR/Demos/Models/HelloVR/SafetyRing_1m.obj.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: e49edac1fa42d4e8290c88dfb8cb4acf +timeCreated: 1510963109 +licenseType: Pro +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: //RootNode + 100002: SafetyRing_1m_GEO + 400000: //RootNode + 400002: SafetyRing_1m_GEO + 2300000: SafetyRing_1m_GEO + 3300000: SafetyRing_1m_GEO + 4300000: SafetyRing_1m_GEO + materials: + importMaterials: 0 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Models/HelloVR/TriSphere.obj b/Assets/GoogleVR/Demos/Models/HelloVR/TriSphere.obj new file mode 100644 index 0000000..a3c914f --- /dev/null +++ b/Assets/GoogleVR/Demos/Models/HelloVR/TriSphere.obj @@ -0,0 +1,232 @@ +# This file uses centimeters as units for non-parametric coordinates. + +g default +v 0.425273 -0.000000 0.262835 +v 0.425275 0.000000 -0.262834 +v -0.425276 0.000000 -0.262834 +v -0.425275 -0.000000 0.262835 +v -0.000001 0.262859 -0.425315 +v -0.000001 -0.262859 -0.425315 +v -0.000000 -0.262859 0.425315 +v -0.000000 0.262859 0.425315 +v -0.262860 0.425316 0.000001 +v 0.262859 0.425316 0.000001 +v 0.262859 -0.425316 0.000001 +v -0.262860 -0.425316 0.000001 +v 0.000153 -0.499999 0.000003 +v 0.000153 0.499999 0.000003 +v -0.154530 0.404400 0.250119 +v -0.154530 -0.404400 0.250119 +v -0.249938 -0.154345 0.404542 +v -0.249938 0.154345 0.404542 +v -0.154531 -0.404400 -0.250118 +v -0.154531 0.404400 -0.250118 +v -0.249938 0.154345 -0.404541 +v -0.249938 -0.154346 -0.404541 +v -0.404460 -0.250014 0.154426 +v -0.404460 -0.250014 -0.154424 +v -0.499993 -0.000153 -0.000306 +v -0.404460 0.250014 -0.154424 +v -0.404460 0.250014 0.154426 +v 0.154529 -0.404400 -0.250118 +v 0.154529 0.404400 -0.250118 +v 0.000306 -0.000153 -0.499993 +v 0.249937 -0.154346 -0.404541 +v 0.249937 0.154346 -0.404541 +v 0.154529 0.404400 0.250119 +v 0.154529 -0.404399 0.250119 +v 0.249936 -0.154345 0.404541 +v -0.000307 -0.000153 0.499993 +v 0.249936 0.154345 0.404541 +v 0.404459 -0.250014 -0.154425 +v 0.404458 -0.250013 0.154426 +v 0.499993 0.000154 0.000311 +v 0.404458 0.250013 0.154426 +v 0.404459 0.250014 -0.154425 +vt 0.194273 0.259786 +vt 0.368974 0.259786 +vt 0.543675 0.259786 +vt 0.718376 0.259786 +vt 0.893078 0.259786 +vt 0.106922 0.419929 +vt 0.281624 0.419929 +vt 0.456325 0.419929 +vt 0.631026 0.419929 +vt 0.805727 0.419929 +vt 0.980428 0.419929 +vt 0.019572 0.580071 +vt 0.194273 0.580071 +vt 0.368974 0.580071 +vt 0.543675 0.580071 +vt 0.718376 0.580071 +vt 0.893078 0.580071 +vt 0.106922 0.740214 +vt 0.281624 0.740214 +vt 0.456325 0.740214 +vt 0.631026 0.740214 +vt 0.805727 0.740214 +vt 0.849402 0.339857 +vt 0.762052 0.339857 +vt 0.325299 0.660143 +vt 0.412649 0.660143 +vt 0.456325 0.580071 +vt 0.587351 0.339857 +vt 0.674701 0.339857 +vt 0.543675 0.419929 +vt 0.500000 0.500000 +vt 0.150598 0.339857 +vt 0.936753 0.339857 +vt 0.281624 0.580071 +vt 0.237948 0.500000 +vt 0.194273 0.419929 +vt 0.412649 0.339857 +vt 0.500000 0.339857 +vt 0.325299 0.339857 +vt 0.237948 0.339857 +vt 0.368974 0.419929 +vt 0.325299 0.500000 +vt 0.412649 0.500000 +vt 0.893077 0.419929 +vt 0.150598 0.660143 +vt 0.237948 0.660143 +vt 0.150598 0.500000 +vt 0.063247 0.500000 +vt 0.936753 0.500000 +vt 0.106922 0.580071 +vt 0.587351 0.660143 +vt 0.500000 0.660143 +vt 0.718376 0.419929 +vt 0.674701 0.500000 +vt 0.587351 0.500000 +vt 0.631026 0.580071 +vt 0.849402 0.500000 +vt 0.762052 0.500000 +vt 0.805727 0.580071 +vt 0.762052 0.660143 +vt 0.674701 0.660143 +vt 0.849402 0.660143 +vt 0.063247 0.660143 +vn 0.850795 -0.000038 -0.525497 +vn 0.808993 0.499954 -0.309155 +vn 1.000000 0.000102 0.000142 +vn 0.850539 -0.000038 0.525912 +vn 0.809004 -0.500004 0.309045 +vn 0.499947 0.308796 0.809134 +vn 0.500027 -0.308797 0.809084 +vn 0.808892 0.500114 0.309162 +vn -0.000077 0.525581 -0.850743 +vn 0.500166 0.309031 -0.808909 +vn 0.000202 -0.000068 -1.000000 +vn 0.525743 0.850644 0.000002 +vn 0.309132 0.808856 -0.500188 +vn 0.809105 -0.499844 -0.309038 +vn 0.500246 -0.309032 -0.808859 +vn -0.850794 0.000038 0.525500 +vn -0.809105 0.499843 0.309041 +vn -1.000000 -0.000101 -0.000135 +vn -0.850543 0.000038 -0.525906 +vn -0.808893 -0.500113 -0.309158 +vn -0.499947 0.308797 -0.809134 +vn -0.809006 0.500004 -0.309041 +vn -0.000076 -0.525785 -0.850618 +vn -0.309133 -0.808906 -0.500108 +vn -0.500027 -0.308798 -0.809084 +vn 0.000077 -0.525783 0.850619 +vn -0.000202 -0.000068 1.000000 +vn -0.500246 -0.309031 0.808860 +vn -0.808993 -0.499953 0.309158 +vn -0.500166 0.309030 0.808910 +vn -0.309133 0.808906 -0.500108 +vn 0.309132 -0.808856 -0.500188 +vn -0.309134 -0.808904 0.500112 +vn 0.309136 -0.808853 0.500192 +vn 0.000076 0.525580 0.850744 +vn 0.309136 0.808853 0.500192 +vn -0.309134 0.808904 0.500112 +vn 0.000067 1.000000 0.000002 +vn -0.525538 0.850770 -0.000000 +vn 0.000068 -1.000000 0.000003 +vn 0.525743 -0.850644 0.000002 +vn -0.525538 -0.850770 -0.000000 +s 1 +g TriSphere_GEO +f 2/17/1 42/62/2 40/59/3 +f 1/16/4 39/58/5 40/59/3 +f 1/16/4 37/56/6 35/54/7 +f 1/16/4 35/54/7 39/58/5 +f 1/16/4 41/61/8 37/56/6 +f 5/13/9 32/50/10 30/47/11 +f 10/18/12 42/63/2 29/45/13 +f 2/17/1 38/57/14 31/49/15 +f 4/8/16 27/43/17 25/41/18 +f 3/7/19 24/39/20 25/41/18 +f 5/13/9 30/47/11 21/35/21 +f 3/7/19 26/42/22 21/35/21 +f 6/6/23 19/32/24 22/36/25 +f 7/9/26 36/55/27 17/30/28 +f 4/8/16 23/38/29 17/30/28 +f 4/8/16 18/31/30 27/43/17 +f 5/13/9 20/34/31 29/46/13 +f 6/11/23 28/44/32 19/33/24 +f 7/9/26 16/29/33 34/53/34 +f 8/15/35 33/52/36 15/27/37 +f 15/27/37 14/26/38 9/14/39 +f 14/26/38 33/52/36 10/20/12 +f 15/27/37 33/52/36 14/26/38 +f 34/53/34 13/24/40 11/10/41 +f 13/24/40 16/29/33 12/4/42 +f 34/53/34 16/29/33 13/24/40 +f 19/33/24 13/23/40 12/5/42 +f 13/23/40 28/44/32 11/10/41 +f 19/33/24 28/44/32 13/23/40 +f 29/46/13 14/25/38 10/19/12 +f 14/25/38 20/34/31 9/14/39 +f 29/46/13 20/34/31 14/25/38 +f 27/43/17 15/27/37 9/14/39 +f 15/27/37 18/31/30 8/15/35 +f 27/43/17 18/31/30 15/27/37 +f 17/30/28 16/28/33 7/9/26 +f 16/28/33 23/38/29 12/3/42 +f 17/30/28 23/38/29 16/28/33 +f 17/30/28 18/31/30 4/8/16 +f 18/31/30 36/55/27 8/15/35 +f 17/30/28 36/55/27 18/31/30 +f 22/36/25 24/40/20 3/7/19 +f 24/40/20 19/32/24 12/1/42 +f 22/36/25 19/32/24 24/40/20 +f 21/35/21 20/34/31 5/13/9 +f 20/34/31 26/42/22 9/14/39 +f 21/35/21 26/42/22 20/34/31 +f 21/35/21 22/36/25 3/7/19 +f 22/36/25 30/47/11 6/6/23 +f 21/35/21 30/47/11 22/36/25 +f 25/41/18 23/37/29 4/8/16 +f 23/37/29 24/39/20 12/2/42 +f 25/41/18 24/39/20 23/37/29 +f 25/41/18 26/42/22 3/7/19 +f 26/42/22 27/43/17 9/14/39 +f 25/41/18 27/43/17 26/42/22 +f 31/49/15 28/44/32 6/11/23 +f 28/44/32 38/57/14 11/10/41 +f 31/49/15 38/57/14 28/44/32 +f 29/45/13 32/50/10 5/13/9 +f 32/50/10 42/63/2 2/12/1 +f 29/45/13 42/63/2 32/50/10 +f 30/47/11 31/48/15 6/6/23 +f 31/48/15 32/50/10 2/12/1 +f 30/47/11 32/50/10 31/48/15 +f 37/56/6 33/51/36 8/15/35 +f 33/51/36 41/61/8 10/21/12 +f 37/56/6 41/61/8 33/51/36 +f 39/58/5 34/53/34 11/10/41 +f 34/53/34 35/54/7 7/9/26 +f 39/58/5 35/54/7 34/53/34 +f 35/54/7 36/55/27 7/9/26 +f 36/55/27 37/56/6 8/15/35 +f 35/54/7 37/56/6 36/55/27 +f 40/59/3 38/57/14 2/17/1 +f 38/57/14 39/58/5 11/10/41 +f 40/59/3 39/58/5 38/57/14 +f 40/59/3 41/60/8 1/16/4 +f 41/60/8 42/62/2 10/22/12 +f 40/59/3 42/62/2 41/60/8 diff --git a/Assets/GoogleVR/Demos/Models/HelloVR/TriSphere.obj.meta b/Assets/GoogleVR/Demos/Models/HelloVR/TriSphere.obj.meta new file mode 100644 index 0000000..717f41f --- /dev/null +++ b/Assets/GoogleVR/Demos/Models/HelloVR/TriSphere.obj.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: 18ea1f717668b466d9b043f460af69d1 +timeCreated: 1509062228 +licenseType: Pro +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: //RootNode + 100002: TriSphere_GEO + 400000: //RootNode + 400002: TriSphere_GEO + 2300000: TriSphere_GEO + 3300000: TriSphere_GEO + 4300000: TriSphere_GEO + materials: + importMaterials: 0 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Prefabs.meta b/Assets/GoogleVR/Demos/Prefabs.meta new file mode 100644 index 0000000..30c4b24 --- /dev/null +++ b/Assets/GoogleVR/Demos/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 36e9b5c6028c1ed4f8d525c2260b9d48 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Prefabs/DemoInputManager.prefab b/Assets/GoogleVR/Demos/Prefabs/DemoInputManager.prefab new file mode 100644 index 0000000..e3a5533 --- /dev/null +++ b/Assets/GoogleVR/Demos/Prefabs/DemoInputManager.prefab @@ -0,0 +1,279 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &152284 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22412244} + - 222: {fileID: 22228636} + - 114: {fileID: 11450286} + m_Layer: 5 + m_Name: MessageText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &156300 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22450954} + - 222: {fileID: 22233428} + - 114: {fileID: 11437516} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &162814 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22484034} + - 223: {fileID: 22358712} + - 114: {fileID: 11424358} + m_Layer: 5 + m_Name: MessageCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &195966 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 452846} + - 114: {fileID: 11499020} + m_Layer: 0 + m_Name: DemoInputManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &452846 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195966} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.75, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 22484034} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!114 &11424358 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 162814} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &11437516 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 156300} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11450286 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152284} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 18 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Messages will appear here at runtime. +--- !u!114 &11499020 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ddd25f1308577456cbaa207901961126, type: 3} + m_Name: + m_EditorClassIdentifier: + controllerMain: {fileID: 0} + controllerPointer: {fileID: 0} + reticlePointer: {fileID: 0} + messageCanvas: {fileID: 0} + messageText: {fileID: 0} + gvrEmulatedPlatformType: 0 +--- !u!222 &22228636 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152284} +--- !u!222 &22233428 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 156300} +--- !u!223 &22358712 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 162814} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &22412244 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152284} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 22484034} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &22450954 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 156300} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 22484034} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &22484034 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 162814} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 5} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 22450954} + - {fileID: 22412244} + m_Father: {fileID: 452846} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: -0.24} + m_SizeDelta: {x: 450, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 195966} + m_IsPrefabParent: 1 diff --git a/Assets/GoogleVR/Demos/Prefabs/DemoInputManager.prefab.meta b/Assets/GoogleVR/Demos/Prefabs/DemoInputManager.prefab.meta new file mode 100644 index 0000000..ffb4544 --- /dev/null +++ b/Assets/GoogleVR/Demos/Prefabs/DemoInputManager.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8524bbe5e592a42dc9251484a73c9c7f +timeCreated: 1479274754 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Prefabs/DemoSceneManager.prefab b/Assets/GoogleVR/Demos/Prefabs/DemoSceneManager.prefab new file mode 100644 index 0000000..0f795b2 --- /dev/null +++ b/Assets/GoogleVR/Demos/Prefabs/DemoSceneManager.prefab @@ -0,0 +1,67 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 632161999} + m_IsPrefabParent: 1 +--- !u!1 &632161999 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 1509313747} + - component: {fileID: 1980163928} + - component: {fileID: 114055343288806878} + m_Layer: 0 + m_Name: DemoSceneManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1509313747 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 632161999} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1980163928 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 632161999} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1bec9ea3efe7849ffae666549aca3cad, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &114055343288806878 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 632161999} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94f5d450d1bd94c97b1dc8109b633ac0, type: 3} + m_Name: + m_EditorClassIdentifier: + safetyRing: {fileID: 0} + enableDebugLog: 0 diff --git a/Assets/GoogleVR/Demos/Prefabs/DemoSceneManager.prefab.meta b/Assets/GoogleVR/Demos/Prefabs/DemoSceneManager.prefab.meta new file mode 100644 index 0000000..5d24d54 --- /dev/null +++ b/Assets/GoogleVR/Demos/Prefabs/DemoSceneManager.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 87c35d808850c410ca0e398a8da84e68 +timeCreated: 1485218930 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Prefabs/Keyboard.meta b/Assets/GoogleVR/Demos/Prefabs/Keyboard.meta new file mode 100644 index 0000000..f06550c --- /dev/null +++ b/Assets/GoogleVR/Demos/Prefabs/Keyboard.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8e52268180be34040b91e69696496c5a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Prefabs/Keyboard/KeyboardDelegateExample.prefab b/Assets/GoogleVR/Demos/Prefabs/Keyboard/KeyboardDelegateExample.prefab new file mode 100644 index 0000000..68093c2 --- /dev/null +++ b/Assets/GoogleVR/Demos/Prefabs/Keyboard/KeyboardDelegateExample.prefab @@ -0,0 +1,55 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 909512790} + m_IsPrefabParent: 1 +--- !u!1 &909512790 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1788732883} + - 114: {fileID: 2044164019} + m_Layer: 0 + m_Name: KeyboardDelegateExample + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1788732883 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 909512790} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.39, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!114 &2044164019 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 909512790} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ff12693eea0a446d0a2183f2ffe9c711, type: 3} + m_Name: + m_EditorClassIdentifier: + KeyboardText: {fileID: 0} + UpdateButton: {fileID: 0} diff --git a/Assets/GoogleVR/Demos/Prefabs/Keyboard/KeyboardDelegateExample.prefab.meta b/Assets/GoogleVR/Demos/Prefabs/Keyboard/KeyboardDelegateExample.prefab.meta new file mode 100644 index 0000000..27197d9 --- /dev/null +++ b/Assets/GoogleVR/Demos/Prefabs/Keyboard/KeyboardDelegateExample.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b7eeb268f8424f809fc34c33b2a6820 +timeCreated: 1479081998 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Prefabs/VideoDemo.meta b/Assets/GoogleVR/Demos/Prefabs/VideoDemo.meta new file mode 100644 index 0000000..08b2312 --- /dev/null +++ b/Assets/GoogleVR/Demos/Prefabs/VideoDemo.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 60df75173a3e01a44b5cf5d582f90846 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Prefabs/VideoDemo/MenuBar.prefab b/Assets/GoogleVR/Demos/Prefabs/VideoDemo/MenuBar.prefab new file mode 100644 index 0000000..bd3d144 --- /dev/null +++ b/Assets/GoogleVR/Demos/Prefabs/VideoDemo/MenuBar.prefab @@ -0,0 +1,507 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1596676483} + m_IsPrefabParent: 1 +--- !u!1 &174288875 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1225916774} + - 222: {fileID: 1300329510} + - 114: {fileID: 1685894217} + - 114: {fileID: 169017167} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1590874943 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 863570889} + - 222: {fileID: 1868668733} + - 114: {fileID: 1488426162} + m_Layer: 5 + m_Name: VideoSize + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1617223201 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 294705724} + - 222: {fileID: 512967037} + - 114: {fileID: 694042128} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1596676483 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 824776444} + - 223: {fileID: 1755358597} + - 114: {fileID: 80762351} + - 114: {fileID: 421771429} + - 225: {fileID: 1092422400} + - 114: {fileID: 1960324903} + - 114: {fileID: 1336403911} + - 114: {fileID: 2043292222} + - 114: {fileID: 1516951237} + m_Layer: 5 + m_Name: MenuBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &80762351 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1596676483} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &1516951237 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1596676483} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7304a3fe3b19a4eb8ba4e4b21008b2f0, type: 3} + m_Name: + m_EditorClassIdentifier: + menuObjects: + - {fileID: 0} + - {fileID: 0} +--- !u!114 &1960324903 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1596676483} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 499621f70ffb54e8bad37f748aed85f2, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1336403911 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1596676483} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9e216f327e132794b8e02093522ae84c, type: 3} + m_Name: + m_EditorClassIdentifier: + OnAppUp: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: GVR.Input.ButtonEvent, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, + PublicKeyToken=null + OnAppDown: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2043292222} + m_MethodName: Toggle + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: GVR.Input.ButtonEvent, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, + PublicKeyToken=null +--- !u!114 &169017167 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174288875} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1685894217} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: ShowMainMenu + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &421771429 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1596676483} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &2043292222 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1596676483} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1b8f07442700094898145567ef1f203, type: 3} + m_Name: + m_EditorClassIdentifier: + OnToggleOn: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1516951237} + m_MethodName: ShowMenu + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine, Version=0.0.0.0, Culture=neutral, + PublicKeyToken=null + OnToggleOff: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1516951237} + m_MethodName: HideMenu + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine, Version=0.0.0.0, Culture=neutral, + PublicKeyToken=null + InitialState: 1 + RaiseEventForInitialState: 0 + Cooldown: 0 +--- !u!114 &1488426162 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1590874943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 100 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!114 &694042128 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1617223201} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 100 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Back to Menu +--- !u!114 &1685894217 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174288875} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1868668733 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1590874943} +--- !u!222 &1300329510 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174288875} +--- !u!222 &512967037 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1617223201} +--- !u!223 &1755358597 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1596676483} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &294705724 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1617223201} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1225916774} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &1225916774 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174288875} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 294705724} + m_Father: {fileID: 824776444} + m_RootOrder: 0 + m_AnchorMin: {x: 0.2, y: 0.1} + m_AnchorMax: {x: 0.8, y: 0.25} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &863570889 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1590874943} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 824776444} + m_RootOrder: 1 + m_AnchorMin: {x: 0.009542092, y: 0.1} + m_AnchorMax: {x: 1, y: 0.17400001} + m_AnchoredPosition: {x: -9.9961, y: -149} + m_SizeDelta: {x: 19.992, y: 15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &824776444 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1596676483} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 4} + m_LocalScale: {x: 0.001, y: 0.001, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1225916774} + - {fileID: 863570889} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -0.02, y: -0.82} + m_SizeDelta: {x: 2095.15, y: 1918.35} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!225 &1092422400 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1596676483} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 diff --git a/Assets/GoogleVR/Demos/Prefabs/VideoDemo/MenuBar.prefab.meta b/Assets/GoogleVR/Demos/Prefabs/VideoDemo/MenuBar.prefab.meta new file mode 100644 index 0000000..f8a6db4 --- /dev/null +++ b/Assets/GoogleVR/Demos/Prefabs/VideoDemo/MenuBar.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 421f38d36955b4473b99800e7cc5ee37 +timeCreated: 1475163586 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Prefabs/VideoDemo/VideoControls.prefab b/Assets/GoogleVR/Demos/Prefabs/VideoDemo/VideoControls.prefab new file mode 100644 index 0000000..ae01d80 --- /dev/null +++ b/Assets/GoogleVR/Demos/Prefabs/VideoDemo/VideoControls.prefab @@ -0,0 +1,2916 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!222 &18538445 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 725742927} +--- !u!114 &37083777 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1075224535} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Texture: {fileID: 2800000, guid: 33fe2a867f53b4dd7b47d13503efb4de, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!114 &59339357 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1137111031} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &91833519 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 747062055} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &95282846 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1345198074} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Texture: {fileID: 2800000, guid: 738cb298280e345f4908ffe19a6cd591, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 650846444} + m_IsPrefabParent: 1 +--- !u!114 &110164717 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 650846444} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 70f36fab7a81646eeb5c083264db5be0, type: 3} + m_Name: + m_EditorClassIdentifier: + player: {fileID: 0} +--- !u!114 &139209893 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 2092375200} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.541} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &152245717 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1550274822} +--- !u!114 &167946883 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1889339327} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Texture: {fileID: 2800000, guid: 36597cf9c1ebe400c99c9affa94cfd24, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!1 &174405581 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 670958713} + - 222: {fileID: 780039787} + - 114: {fileID: 1841903541} + m_Layer: 5 + m_Name: settings_image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &230187223 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 846340090} + - 222: {fileID: 1014126416} + - 114: {fileID: 2101800346} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &250310558 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1535195243} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.29411766, g: 0.303, b: 0.81568635, a: 0.691} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!1 &265220946 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 842406552} + - 222: {fileID: 1744419420} + - 114: {fileID: 1220986348} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!222 &265926893 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1075224535} +--- !u!224 &271662729 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 834822196} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1286145430} + - {fileID: 1355393028} + - {fileID: 1053754247} + - {fileID: 1493204893} + m_Father: {fileID: 2042328513} + m_RootOrder: 1 + m_AnchorMin: {x: 0.20300001, y: 0.04} + m_AnchorMax: {x: 0.79700005, y: 0.08} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &293026199 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 842897185} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 652672571} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &299345355 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 850598152} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &350827436 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 850598152} +--- !u!1 &386531953 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1355393028} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!222 &427223765 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1086507754} +--- !u!1 &435672934 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1310915070} + m_Layer: 5 + m_Name: settings + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &459900200 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1240802587} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1307927409} + m_RootOrder: 1 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 2.4, y: -0.9} + m_SizeDelta: {x: 132.6, y: 49.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &477284213 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 2092375200} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cc7f51d6c6b140f79f7afded8b84284, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &498814467 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 853069448} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.509} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &499153277 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1857102488} +--- !u!222 &513964706 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1889339327} +--- !u!114 &528625580 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 962069258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9117647, g: 0, b: 0.16176471, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!224 &539183185 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1086507754} + m_LocalRotation: {x: -0, y: -0, z: 0.0037209068, w: -0.9999931} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 2097420047} + - {fileID: 780487871} + - {fileID: 685128331} + m_Father: {fileID: 2042328513} + m_RootOrder: 5 + m_AnchorMin: {x: 0.4214107, y: 0.25687796} + m_AnchorMax: {x: 0.52236396, y: 0.4575355} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &542357450 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1766262893} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9117647, g: 0, b: 0.16176471, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: fe4fc8c33a7454cbf8504991c47a12a8, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &544655656 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 842897185} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7843138, g: 0.79215693, b: 0.80392164, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Texture: {fileID: 2800000, guid: 2d89a5f92f03449f2bd6c28c914115fc, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!114 &588158655 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1291849241} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &619811956 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 2092375200} +--- !u!222 &630495252 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 843878323} +--- !u!1 &650846444 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2079246903} + - 114: {fileID: 110164717} + m_Layer: 0 + m_Name: VideoControls + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &652672571 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 850598152} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 293026199} + - {fileID: 1420181710} + m_Father: {fileID: 2042328513} + m_RootOrder: 4 + m_AnchorMin: {x: 0.2, y: 0.14620341} + m_AnchorMax: {x: 0.24800001, y: 0.28311586} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &663490201 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 717212708} +--- !u!114 &664824289 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1672313607} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!224 &670958713 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174405581} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1988323867} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: -0.0000038146973} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &676506846 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1345198074} +--- !u!224 &685128331 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1075224535} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 539183185} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &717212708 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1130589988} + - 222: {fileID: 663490201} + - 114: {fileID: 775779508} + m_Layer: 5 + m_Name: settings_buttonCircle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &721874683 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 783778481} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7843138, g: 0.79215693, b: 0.80392164, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Texture: {fileID: 2800000, guid: 2d89a5f92f03449f2bd6c28c914115fc, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!1 &725742927 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1141502232} + - 222: {fileID: 18538445} + - 114: {fileID: 1813628901} + - 114: {fileID: 1894154550} + m_Layer: 5 + m_Name: vol_up + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!222 &731248162 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1137111031} +--- !u!114 &732869598 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 747062055} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 739800cd36aba44e9b04ce977e5784bd, type: 3} + m_Name: + m_EditorClassIdentifier: + drawDebugRays: 0 + ignoreReversedGraphics: 1 + blockingObjects: 0 + blockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &747062055 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 2042328513} + - 223: {fileID: 1686446061} + - 114: {fileID: 91833519} + - 225: {fileID: 1484849856} + - 114: {fileID: 1633499005} + - 114: {fileID: 732869598} + m_Layer: 5 + m_Name: DisplayCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &775779508 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 717212708} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.7843138, g: 0.79215693, b: 0.80392164, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Texture: {fileID: 2800000, guid: 2d89a5f92f03449f2bd6c28c914115fc, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!114 &777902215 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 2072198232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &780039787 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174405581} +--- !u!224 &780487871 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1889339327} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 539183185} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &783778481 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 2097420047} + - 222: {fileID: 1052060675} + - 114: {fileID: 721874683} + m_Layer: 5 + m_Name: volumeCircle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &797842343 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1137111031} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1458877334} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &834822196 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 271662729} + - 114: {fileID: 1797793609} + m_Layer: 5 + m_Name: video_slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &842406552 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 265220946} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1522574926} + m_RootOrder: 0 + m_AnchorMin: {x: 0.25, y: 0} + m_AnchorMax: {x: 0.75, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &842897185 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 293026199} + - 222: {fileID: 1331976630} + - 114: {fileID: 544655656} + m_Layer: 5 + m_Name: volumeCircle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &843878323 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 2123468901} + - 222: {fileID: 630495252} + - 114: {fileID: 1307758141} + m_Layer: 5 + m_Name: title_text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &846340090 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 230187223} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 2010285796} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &850598152 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 652672571} + - 222: {fileID: 350827436} + - 114: {fileID: 299345355} + - 114: {fileID: 2023576010} + m_Layer: 5 + m_Name: volume + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &853069448 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1369105660} + - 222: {fileID: 1887605779} + - 114: {fileID: 498814467} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!222 &878767707 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 962069258} +--- !u!1 &962069258 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1279982647} + - 222: {fileID: 878767707} + - 114: {fileID: 528625580} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &982932567 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 2053350985} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1b8f07442700094898145567ef1f203, type: 3} + m_Name: + m_EditorClassIdentifier: + OnToggleOn: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1633499005} + m_MethodName: Fade + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine, Version=0.0.0.0, Culture=neutral, + PublicKeyToken=null + OnToggleOff: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1633499005} + m_MethodName: Fade + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine, Version=0.0.0.0, Culture=neutral, + PublicKeyToken=null + InitialState: 0 + RaiseEventForInitialState: 1 + Cooldown: 0 +--- !u!222 &1014126416 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 230187223} +--- !u!222 &1052060675 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 783778481} +--- !u!224 &1053754247 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1535195243} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 271662729} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0.24} + m_AnchorMax: {x: 1, y: 0.76} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1074563955 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1240802587} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: (No settings in sample code) +--- !u!1 &1075224535 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 685128331} + - 222: {fileID: 265926893} + - 114: {fileID: 37083777} + m_Layer: 5 + m_Name: pauseImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1086507754 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 539183185} + - 222: {fileID: 427223765} + - 114: {fileID: 2139718752} + - 114: {fileID: 2073392283} + m_Layer: 5 + m_Name: playpause_button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1100586081 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1283635433} + - 222: {fileID: 2107542926} + - 114: {fileID: 1732824922} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1129845788 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1530223494} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1141502232} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &1130589988 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 717212708} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1988323867} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1137111031 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 797842343} + - 222: {fileID: 731248162} + - 114: {fileID: 59339357} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1141502232 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 725742927} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1129845788} + m_Father: {fileID: 1534731733} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0.818} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.000091552734, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &1164402124 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1672313607} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1355393028} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1217811730 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1697584635} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 4 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 0:00 +--- !u!114 &1220986348 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 265220946} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!1 &1221321103 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1522574926} + - 114: {fileID: 1426491928} + m_Layer: 5 + m_Name: volume_slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1240802587 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 459900200} + - 222: {fileID: 1580715401} + - 114: {fileID: 1074563955} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!222 &1248321020 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1672313607} +--- !u!224 &1279982647 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 962069258} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1493204893} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &1283635433 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1100586081} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1554607865} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &1286145430 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 2092375200} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1677584699} + m_Father: {fileID: 271662729} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 4.335} + m_SizeDelta: {x: 0, y: 0.53} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1291849241 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1988323867} + - 222: {fileID: 1457541051} + - 114: {fileID: 588158655} + - 114: {fileID: 1539831591} + m_Layer: 5 + m_Name: settings_button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1307758141 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 843878323} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 0 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 0 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: ' Settings ' +--- !u!224 &1307927409 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 2072198232} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 2123468901} + - {fileID: 459900200} + m_Father: {fileID: 1310915070} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -47.8, y: 172.99997} + m_SizeDelta: {x: 44.46147, y: 142.71797} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &1310915070 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 435672934} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1988323867} + - {fileID: 1307927409} + m_Father: {fileID: 2042328513} + m_RootOrder: 6 + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 204.95172, y: -136.96338} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1318588105 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1530223494} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0.634, b: 0, a: 0.966} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 0 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1331976630 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 842897185} +--- !u!1 &1345198074 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1420181710} + - 222: {fileID: 676506846} + - 114: {fileID: 95282846} + m_Layer: 5 + m_Name: vol_image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1355393028 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 386531953} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1164402124} + m_Father: {fileID: 271662729} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &1369105660 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 853069448} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1534731733} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0.16222608, y: -0.066288844} + m_SizeDelta: {x: -0.29312086, y: -0.11961} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &1420181710 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1345198074} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 652672571} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1426491928 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1221321103} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -113659843, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2101800346} + m_FillRect: {fileID: 797842343} + m_HandleRect: {fileID: 846340090} + m_Direction: 2 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!222 &1457541051 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1291849241} +--- !u!224 &1458877334 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1946923112} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 797842343} + m_Father: {fileID: 1522574926} + m_RootOrder: 1 + m_AnchorMin: {x: 0.25, y: 0} + m_AnchorMax: {x: 0.75, y: 1} + m_AnchoredPosition: {x: 0, y: -5} + m_SizeDelta: {x: 0, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!225 &1484849856 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 747062055} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!224 &1493204893 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1895363828} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1279982647} + m_Father: {fileID: 271662729} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1521022023 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1857102488} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 4 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 0:00 +--- !u!224 &1522574926 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1221321103} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 842406552} + - {fileID: 1458877334} + - {fileID: 2010285796} + m_Father: {fileID: 1534731733} + m_RootOrder: 3 + m_AnchorMin: {x: 0.5, y: 0.2} + m_AnchorMax: {x: 0.5, y: 0.818} + m_AnchoredPosition: {x: 2.7, y: 0} + m_SizeDelta: {x: 14.8, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1530223494 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1129845788} + - 222: {fileID: 1685389313} + - 114: {fileID: 1318588105} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1534731733 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1979691154} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1369105660} + - {fileID: 1141502232} + - {fileID: 1554607865} + - {fileID: 1522574926} + m_Father: {fileID: 2042328513} + m_RootOrder: 3 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 141.5, y: -172.05} + m_SizeDelta: {x: 67.4, y: 344} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1535195243 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1053754247} + - 222: {fileID: 2055148572} + - 114: {fileID: 250310558} + m_Layer: 5 + m_Name: BufferedBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1539831591 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1291849241} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 588158655} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1633499005} + m_MethodName: OnToggleSettings + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!1 &1550274822 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1554607865} + - 222: {fileID: 152245717} + - 114: {fileID: 1982092948} + - 114: {fileID: 1604737073} + m_Layer: 5 + m_Name: vol_down + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1554607865 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1550274822} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1283635433} + m_Father: {fileID: 1534731733} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.2} + m_AnchoredPosition: {x: 0, y: 0.24998474} + m_SizeDelta: {x: 0, y: -0.50003} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1580715401 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1240802587} +--- !u!222 &1604081944 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1697584635} +--- !u!114 &1604737073 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1550274822} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1633499005} + m_MethodName: OnVolumeDown + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + delegates: [] +--- !u!114 &1618335311 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 2053350985} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9e216f327e132794b8e02093522ae84c, type: 3} + m_Name: + m_EditorClassIdentifier: + OnAppUp: + m_PersistentCalls: + m_Calls: [] + m_TypeName: GVR.Input.ButtonEvent, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, + PublicKeyToken=null + OnAppDown: + m_PersistentCalls: + m_Calls: [] + m_TypeName: GVR.Input.ButtonEvent, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, + PublicKeyToken=null +--- !u!114 &1633499005 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 747062055} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 11ce60bdf78924133940a4a64555e784, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!224 &1639035537 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1697584635} + m_LocalRotation: {x: -0, y: -0, z: 0.0098030325, w: -0.999952} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 2042328513} + m_RootOrder: 2 + m_AnchorMin: {x: 0.81, y: 0.03} + m_AnchorMax: {x: 0.99, y: 0.1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1672313607 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1164402124} + - 222: {fileID: 1248321020} + - 114: {fileID: 664824289} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1677584699 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1766262893} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1286145430} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 46.6, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1685389313 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1530223494} +--- !u!223 &1686446061 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 747062055} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!1 &1697584635 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1639035537} + - 222: {fileID: 1604081944} + - 114: {fileID: 1217811730} + m_Layer: 5 + m_Name: duration_text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1732824922 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1100586081} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.875, g: 0.17371324, b: 0.17371324, a: 0.9019608} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 0 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1744419420 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 265220946} +--- !u!1 &1766262893 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1677584699} + - 222: {fileID: 2077714971} + - 114: {fileID: 542357450} + m_Layer: 5 + m_Name: newPositionHandle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &1773914611 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 2010285796} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1797793609 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 834822196} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -113659843, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 528625580} + m_FillRect: {fileID: 1164402124} + m_HandleRect: {fileID: 1279982647} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1813628901 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 725742927} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_Color: {r: 0.2188776, g: 0.74264705, b: 0.12013406, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: + +--- !u!4 &1834979375 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 2053350985} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 9} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 2079246903} + m_RootOrder: 1 +--- !u!114 &1841903541 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 174405581} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Texture: {fileID: 2800000, guid: c693e0aaddd03420fa79689875f39f93, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!1 &1857102488 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 2026081615} + - 222: {fileID: 499153277} + - 114: {fileID: 1521022023} + m_Layer: 5 + m_Name: curpos_text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!222 &1887605779 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 853069448} +--- !u!1 &1889339327 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 780487871} + - 222: {fileID: 513964706} + - 114: {fileID: 167946883} + m_Layer: 5 + m_Name: playImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1894154550 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 725742927} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1633499005} + m_MethodName: OnVolumeUp + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + delegates: [] +--- !u!1 &1895363828 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1493204893} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1946923112 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1458877334} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1979691154 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1534731733} + m_Layer: 5 + m_Name: volume_widget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1982092948 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1550274822} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: '-' +--- !u!224 &1988323867 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1291849241} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1130589988} + - {fileID: 670958713} + m_Father: {fileID: 1310915070} + m_RootOrder: 0 + m_AnchorMin: {x: 0.78214216, y: 0.14620341} + m_AnchorMax: {x: 0.858332, y: 0.28311586} + m_AnchoredPosition: {x: -32.023716, y: 28.534002} + m_SizeDelta: {x: 41.142494, y: 52.026726} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2001213904 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 2072198232} +--- !u!224 &2010285796 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1773914611} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 846340090} + m_Father: {fileID: 1522574926} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2023576010 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 850598152} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 299345355} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1633499005} + m_MethodName: OnToggleVolume + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!224 &2026081615 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1857102488} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 2042328513} + m_RootOrder: 0 + m_AnchorMin: {x: 0.017226387, y: 0.03} + m_AnchorMax: {x: 0.17987883, y: 0.1} + m_AnchoredPosition: {x: -0.9500122, y: -0.25} + m_SizeDelta: {x: -1.9, y: 0.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2029052262 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 2092375200} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 0 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 477284213} + m_MethodName: OnPointerEnter + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 1 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 477284213} + m_MethodName: OnPointerExit + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 477284213} + m_MethodName: OnPointerClick + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 11 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 477284213} + m_MethodName: OnPointerMove + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + delegates: [] +--- !u!224 &2042328513 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 747062055} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.00468, y: 0.00208, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 2026081615} + - {fileID: 271662729} + - {fileID: 1639035537} + - {fileID: 1534731733} + - {fileID: 652672571} + - {fileID: 539183185} + - {fileID: 1310915070} + m_Father: {fileID: 2079246903} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 640, y: 480} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2053350985 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1834979375} + - 114: {fileID: 1618335311} + - 114: {fileID: 982932567} + m_Layer: 0 + m_Name: ControllerManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!222 &2055148572 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1535195243} +--- !u!1 &2072198232 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1307927409} + - 222: {fileID: 2001213904} + - 114: {fileID: 777902215} + m_Layer: 5 + m_Name: settings_panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &2073392283 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1086507754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2139718752} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1633499005} + m_MethodName: OnPlayPause + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!222 &2077714971 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1766262893} +--- !u!4 &2079246903 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 650846444} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.204, z: 3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 2042328513} + - {fileID: 1834979375} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &2092375200 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1286145430} + - 222: {fileID: 619811956} + - 114: {fileID: 139209893} + - 114: {fileID: 477284213} + - 114: {fileID: 2029052262} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2097420047 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 783778481} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 539183185} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0.005, y: 0} + m_SizeDelta: {x: -0.01, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2101800346 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 230187223} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2107542926 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1100586081} +--- !u!224 &2123468901 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 843878323} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1307927409} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -0.6, y: -24} + m_SizeDelta: {x: -10.9, y: 34} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2139718752 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1086507754} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 diff --git a/Assets/GoogleVR/Demos/Prefabs/VideoDemo/VideoControls.prefab.meta b/Assets/GoogleVR/Demos/Prefabs/VideoDemo/VideoControls.prefab.meta new file mode 100644 index 0000000..bfb5183 --- /dev/null +++ b/Assets/GoogleVR/Demos/Prefabs/VideoDemo/VideoControls.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1a62dfff2c15946c6a3caf52aef4bcf4 +timeCreated: 1472152474 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scenes.meta b/Assets/GoogleVR/Demos/Scenes.meta new file mode 100644 index 0000000..a84cb42 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 44f11c419984f0f4eb7430806be6506f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scenes/HelloVR.unity b/Assets/GoogleVR/Demos/Scenes/HelloVR.unity new file mode 100644 index 0000000..5ebc842 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scenes/HelloVR.unity @@ -0,0 +1,1833 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 8 + m_Resolution: 1 + m_BakeResolution: 1 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 0 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_LightingDataAsset: {fileID: 0} + m_ShadowMaskMode: 2 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666666 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!4 &34062306 stripped +Transform: + m_PrefabParentObject: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, + type: 2} + m_PrefabInternal: {fileID: 390902453} +--- !u!1001 &83144409 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 11499020, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: controllerPointers.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalPosition.y + value: 0.75 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalPosition.z + value: -0.47 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 11499020, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: controllerMain + value: + objectReference: {fileID: 1168548481} + - target: {fileID: 11499020, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: controllerPointer + value: + objectReference: {fileID: 189115713} + - target: {fileID: 11499020, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: reticlePointer + value: + objectReference: {fileID: 653818221} + - target: {fileID: 11499020, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: controllerPointers.Array.data[0] + value: + objectReference: {fileID: 189115713} + - target: {fileID: 11499020, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: controllerPointers.Array.data[1] + value: + objectReference: {fileID: 697565397} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &148680882 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 148680883} + - component: {fileID: 148680891} + - component: {fileID: 148680890} + - component: {fileID: 148680889} + - component: {fileID: 148680885} + - component: {fileID: 148680884} + - component: {fileID: 148680886} + m_Layer: 0 + m_Name: TriSphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &148680883 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 148680882} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: [] + m_Father: {fileID: 1199920617} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &148680884 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 148680882} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 0 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 148680885} + m_MethodName: SetGazedAt + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 1 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 148680885} + m_MethodName: SetGazedAt + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 148680885} + m_MethodName: TeleportRandomly + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + delegates: + - eventID: 0 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 148680885} + m_MethodName: SetGazedAt + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 1 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 148680885} + m_MethodName: SetGazedAt + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 148680885} + m_MethodName: TeleportRandomly + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null +--- !u!114 &148680885 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 148680882} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b6d9412aff759420192d8dcf33f969bb, type: 3} + m_Name: + m_EditorClassIdentifier: + inactiveMaterial: {fileID: 2100000, guid: a5801e27da69043b69f7f194b62c2716, type: 2} + gazedAtMaterial: {fileID: 2100000, guid: c63bdfc3c6f1447c8bcb58360dd31d6a, type: 2} +--- !u!82 &148680886 +AudioSource: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 148680882} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 1 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 +--- !u!135 &148680889 +SphereCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 148680882} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.499999 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &148680890 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 148680882} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: c63bdfc3c6f1447c8bcb58360dd31d6a, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!33 &148680891 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 148680882} + m_Mesh: {fileID: 4300000, guid: 18ea1f717668b466d9b043f460af69d1, type: 3} +--- !u!1001 &168835911 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 907292808} + m_Modifications: + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 555767533, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_Name + value: GvrControllerPointer1 + objectReference: {fileID: 0} + - target: {fileID: 114000013899574178, guid: 34c21f523e72f45509a4e37ed0293c3b, + type: 2} + propertyPath: controllerId + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000013899574178, guid: 34c21f523e72f45509a4e37ed0293c3b, + type: 2} + propertyPath: controllerHand + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &189115713 stripped +GameObject: + m_PrefabParentObject: {fileID: 555767533, guid: 34c21f523e72f45509a4e37ed0293c3b, + type: 2} + m_PrefabInternal: {fileID: 390902453} +--- !u!1 &389255504 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 389255506} + - component: {fileID: 389255505} + m_Layer: 0 + m_Name: Point light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &389255505 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 389255504} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 2 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 10 + m_Range: 20 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 1 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &389255506 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 389255504} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 7.8045807, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &390902453 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 907292808} + m_Modifications: + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 555767533, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_Name + value: GvrControllerPointer0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &402391661 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 114063829130735768, guid: 5ca80f4596fa44b87912a0592346d260, + type: 2} + propertyPath: enablePositionalTracking + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &653818221 stripped +GameObject: + m_PrefabParentObject: {fileID: 171526, guid: 60270cf52a5e94998a5a335989159738, type: 2} + m_PrefabInternal: {fileID: 848404732} +--- !u!1 &697565397 stripped +GameObject: + m_PrefabParentObject: {fileID: 555767533, guid: 34c21f523e72f45509a4e37ed0293c3b, + type: 2} + m_PrefabInternal: {fileID: 168835911} +--- !u!4 &697565398 stripped +Transform: + m_PrefabParentObject: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, + type: 2} + m_PrefabInternal: {fileID: 168835911} +--- !u!1001 &781074293 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &848404732 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 959308593} + m_Modifications: + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 60270cf52a5e94998a5a335989159738, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &848404733 stripped +Transform: + m_PrefabParentObject: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + m_PrefabInternal: {fileID: 848404732} +--- !u!1001 &873428114 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 1000013165000468, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_Name + value: CubeRoom + objectReference: {fileID: 0} + - target: {fileID: 64000011095866406, guid: c12db6ac95da443448d6aa9e4cfc66c0, + type: 2} + propertyPath: m_Mesh + value: + objectReference: {fileID: 4300000, guid: 0d17106c40ecd4920976ddf8d6effd9b, type: 3} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &907292807 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 907292808} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &907292808 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 907292807} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.6, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 959308593} + - {fileID: 34062306} + - {fileID: 697565398} + m_Father: {fileID: 0} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &946975180 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &955127915 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 955127926} + - component: {fileID: 955127918} + - component: {fileID: 955127916} + - component: {fileID: 955127917} + - component: {fileID: 955127921} + - component: {fileID: 955127923} + - component: {fileID: 955127919} + m_Layer: 0 + m_Name: Icosahedron + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &955127916 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 955127915} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 0edec395166a3244592f3532c7ce794c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!64 &955127917 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 955127915} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 4300000, guid: 5c39ec134a75d4a87a4a69a1be8dc5de, type: 3} +--- !u!33 &955127918 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 955127915} + m_Mesh: {fileID: 4300000, guid: 5c39ec134a75d4a87a4a69a1be8dc5de, type: 3} +--- !u!82 &955127919 +AudioSource: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 955127915} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 1 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 +--- !u!114 &955127921 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 955127915} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b6d9412aff759420192d8dcf33f969bb, type: 3} + m_Name: + m_EditorClassIdentifier: + inactiveMaterial: {fileID: 2100000, guid: daad62324deb0cf448e5c805c8459bff, type: 2} + gazedAtMaterial: {fileID: 2100000, guid: 0edec395166a3244592f3532c7ce794c, type: 2} +--- !u!114 &955127923 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 955127915} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 0 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 955127921} + m_MethodName: SetGazedAt + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 1 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 955127921} + m_MethodName: SetGazedAt + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 955127921} + m_MethodName: TeleportRandomly + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + delegates: + - eventID: 0 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 955127921} + m_MethodName: SetGazedAt + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 1 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 955127921} + m_MethodName: SetGazedAt + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 955127921} + m_MethodName: TeleportRandomly + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null +--- !u!224 &955127926 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 955127915} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: [] + m_Father: {fileID: 1199920617} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &959308587 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100006, guid: b8b03d395f5734e98af91ccf44f9bf47, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 959308593} + - component: {fileID: 959308592} + - component: {fileID: 959308591} + - component: {fileID: 959308590} + - component: {fileID: 959308589} + - component: {fileID: 959308594} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &959308589 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 8100000, guid: b8b03d395f5734e98af91ccf44f9bf47, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 959308587} + m_Enabled: 1 +--- !u!92 &959308590 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 9200004, guid: b8b03d395f5734e98af91ccf44f9bf47, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 959308587} + m_Enabled: 1 +--- !u!124 &959308591 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 12400004, guid: b8b03d395f5734e98af91ccf44f9bf47, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 959308587} + m_Enabled: 1 +--- !u!20 &959308592 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2000004, guid: b8b03d395f5734e98af91ccf44f9bf47, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 959308587} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.03 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &959308593 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400006, guid: b8b03d395f5734e98af91ccf44f9bf47, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 959308587} + 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_Children: + - {fileID: 848404733} + m_Father: {fileID: 907292808} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &959308594 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 959308587} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eb5dd43baba2d4dc1bab789615567e3d, type: 3} + m_Name: + m_EditorClassIdentifier: + raycasterEventMask: + serializedVersion: 2 + m_Bits: 4294967295 + maxRaycastHits: 64 +--- !u!1 &1136815077 stripped +GameObject: + m_PrefabParentObject: {fileID: 195966, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + m_PrefabInternal: {fileID: 83144409} +--- !u!114 &1136815078 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1136815077} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ae2d286fc7c3e427bbde238c0ebb970b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_launchVrHomeButton: {fileID: 0} + m_demoInputManager: {fileID: 1136815079} +--- !u!114 &1136815079 stripped +MonoBehaviour: + m_PrefabParentObject: {fileID: 11499020, guid: 8524bbe5e592a42dc9251484a73c9c7f, + type: 2} + m_PrefabInternal: {fileID: 83144409} + m_Script: {fileID: 11500000, guid: ddd25f1308577456cbaa207901961126, type: 3} +--- !u!1001 &1163767423 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 114055343288806878, guid: 87c35d808850c410ca0e398a8da84e68, + type: 2} + propertyPath: safetyRing + value: + objectReference: {fileID: 1725746395} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1168548481 stripped +GameObject: + m_PrefabParentObject: {fileID: 198490, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + m_PrefabInternal: {fileID: 402391661} +--- !u!1 &1199920616 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1199920617} + m_Layer: 0 + m_Name: Treasure + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1199920617 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1199920616} + 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_Children: + - {fileID: 1490385948} + - {fileID: 148680883} + - {fileID: 955127926} + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 1.5} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1001 &1252116907 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1266476664 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4000012185119224, guid: ce7abbbeb276a1547bd8ce1069fdabb7, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000012185119224, guid: ce7abbbeb276a1547bd8ce1069fdabb7, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000012185119224, guid: ce7abbbeb276a1547bd8ce1069fdabb7, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000012185119224, guid: ce7abbbeb276a1547bd8ce1069fdabb7, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000012185119224, guid: ce7abbbeb276a1547bd8ce1069fdabb7, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000012185119224, guid: ce7abbbeb276a1547bd8ce1069fdabb7, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000012185119224, guid: ce7abbbeb276a1547bd8ce1069fdabb7, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000012185119224, guid: ce7abbbeb276a1547bd8ce1069fdabb7, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ce7abbbeb276a1547bd8ce1069fdabb7, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1490385947 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1490385948} + - component: {fileID: 1490385956} + - component: {fileID: 1490385955} + - component: {fileID: 1490385954} + - component: {fileID: 1490385950} + - component: {fileID: 1490385949} + - component: {fileID: 1490385957} + m_Layer: 0 + m_Name: QuadSphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1490385948 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1490385947} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: [] + m_Father: {fileID: 1199920617} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1490385949 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1490385947} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 0 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1490385950} + m_MethodName: SetGazedAt + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 1 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1490385950} + m_MethodName: SetGazedAt + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1490385950} + m_MethodName: TeleportRandomly + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + delegates: + - eventID: 0 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1490385950} + m_MethodName: SetGazedAt + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 1 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1490385950} + m_MethodName: SetGazedAt + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1490385950} + m_MethodName: TeleportRandomly + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null +--- !u!114 &1490385950 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1490385947} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b6d9412aff759420192d8dcf33f969bb, type: 3} + m_Name: + m_EditorClassIdentifier: + inactiveMaterial: {fileID: 2100000, guid: 07e4eb2033080474d8aa55e5a35d49ca, type: 2} + gazedAtMaterial: {fileID: 2100000, guid: c5f8095b20dc2423cad63ce7379784d7, type: 2} +--- !u!135 &1490385954 +SphereCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1490385947} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.499999 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1490385955 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1490385947} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: c5f8095b20dc2423cad63ce7379784d7, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!33 &1490385956 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1490385947} + m_Mesh: {fileID: 4300000, guid: 137df3466902d424983627567b86735e, type: 3} +--- !u!82 &1490385957 +AudioSource: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1490385947} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 1 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 +--- !u!1 &1725746395 stripped +GameObject: + m_PrefabParentObject: {fileID: 1251124450334416, guid: c12db6ac95da443448d6aa9e4cfc66c0, + type: 2} + m_PrefabInternal: {fileID: 873428114} diff --git a/Assets/GoogleVR/Demos/Scenes/HelloVR.unity.meta b/Assets/GoogleVR/Demos/Scenes/HelloVR.unity.meta new file mode 100644 index 0000000..d82116b --- /dev/null +++ b/Assets/GoogleVR/Demos/Scenes/HelloVR.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bb36d2905dc634f1c9eecb35beecaca8 +timeCreated: 1479266156 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scenes/KeyboardDemo.unity b/Assets/GoogleVR/Demos/Scenes/KeyboardDemo.unity new file mode 100644 index 0000000..4be00fb --- /dev/null +++ b/Assets/GoogleVR/Demos/Scenes/KeyboardDemo.unity @@ -0,0 +1,1312 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.52205884, g: 0.52205884, b: 0.52205884, a: 1} + m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 8 + m_Resolution: 1 + m_BakeResolution: 1 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 0 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_LightingDataAsset: {fileID: 0} + m_ShadowMaskMode: 2 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666666 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!114 &34730832 stripped +MonoBehaviour: + m_PrefabParentObject: {fileID: 150179061, guid: f4cf01cab04054926935acc7cb25b7f5, + type: 2} + m_PrefabInternal: {fileID: 586914243} + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} +--- !u!1001 &145785651 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1788732883, guid: 3b7eeb268f8424f809fc34c33b2a6820, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1788732883, guid: 3b7eeb268f8424f809fc34c33b2a6820, type: 2} + propertyPath: m_LocalPosition.y + value: 1.39 + objectReference: {fileID: 0} + - target: {fileID: 1788732883, guid: 3b7eeb268f8424f809fc34c33b2a6820, type: 2} + propertyPath: m_LocalPosition.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1788732883, guid: 3b7eeb268f8424f809fc34c33b2a6820, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1788732883, guid: 3b7eeb268f8424f809fc34c33b2a6820, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1788732883, guid: 3b7eeb268f8424f809fc34c33b2a6820, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1788732883, guid: 3b7eeb268f8424f809fc34c33b2a6820, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1788732883, guid: 3b7eeb268f8424f809fc34c33b2a6820, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 2044164019, guid: 3b7eeb268f8424f809fc34c33b2a6820, type: 2} + propertyPath: KeyboardText + value: + objectReference: {fileID: 34730832} + - target: {fileID: 2044164019, guid: 3b7eeb268f8424f809fc34c33b2a6820, type: 2} + propertyPath: UpdateButton + value: + objectReference: {fileID: 1053603994} + - target: {fileID: 2044164019, guid: 3b7eeb268f8424f809fc34c33b2a6820, type: 2} + propertyPath: UpdateCanvas + value: + objectReference: {fileID: 1202287596} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 3b7eeb268f8424f809fc34c33b2a6820, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &251127252 stripped +GameObject: + m_PrefabParentObject: {fileID: 198490, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + m_PrefabInternal: {fileID: 1256067701} +--- !u!1001 &264186650 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 776074203} + m_Modifications: + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 232 + objectReference: {fileID: 0} + - target: {fileID: 1570307092, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 239 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 151.5 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -37.5 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 239 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 75 + objectReference: {fileID: 0} + - target: {fileID: 1391176726, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1391176726, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1391176726, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 131 + objectReference: {fileID: 0} + - target: {fileID: 1391176726, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -37.5 + objectReference: {fileID: 0} + - target: {fileID: 1391176726, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 232 + objectReference: {fileID: 0} + - target: {fileID: 1391176726, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 35 + objectReference: {fileID: 0} + - target: {fileID: 611905283, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 303 + objectReference: {fileID: 0} + - target: {fileID: 575330312, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 269 + objectReference: {fileID: 0} + - target: {fileID: 233679933, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 296 + objectReference: {fileID: 0} + - target: {fileID: 780855531, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 262 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 148 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -37.5 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 75 + objectReference: {fileID: 0} + - target: {fileID: 1570307092, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1570307092, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1570307092, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 134.5 + objectReference: {fileID: 0} + - target: {fileID: 1570307092, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -37.5 + objectReference: {fileID: 0} + - target: {fileID: 1570307092, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 35 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: -0.00000004371139 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: -0.00000004371139 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 163 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -39 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 262 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 78 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 262 + objectReference: {fileID: 0} + - target: {fileID: 1124067406, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1124067406, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: -0.00000004371139 + objectReference: {fileID: 0} + - target: {fileID: 1695027285, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1695027285, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: -0.00000004371139 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 163 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -39 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 78 + objectReference: {fileID: 0} + - target: {fileID: 1133103780, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 326 + objectReference: {fileID: 0} + - target: {fileID: 1045868163, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 326 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &264186651 stripped +Transform: + m_PrefabParentObject: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, + type: 2} + m_PrefabInternal: {fileID: 264186650} +--- !u!1001 &287129849 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &328517437 stripped +GameObject: + m_PrefabParentObject: {fileID: 555767533, guid: 34c21f523e72f45509a4e37ed0293c3b, + type: 2} + m_PrefabInternal: {fileID: 264186650} +--- !u!1 &356297968 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 356297969} + - component: {fileID: 356297971} + - component: {fileID: 356297970} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &356297969 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 356297968} + 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_Children: [] + m_Father: {fileID: 1053603995} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &356297970 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 356297968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 4eedafad5084240419e649245c7b2093, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Click here to update the Daydream Keyboard from the Play Store. + + This application will be closed for changes to take effect.' +--- !u!222 &356297971 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 356297968} +--- !u!1001 &407592334 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 776074203} + m_Modifications: + - target: {fileID: 642702418, guid: 6c99596fcbe574b168ae0faa3afe8546, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 642702418, guid: 6c99596fcbe574b168ae0faa3afe8546, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 642702418, guid: 6c99596fcbe574b168ae0faa3afe8546, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 642702418, guid: 6c99596fcbe574b168ae0faa3afe8546, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 642702418, guid: 6c99596fcbe574b168ae0faa3afe8546, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 642702418, guid: 6c99596fcbe574b168ae0faa3afe8546, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 642702418, guid: 6c99596fcbe574b168ae0faa3afe8546, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 642702418, guid: 6c99596fcbe574b168ae0faa3afe8546, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1260534185, guid: 6c99596fcbe574b168ae0faa3afe8546, type: 2} + propertyPath: keyboardDelegate + value: + objectReference: {fileID: 1762758481} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 6c99596fcbe574b168ae0faa3afe8546, type: 2} + m_IsPrefabParent: 0 +--- !u!114 &407592335 stripped +MonoBehaviour: + m_PrefabParentObject: {fileID: 1260534185, guid: 6c99596fcbe574b168ae0faa3afe8546, + type: 2} + m_PrefabInternal: {fileID: 407592334} + m_Script: {fileID: 11500000, guid: 573e2b04dc4734d68a2b6747421ce0bc, type: 3} +--- !u!1001 &586914243 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_LocalPosition.z + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_AnchoredPosition.y + value: 1.51 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 313390157, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 114000011779369860, guid: f4cf01cab04054926935acc7cb25b7f5, + type: 2} + propertyPath: m_Delegates.Array.data[0].callback.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 407592335} + - target: {fileID: 890278573, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_Delegates.Array.data[0].callback.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 407592335} + - target: {fileID: 890278573, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + propertyPath: m_Delegates.Array.data[0].callback.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: OnPointerClick + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: f4cf01cab04054926935acc7cb25b7f5, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &776074202 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 776074203} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &776074203 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 776074202} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1426624148} + - {fileID: 264186651} + - {fileID: 857240305} + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &857240305 stripped +Transform: + m_PrefabParentObject: {fileID: 642702418, guid: 6c99596fcbe574b168ae0faa3afe8546, + type: 2} + m_PrefabInternal: {fileID: 407592334} +--- !u!1 &1053603994 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1053603995} + - component: {fileID: 1053603998} + - component: {fileID: 1053603997} + m_Layer: 5 + m_Name: UpdateButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1053603995 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1053603994} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.1, z: 0} + m_Children: + - {fileID: 356297969} + m_Father: {fileID: 1202287597} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 450, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1053603997 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1053603994} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1053603998 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1053603994} +--- !u!1 &1202287594 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1202287597} + - component: {fileID: 1202287596} + - component: {fileID: 1202287595} + - component: {fileID: 1202287599} + - component: {fileID: 1202287598} + - component: {fileID: 1202287600} + m_Layer: 5 + m_Name: UpdateCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1202287595 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1202287594} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1202287596 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1202287594} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1202287597 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1202287594} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_Children: + - {fileID: 1053603995} + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0.5} + m_SizeDelta: {x: 450, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!65 &1202287598 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1202287594} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 160, y: 30, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &1202287599 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1202287594} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 739800cd36aba44e9b04ce977e5784bd, type: 3} + m_Name: + m_EditorClassIdentifier: + ignoreReversedGraphics: 1 + blockingObjects: 0 + blockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1202287600 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1202287594} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1762758481} + m_MethodName: LaunchPlayStore + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + delegates: [] +--- !u!1001 &1256067701 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1426624147 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100006, guid: b8b03d395f5734e98af91ccf44f9bf47, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1426624148} + - component: {fileID: 1426624154} + - component: {fileID: 1426624153} + - component: {fileID: 1426624152} + - component: {fileID: 1426624151} + - component: {fileID: 1426624149} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1426624148 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400006, guid: b8b03d395f5734e98af91ccf44f9bf47, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1426624147} + 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_Children: [] + m_Father: {fileID: 776074203} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1426624149 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1426624147} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eb5dd43baba2d4dc1bab789615567e3d, type: 3} + m_Name: + m_EditorClassIdentifier: + raycasterEventMask: + serializedVersion: 2 + m_Bits: 4294967295 + maxRaycastHits: 64 +--- !u!81 &1426624151 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1426624147} + m_Enabled: 1 +--- !u!92 &1426624152 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 9200004, guid: b8b03d395f5734e98af91ccf44f9bf47, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1426624147} + m_Enabled: 1 +--- !u!124 &1426624153 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 12400004, guid: b8b03d395f5734e98af91ccf44f9bf47, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1426624147} + m_Enabled: 1 +--- !u!20 &1426624154 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2000004, guid: b8b03d395f5734e98af91ccf44f9bf47, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1426624147} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.03 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!114 &1762758481 stripped +MonoBehaviour: + m_PrefabParentObject: {fileID: 2044164019, guid: 3b7eeb268f8424f809fc34c33b2a6820, + type: 2} + m_PrefabInternal: {fileID: 145785651} + m_Script: {fileID: 11500000, guid: ff12693eea0a446d0a2183f2ffe9c711, type: 3} +--- !u!1001 &1782151970 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.x + value: 6.66 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.y + value: 10.48 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.z + value: 22.1 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalScale.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalScale.y + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalScale.z + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1813120017 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalPosition.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalPosition.z + value: 2.65 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 1000013165000468, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_Name + value: CubeRoom + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2083503156 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2146255331 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalPosition.y + value: 0.75 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 11499020, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: controllerPointer + value: + objectReference: {fileID: 328517437} + - target: {fileID: 11499020, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: controllerMain + value: + objectReference: {fileID: 251127252} + - target: {fileID: 11499020, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: gvrEmulatedPlatformType + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 22412244, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 22450954, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 162814, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 156300, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 152284, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 22484034, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + m_IsPrefabParent: 0 diff --git a/Assets/GoogleVR/Demos/Scenes/KeyboardDemo.unity.meta b/Assets/GoogleVR/Demos/Scenes/KeyboardDemo.unity.meta new file mode 100644 index 0000000..56d9fc1 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scenes/KeyboardDemo.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2a44fd944cf574740a8f88ff7e39a487 +timeCreated: 1462053048 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scenes/PermissionsDemo.unity b/Assets/GoogleVR/Demos/Scenes/PermissionsDemo.unity new file mode 100644 index 0000000..64964b1 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scenes/PermissionsDemo.unity @@ -0,0 +1,1333 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.52205884, g: 0.52205884, b: 0.52205884, a: 1} + m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 8 + m_Resolution: 1 + m_BakeResolution: 1 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 0 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_LightingDataAsset: {fileID: 0} + m_ShadowMaskMode: 2 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666666 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &131903535 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 131903536} + - component: {fileID: 131903538} + - component: {fileID: 131903537} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &131903536 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 131903535} + 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_Children: [] + m_Father: {fileID: 2074592651} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &131903537 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 131903535} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 14 + m_MaxSize: 100 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Check Permissions + +' +--- !u!222 &131903538 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 131903535} +--- !u!1 &315306579 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1000012686666070, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 315306580} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &315306580 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4000013688036312, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 315306579} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1169727707} + - {fileID: 2052711629} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &791716530 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 791716531} + - component: {fileID: 791716533} + - component: {fileID: 791716532} + m_Layer: 5 + m_Name: statusText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &791716531 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 791716530} + 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_Children: [] + m_Father: {fileID: 1539010511} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.8} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 10.389648} + m_SizeDelta: {x: 0, y: -20.779297} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &791716532 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 791716530} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.007355185, g: 0.007352948, b: 0.0075151455, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 14 + m_MaxSize: 300 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Status message here +--- !u!222 &791716533 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 791716530} +--- !u!1 &1169727706 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1000013898728406, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1169727707} + - component: {fileID: 1169727711} + - component: {fileID: 1169727710} + - component: {fileID: 1169727709} + - component: {fileID: 1169727708} + - component: {fileID: 1169727712} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1169727707 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4000012758055044, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1169727706} + 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_Children: [] + m_Father: {fileID: 315306580} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!81 &1169727708 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 81000012204441624, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1169727706} + m_Enabled: 1 +--- !u!124 &1169727709 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 124000011034162428, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1169727706} + m_Enabled: 1 +--- !u!92 &1169727710 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 92000012055723544, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1169727706} + m_Enabled: 1 +--- !u!20 &1169727711 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 20000012629144268, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1169727706} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.05 + far clip plane: 100 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!114 &1169727712 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1169727706} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eb5dd43baba2d4dc1bab789615567e3d, type: 3} + m_Name: + m_EditorClassIdentifier: + raycasterEventMask: + serializedVersion: 2 + m_Bits: 4294967295 + maxRaycastHits: 64 +--- !u!1001 &1256067701 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1269305834 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000010917943472, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1525616791 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1525616792} + - component: {fileID: 1525616794} + - component: {fileID: 1525616793} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1525616792 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525616791} + 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_Children: [] + m_Father: {fileID: 1914650518} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1525616793 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525616791} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 14 + m_MaxSize: 100 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Request Permission +--- !u!222 &1525616794 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525616791} +--- !u!1 &1539010504 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1539010511} + - component: {fileID: 1539010510} + - component: {fileID: 1539010509} + - component: {fileID: 1539010507} + - component: {fileID: 1539010505} + - component: {fileID: 1539010506} + m_Layer: 5 + m_Name: main_menu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1539010505 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539010504} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e8df902e7cb54f57bd1492b46fbe33d, type: 3} + m_Name: + m_EditorClassIdentifier: + statusText: {fileID: 791716532} +--- !u!114 &1539010506 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539010504} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 739800cd36aba44e9b04ce977e5784bd, type: 3} + m_Name: + m_EditorClassIdentifier: + ignoreReversedGraphics: 1 + blockingObjects: 0 + blockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1539010507 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539010504} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -2095666955, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_StartCorner: 0 + m_StartAxis: 1 + m_CellSize: {x: 1024, y: 512} + m_Spacing: {x: 100, y: 100} + m_Constraint: 0 + m_ConstraintCount: 3 +--- !u!114 &1539010509 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539010504} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1539010510 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539010504} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1539010511 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539010504} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 2.5} + m_LocalScale: {x: 0.001, y: 0.001, z: 1} + m_Children: + - {fileID: 791716531} + - {fileID: 2074592651} + - {fileID: 1914650518} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 1.5} + m_SizeDelta: {x: 4096, y: 2048} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1001 &1782151970 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.x + value: 6.66 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.y + value: 10.48 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.z + value: 22.1 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalScale.x + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalScale.y + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalScale.z + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1914650517 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1914650518} + - component: {fileID: 1914650521} + - component: {fileID: 1914650520} + - component: {fileID: 1914650519} + m_Layer: 5 + m_Name: permReq + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1914650518 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1914650517} + 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_Children: + - {fileID: 1525616792} + m_Father: {fileID: 1539010511} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.2, y: 0.1} + m_AnchorMax: {x: 0.8, y: 0.3} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1914650519 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1914650517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.678, g: 0.678, b: 0.678, a: 1} + m_PressedColor: {r: 0.366, g: 0.366, b: 0.366, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1914650520} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1539010505} + m_MethodName: RequestPermissions + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1914650520 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1914650517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1914650521 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1914650517} +--- !u!1001 &1945385070 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2052711628 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 315306580} + m_Modifications: + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 142.5 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -37.5 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 232 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 35 + objectReference: {fileID: 0} + - target: {fileID: 1391176726, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1391176726, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1391176726, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 131 + objectReference: {fileID: 0} + - target: {fileID: 1391176726, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -37.5 + objectReference: {fileID: 0} + - target: {fileID: 1391176726, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 232 + objectReference: {fileID: 0} + - target: {fileID: 1391176726, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 35 + objectReference: {fileID: 0} + - target: {fileID: 1570307092, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1570307092, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1570307092, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 134.5 + objectReference: {fileID: 0} + - target: {fileID: 1570307092, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -37.5 + objectReference: {fileID: 0} + - target: {fileID: 1570307092, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 35 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 146 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -37.5 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 35 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 239 + objectReference: {fileID: 0} + - target: {fileID: 611905283, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 292 + objectReference: {fileID: 0} + - target: {fileID: 780855531, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 262 + objectReference: {fileID: 0} + - target: {fileID: 1570307092, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 239 + objectReference: {fileID: 0} + - target: {fileID: 575330312, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 269 + objectReference: {fileID: 0} + - target: {fileID: 233679933, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 285 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 146 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -37.5 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 262 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 35 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 142.5 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -37.5 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 255 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 35 + objectReference: {fileID: 0} + - target: {fileID: 1124067406, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1124067406, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: -0.00000004371139 + objectReference: {fileID: 0} + - target: {fileID: 1124067406, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.z + value: 28.000002 + objectReference: {fileID: 0} + - target: {fileID: 1695027285, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1695027285, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: -0.00000004371139 + objectReference: {fileID: 0} + - target: {fileID: 1695027285, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.z + value: 28.000002 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: -0.00000004371139 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: -0.00000004371139 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &2052711629 stripped +Transform: + m_PrefabParentObject: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, + type: 2} + m_PrefabInternal: {fileID: 2052711628} +--- !u!1001 &2064780011 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 1000013165000468, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_Name + value: CubeRoom + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &2074592650 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2074592651} + - component: {fileID: 2074592654} + - component: {fileID: 2074592653} + - component: {fileID: 2074592652} + m_Layer: 5 + m_Name: permCheck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2074592651 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2074592650} + 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_Children: + - {fileID: 131903536} + m_Father: {fileID: 1539010511} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.2, y: 0.4} + m_AnchorMax: {x: 0.8, y: 0.6} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2074592652 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2074592650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.678, g: 0.678, b: 0.678, a: 1} + m_PressedColor: {r: 0.366, g: 0.366, b: 0.366, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2074592653} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1539010505} + m_MethodName: CheckPermission + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &2074592653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2074592650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2074592654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2074592650} diff --git a/Assets/GoogleVR/Demos/Scenes/PermissionsDemo.unity.meta b/Assets/GoogleVR/Demos/Scenes/PermissionsDemo.unity.meta new file mode 100644 index 0000000..8f03fad --- /dev/null +++ b/Assets/GoogleVR/Demos/Scenes/PermissionsDemo.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5d5572a3735414cc9ad53b169fe2c7e8 +timeCreated: 1462053048 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scenes/VideoDemo.unity b/Assets/GoogleVR/Demos/Scenes/VideoDemo.unity new file mode 100644 index 0000000..680a2ea --- /dev/null +++ b/Assets/GoogleVR/Demos/Scenes/VideoDemo.unity @@ -0,0 +1,2966 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.4465934, g: 0.49642956, b: 0.5748249, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 8 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 1 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_LightingDataAsset: {fileID: 0} + m_ShadowMaskMode: 2 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &6057441 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &22693479 stripped +GameObject: + m_PrefabParentObject: {fileID: 1596676483, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + m_PrefabInternal: {fileID: 924548008} +--- !u!114 &22693480 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 22693479} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 739800cd36aba44e9b04ce977e5784bd, type: 3} + m_Name: + m_EditorClassIdentifier: + ignoreReversedGraphics: 1 + blockingObjects: 0 + blockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &37604804 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 37604810} + - component: {fileID: 37604809} + - component: {fileID: 37604807} + - component: {fileID: 37604805} + - component: {fileID: 37604806} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &37604805 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 37604804} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 410d5a91205334dda9fd1bf3d325809a, type: 3} + m_Name: + m_EditorClassIdentifier: + statusText: {fileID: 1513988326} + videoType: 0 + videoURL: https://storage.googleapis.com/daydream-deveng.appspot.com/japan360/dash/japan_day06_eagle2_shot0005-2880px_40000kbps.mpd + videoContentID: + videoProviderId: + initialResolution: 4096 + adjustAspectRatio: 0 + useSecurePath: 0 +--- !u!114 &37604806 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 37604804} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2e71f5afb881f443bbce909fe451d8fe, type: 3} + m_Name: + m_EditorClassIdentifier: + delay: 2 + loop: 1 +--- !u!23 &37604807 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 37604804} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 38722f7e29e284a8bb3a91c83a5b8848, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!33 &37604809 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 37604804} + m_Mesh: {fileID: 4300000, guid: 4a941ed6f14aa451d94ed905031bbe00, type: 3} +--- !u!4 &37604810 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 37604804} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 30, y: 30, z: 30} + m_Children: [] + m_Father: {fileID: 1871412555} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &105734842 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.z + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &246932554 stripped +RectTransform: + m_PrefabParentObject: {fileID: 824776444, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + m_PrefabInternal: {fileID: 924548008} +--- !u!4 &256190490 stripped +Transform: + m_PrefabParentObject: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, + type: 2} + m_PrefabInternal: {fileID: 1023904525} +--- !u!1 &521517943 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 521517944} + - component: {fileID: 521517946} + - component: {fileID: 521517945} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &521517944 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 521517943} + 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_Children: [] + m_Father: {fileID: 1029435576} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0.000030517578, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &521517945 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 521517943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 14 + m_MaxSize: 100 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 360 Video +--- !u!222 &521517946 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 521517943} +--- !u!224 &550733486 stripped +RectTransform: + m_PrefabParentObject: {fileID: 824776444, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + m_PrefabInternal: {fileID: 842598306} +--- !u!114 &608005360 stripped +MonoBehaviour: + m_PrefabParentObject: {fileID: 1488426162, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + m_PrefabInternal: {fileID: 924548008} + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} +--- !u!1 &610495053 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 610495054} + - component: {fileID: 610495057} + - component: {fileID: 610495056} + - component: {fileID: 610495055} + m_Layer: 5 + m_Name: DashVideo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &610495054 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 610495053} + 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_Children: + - {fileID: 2121328745} + m_Father: {fileID: 1089467890} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &610495055 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 610495053} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.678, g: 0.678, b: 0.678, a: 1} + m_PressedColor: {r: 0.366, g: 0.366, b: 0.366, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 610495056} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1089467893} + m_MethodName: OnDash + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1874517429} + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &610495056 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 610495053} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &610495057 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 610495053} +--- !u!1 &614796104 stripped +GameObject: + m_PrefabParentObject: {fileID: 1596676483, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + m_PrefabInternal: {fileID: 1871991767} +--- !u!114 &614796105 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 614796104} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 739800cd36aba44e9b04ce977e5784bd, type: 3} + m_Name: + m_EditorClassIdentifier: + ignoreReversedGraphics: 1 + blockingObjects: 0 + blockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1001 &637771859 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalPosition.y + value: 0.75 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 452846, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 11499020, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: controllerMain + value: + objectReference: {fileID: 2092647916} + - target: {fileID: 11499020, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: reticlePointer + value: + objectReference: {fileID: 1755930322} + - target: {fileID: 11499020, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: controllerPointer + value: + objectReference: {fileID: 817331498} + - target: {fileID: 22484034, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + propertyPath: m_LocalPosition.z + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 8524bbe5e592a42dc9251484a73c9c7f, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &675996203 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000013984650906, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 1509313747, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 87c35d808850c410ca0e398a8da84e68, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &817331498 stripped +GameObject: + m_PrefabParentObject: {fileID: 555767533, guid: 34c21f523e72f45509a4e37ed0293c3b, + type: 2} + m_PrefabInternal: {fileID: 983149609} +--- !u!1 &831887164 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 831887165} + - component: {fileID: 831887167} + - component: {fileID: 831887166} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &831887165 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 831887164} + 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_Children: [] + m_Father: {fileID: 1525084010} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &831887166 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 831887164} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 14 + m_MaxSize: 100 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Local Video from OBB +--- !u!222 &831887167 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 831887164} +--- !u!1 &831898087 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 831898088} + - component: {fileID: 831898092} + - component: {fileID: 831898091} + - component: {fileID: 831898090} + - component: {fileID: 831898089} + m_Layer: 0 + m_Name: dashQuad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &831898088 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 831898087} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 12} + m_LocalScale: {x: 16, y: 9, z: 1} + m_Children: [] + m_Father: {fileID: 1607042465} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &831898089 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 831898087} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 410d5a91205334dda9fd1bf3d325809a, type: 3} + m_Name: + m_EditorClassIdentifier: + statusText: {fileID: 608005360} + videoType: 0 + videoURL: https://storage.googleapis.com/wvmedia/clear/h264/tears/tears_hd.mpd + videoContentID: https://storage.googleapis.com/wvmedia/clear/h264/tears/tears_hd.mpd + videoProviderId: + initialResolution: 720 + adjustAspectRatio: 1 + useSecurePath: 0 +--- !u!23 &831898090 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 831898087} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: a6f8966fc281944c1a0e624a9fb657e4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!64 &831898091 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 831898087} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &831898092 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 831898087} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1001 &842598306 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1569389537} + m_Modifications: + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2043292222, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: OnToggleOn.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalPosition.z + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchoredPosition.x + value: -0.020019531 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -0.8200073 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_SizeDelta.x + value: 2095.15 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_SizeDelta.y + value: 1918.35 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 114000013552431358, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1089467893} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1089467893} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: ShowMainMenu + objectReference: {fileID: 0} + - target: {fileID: 824776444, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2043292222, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: OnToggleOn.m_PersistentCalls.m_Calls.Array.data[1].m_Mode + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 2043292222, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: OnToggleOn.m_PersistentCalls.m_Calls.Array.data[1].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2043292222, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: OnToggleOn.m_PersistentCalls.m_Calls.Array.data[1].m_Target + value: + objectReference: {fileID: 0} + - target: {fileID: 2043292222, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: OnToggleOn.m_PersistentCalls.m_Calls.Array.data[1].m_MethodName + value: SetActive + objectReference: {fileID: 0} + - target: {fileID: 2043292222, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: OnToggleOn.m_PersistentCalls.m_Calls.Array.data[1].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 2043292222, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: OnToggleOn.m_PersistentCalls.m_Calls.Array.data[1].m_Arguments.m_BoolArgument + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Mode + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Target + value: + objectReference: {fileID: 1874517429} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_MethodName + value: SetActive + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Arguments.m_BoolArgument + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 824776444, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_AnchoredPosition.y + value: -1.13 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 421771429, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + - {fileID: 1960324903, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + m_ParentPrefab: {fileID: 100100000, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &924548008 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1607042465} + m_Modifications: + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalPosition.z + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchoredPosition.x + value: -0.020019531 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -0.8200073 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_SizeDelta.x + value: 2095.15 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_SizeDelta.y + value: 1918.35 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 114000013552431358, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1089467893} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1089467893} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: ShowMainMenu + objectReference: {fileID: 0} + - target: {fileID: 824776444, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Mode + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Target + value: + objectReference: {fileID: 1874517429} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_MethodName + value: SetActive + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Arguments.m_BoolArgument + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 824776444, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_AnchoredPosition.y + value: -1.13 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 421771429, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + - {fileID: 1960324903, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + m_ParentPrefab: {fileID: 100100000, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &965760586 stripped +Transform: + m_PrefabParentObject: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, + type: 2} + m_PrefabInternal: {fileID: 1507745461} +--- !u!1001 &983149609 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1865993514} + m_Modifications: + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1695027285, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1695027285, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: -0.00000004371139 + objectReference: {fileID: 0} + - target: {fileID: 1124067406, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1124067406, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: -0.00000004371139 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: -0.00000004371139 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_LocalRotation.w + value: -0.00000004371139 + objectReference: {fileID: 0} + - target: {fileID: 1045868163, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 326 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 163 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -39 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 262 + objectReference: {fileID: 0} + - target: {fileID: 220671212, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 78 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 163 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -39 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 262 + objectReference: {fileID: 0} + - target: {fileID: 269749299, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 78 + objectReference: {fileID: 0} + - target: {fileID: 233679933, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 296 + objectReference: {fileID: 0} + - target: {fileID: 611905283, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 303 + objectReference: {fileID: 0} + - target: {fileID: 1133103780, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 326 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 151.5 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -37.5 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 239 + objectReference: {fileID: 0} + - target: {fileID: 1150962481, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 75 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.x + value: 148 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_AnchoredPosition.y + value: -37.5 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.x + value: 232 + objectReference: {fileID: 0} + - target: {fileID: 1673994293, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + propertyPath: m_SizeDelta.y + value: 75 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 34c21f523e72f45509a4e37ed0293c3b, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &999823235 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 999823237} + - component: {fileID: 999823236} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &999823236 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 999823235} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &999823237 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 999823235} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1023904525 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1607042465} + m_Modifications: + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalPosition.y + value: -0.5 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalPosition.z + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000013363983312, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, + type: 2} + propertyPath: player + value: + objectReference: {fileID: 831898089} + - target: {fileID: 224000013448946178, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224000013182588492, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 110164717, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: player + value: + objectReference: {fileID: 831898089} + - target: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalPosition.y + value: -0.2 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_ParentPrefab: {fileID: 100100000, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1029435575 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1029435576} + - component: {fileID: 1029435579} + - component: {fileID: 1029435578} + - component: {fileID: 1029435577} + m_Layer: 5 + m_Name: Video360 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1029435576 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1029435575} + 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_Children: + - {fileID: 521517944} + m_Father: {fileID: 1089467890} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1029435577 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1029435575} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.678, g: 0.678, b: 0.678, a: 1} + m_PressedColor: {r: 0.366, g: 0.366, b: 0.366, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1029435578} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1089467893} + m_MethodName: On360Video + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1874517429} + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1029435578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1029435575} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1029435579 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1029435575} +--- !u!1001 &1047400872 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1871412555} + m_Modifications: + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalPosition.y + value: -0.5 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalPosition.z + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000013419424896, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114000013363983312, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, + type: 2} + propertyPath: player + value: + objectReference: {fileID: 37604805} + - target: {fileID: 224000013448946178, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224000013182588492, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1164402124, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1279982647, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 110164717, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: player + value: + objectReference: {fileID: 37604805} + - target: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalPosition.y + value: -0.2 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_ParentPrefab: {fileID: 100100000, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1049037166 stripped +GameObject: + m_PrefabParentObject: {fileID: 650846444, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, + type: 2} + m_PrefabInternal: {fileID: 1047400872} +--- !u!114 &1049037167 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1049037166} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a5d8d09b9e5d2437aa022780a2ce8c83, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1067184763 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1067184764} + - component: {fileID: 1067184766} + - component: {fileID: 1067184765} + m_Layer: 5 + m_Name: MissingLibMessageText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1067184764 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1067184763} + 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_Children: [] + m_Father: {fileID: 1089467890} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1067184765 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1067184763} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.30147058, g: 0.21723615, b: 0.21723615, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 100 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1067184766 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1067184763} +--- !u!1 &1089467886 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1089467890} + - component: {fileID: 1089467889} + - component: {fileID: 1089467888} + - component: {fileID: 1089467893} + - component: {fileID: 1089467891} + - component: {fileID: 1089467887} + m_Layer: 5 + m_Name: main_menu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1089467887 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1089467886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 739800cd36aba44e9b04ce977e5784bd, type: 3} + m_Name: + m_EditorClassIdentifier: + ignoreReversedGraphics: 1 + blockingObjects: 0 + blockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1089467888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1089467886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1089467889 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1089467886} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1089467890 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1089467886} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 2.5} + m_LocalScale: {x: 0.001, y: 0.001, z: 1} + m_Children: + - {fileID: 1067184764} + - {fileID: 1525084010} + - {fileID: 610495054} + - {fileID: 1029435576} + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 1.94} + m_SizeDelta: {x: 2048, y: 2048} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1089467891 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1089467886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 100 + m_Right: 100 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 1 + m_Spacing: 100 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &1089467893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1089467886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 114ed7f3f1d114a2988b1f93a233b40e, type: 3} + m_Name: + m_EditorClassIdentifier: + localVideoSample: {fileID: 1569389536} + dashVideoSample: {fileID: 1607042464} + panoVideoSample: {fileID: 1871412554} + missingLibText: {fileID: 1067184765} +--- !u!1001 &1202100361 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1483257764} + m_Modifications: + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 60270cf52a5e94998a5a335989159738, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1246015591 stripped +GameObject: + m_PrefabParentObject: {fileID: 747062055, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, + type: 2} + m_PrefabInternal: {fileID: 1023904525} +--- !u!114 &1246015593 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1246015591} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 739800cd36aba44e9b04ce977e5784bd, type: 3} + m_Name: + m_EditorClassIdentifier: + ignoreReversedGraphics: 1 + blockingObjects: 0 + blockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1446393819 stripped +MonoBehaviour: + m_PrefabParentObject: {fileID: 1488426162, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + m_PrefabInternal: {fileID: 842598306} + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} +--- !u!1 &1483257763 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1000013898728406, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1483257764} + - component: {fileID: 1483257768} + - component: {fileID: 1483257767} + - component: {fileID: 1483257766} + - component: {fileID: 1483257765} + - component: {fileID: 1483257769} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1483257764 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4000012758055044, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1483257763} + 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_Children: + - {fileID: 1755930323} + m_Father: {fileID: 1865993514} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!81 &1483257765 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 81000012204441624, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1483257763} + m_Enabled: 1 +--- !u!124 &1483257766 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 124000011034162428, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1483257763} + m_Enabled: 1 +--- !u!92 &1483257767 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 92000012055723544, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1483257763} + m_Enabled: 1 +--- !u!20 &1483257768 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 20000012629144268, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1483257763} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.03 + far clip plane: 100 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!114 &1483257769 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1483257763} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eb5dd43baba2d4dc1bab789615567e3d, type: 3} + m_Name: + m_EditorClassIdentifier: + raycasterEventMask: + serializedVersion: 2 + m_Bits: 4294967295 + maxRaycastHits: 64 +--- !u!1 &1494871195 stripped +GameObject: + m_PrefabParentObject: {fileID: 747062055, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, + type: 2} + m_PrefabInternal: {fileID: 1047400872} +--- !u!114 &1494871197 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1494871195} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 739800cd36aba44e9b04ce977e5784bd, type: 3} + m_Name: + m_EditorClassIdentifier: + ignoreReversedGraphics: 1 + blockingObjects: 0 + blockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1001 &1507745461 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1569389537} + m_Modifications: + - target: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalPosition.y + value: -0.204 + objectReference: {fileID: 0} + - target: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalPosition.z + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 110164717, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: player + value: + objectReference: {fileID: 1800537140} + - target: {fileID: 1164402124, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1279982647, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 0} + m_ParentPrefab: {fileID: 100100000, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, type: 2} + m_IsPrefabParent: 0 +--- !u!114 &1513988326 stripped +MonoBehaviour: + m_PrefabParentObject: {fileID: 1488426162, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + m_PrefabInternal: {fileID: 1871991767} + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} +--- !u!1 &1525084009 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1525084010} + - component: {fileID: 1525084013} + - component: {fileID: 1525084012} + - component: {fileID: 1525084011} + m_Layer: 5 + m_Name: FlatVideo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1525084010 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525084009} + 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_Children: + - {fileID: 831887165} + m_Father: {fileID: 1089467890} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1525084011 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525084009} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.678, g: 0.678, b: 0.678, a: 1} + m_PressedColor: {r: 0.366, g: 0.366, b: 0.366, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1525084012} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1089467893} + m_MethodName: OnFlatLocal + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 1874517429} + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1525084012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525084009} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1525084013 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525084009} +--- !u!1 &1569389536 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1569389537} + m_Layer: 5 + m_Name: obbVideoSample + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &1569389537 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1569389536} + 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_Children: + - {fileID: 1800537138} + - {fileID: 965760586} + - {fileID: 550733486} + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1607042464 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1607042465} + m_Layer: 5 + m_Name: dashVideoSample + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &1607042465 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1607042464} + 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_Children: + - {fileID: 831898088} + - {fileID: 256190490} + - {fileID: 246932554} + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1755930322 stripped +GameObject: + m_PrefabParentObject: {fileID: 171526, guid: 60270cf52a5e94998a5a335989159738, type: 2} + m_PrefabInternal: {fileID: 1202100361} +--- !u!4 &1755930323 stripped +Transform: + m_PrefabParentObject: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + m_PrefabInternal: {fileID: 1202100361} +--- !u!1 &1785203824 stripped +GameObject: + m_PrefabParentObject: {fileID: 1596676483, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + m_PrefabInternal: {fileID: 842598306} +--- !u!114 &1785203825 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1785203824} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 739800cd36aba44e9b04ce977e5784bd, type: 3} + m_Name: + m_EditorClassIdentifier: + ignoreReversedGraphics: 1 + blockingObjects: 0 + blockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &1800537137 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1800537138} + - component: {fileID: 1800537143} + - component: {fileID: 1800537142} + - component: {fileID: 1800537141} + - component: {fileID: 1800537140} + - component: {fileID: 1800537139} + m_Layer: 0 + m_Name: obbQuad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1800537138 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1800537137} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 12} + m_LocalScale: {x: 16, y: 9, z: 1} + m_Children: [] + m_Father: {fileID: 1569389537} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1800537139 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1800537137} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2e71f5afb881f443bbce909fe451d8fe, type: 3} + m_Name: + m_EditorClassIdentifier: + delay: 2 + loop: 1 +--- !u!114 &1800537140 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1800537137} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 410d5a91205334dda9fd1bf3d325809a, type: 3} + m_Name: + m_EditorClassIdentifier: + statusText: {fileID: 1446393819} + videoType: 3 + videoURL: jar:file://${Application.dataPath}!/assets/vid_bigbuckbunny.mp4 + videoContentID: + videoProviderId: + initialResolution: 4096 + adjustAspectRatio: 1 + useSecurePath: 0 +--- !u!23 &1800537141 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1800537137} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: a3bbe11c576194adba41e6f574dda321, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!64 &1800537142 +MeshCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1800537137} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Convex: 0 + m_InflateMesh: 0 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1800537143 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1800537137} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1865522642 stripped +Transform: + m_PrefabParentObject: {fileID: 1820761120, guid: 34c21f523e72f45509a4e37ed0293c3b, + type: 2} + m_PrefabInternal: {fileID: 983149609} +--- !u!1 &1865993513 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1000012686666070, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1865993514} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1865993514 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4000013688036312, guid: 1aacf4cab39834d61b61851193126b3a, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1865993513} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.33, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1483257764} + - {fileID: 1865522642} + m_Father: {fileID: 0} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1871412554 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1871412555} + m_Layer: 5 + m_Name: panoVideoSample + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &1871412555 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1871412554} + 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_Children: + - {fileID: 37604810} + - {fileID: 2085061181} + - {fileID: 2060127210} + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1871991767 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1871412555} + m_Modifications: + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalPosition.z + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchoredPosition.x + value: -0.02 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -0.82 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_SizeDelta.x + value: 2095.15 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_SizeDelta.y + value: 1918.35 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224000013403576284, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 114000013552431358, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1089467893} + - target: {fileID: 1488426162, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_Text + value: THIS IS THE VIDEO INFO + objectReference: {fileID: 0} + - target: {fileID: 1225916774, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_AnchoredPosition.y + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1089467893} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: ShowMainMenu + objectReference: {fileID: 0} + - target: {fileID: 824776444, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Mode + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Target + value: + objectReference: {fileID: 1874517429} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_MethodName + value: SetActive + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 169017167, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Arguments.m_BoolArgument + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 824776444, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + propertyPath: m_AnchoredPosition.y + value: -1.13 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 421771429, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + - {fileID: 1960324903, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + m_ParentPrefab: {fileID: 100100000, guid: 421f38d36955b4473b99800e7cc5ee37, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1874517428 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000014274899290, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 1000013165000468, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + propertyPath: m_Name + value: CubeRoom + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: c12db6ac95da443448d6aa9e4cfc66c0, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1874517429 stripped +GameObject: + m_PrefabParentObject: {fileID: 1000013165000468, guid: c12db6ac95da443448d6aa9e4cfc66c0, + type: 2} + m_PrefabInternal: {fileID: 1874517428} +--- !u!1001 &1878185664 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &2060127210 stripped +RectTransform: + m_PrefabParentObject: {fileID: 824776444, guid: 421f38d36955b4473b99800e7cc5ee37, + type: 2} + m_PrefabInternal: {fileID: 1871991767} +--- !u!4 &2085061181 stripped +Transform: + m_PrefabParentObject: {fileID: 2079246903, guid: 1a62dfff2c15946c6a3caf52aef4bcf4, + type: 2} + m_PrefabInternal: {fileID: 1047400872} +--- !u!1 &2092647916 stripped +GameObject: + m_PrefabParentObject: {fileID: 198490, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + m_PrefabInternal: {fileID: 6057441} +--- !u!1 &2121328744 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2121328745} + - component: {fileID: 2121328747} + - component: {fileID: 2121328746} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2121328745 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2121328744} + 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_Children: [] + m_Father: {fileID: 610495054} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2121328746 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2121328744} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 14 + m_MaxSize: 100 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: DASH Video on GCS +--- !u!222 &2121328747 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2121328744} diff --git a/Assets/GoogleVR/Demos/Scenes/VideoDemo.unity.meta b/Assets/GoogleVR/Demos/Scenes/VideoDemo.unity.meta new file mode 100644 index 0000000..f229b57 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scenes/VideoDemo.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c79d901ffb34f428eadaa3a7269a6c7c +timeCreated: 1479427319 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts.meta b/Assets/GoogleVR/Demos/Scripts.meta new file mode 100644 index 0000000..91ed2a9 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e10df0011ef35a242818a776f79d394c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/DemoInputManager.cs b/Assets/GoogleVR/Demos/Scripts/DemoInputManager.cs new file mode 100644 index 0000000..beedb1a --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/DemoInputManager.cs @@ -0,0 +1,350 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +#if UNITY_ANDROID && !UNITY_EDITOR +#define RUNNING_ON_ANDROID_DEVICE +#endif // UNITY_ANDROID && !UNITY_EDITOR + +namespace GoogleVR.Demos { + using UnityEngine; + using UnityEngine.UI; + using System; + +#if UNITY_2017_2_OR_NEWER + using UnityEngine.XR; +#else + using XRSettings = UnityEngine.VR.VRSettings; +#endif // UNITY_2017_2_OR_NEWER + + public class DemoInputManager : MonoBehaviour { + private const string MESSAGE_CANVAS_NAME = "MessageCanvas"; + private const string MESSAGE_TEXT_NAME = "MessageText"; + private const string LASER_GAMEOBJECT_NAME = "Laser"; + + private const string CONTROLLER_CONNECTING_MESSAGE = "Controller connecting..."; + private const string CONTROLLER_DISCONNECTED_MESSAGE = "Controller disconnected"; + private const string CONTROLLER_SCANNING_MESSAGE = "Controller scanning..."; + private const string NON_GVR_PLATFORM = + "Please select a supported Google VR platform via 'Build Settings > Android | iOS > Switch Platform'\n"; + private const string VR_SUPPORT_NOT_CHECKED = + "Please make sure 'Player Settings > Virtual Reality Supported' is checked\n"; + private const string EMPTY_VR_SDK_WARNING_MESSAGE = + "Please add 'Daydream' or 'Cardboard' under 'Player Settings > Virtual Reality SDKs'\n"; + + // Java class, method, and field constants. + private const int ANDROID_MIN_DAYDREAM_API = 24; + private const string FIELD_SDK_INT = "SDK_INT"; + private const string PACKAGE_BUILD_VERSION = "android.os.Build$VERSION"; + private const string PACKAGE_DAYDREAM_API_CLASS = "com.google.vr.ndk.base.DaydreamApi"; + private const string METHOD_IS_DAYDREAM_READY = "isDaydreamReadyPlatform"; + + private bool isDaydream = false; + private int activeControllerPointer = 0; + private static GvrControllerHand[] AllHands = { + GvrControllerHand.Right, + GvrControllerHand.Left, + }; + + [Tooltip("Reference to GvrControllerMain")] + public GameObject controllerMain; + public static string CONTROLLER_MAIN_PROP_NAME = "controllerMain"; + + [Tooltip("Reference to GvrControllerPointers")] + public GameObject[] controllerPointers; + public static string CONTROLLER_POINTER_PROP_NAME = "controllerPointers"; + + [Tooltip("Reference to GvrReticlePointer")] + public GameObject reticlePointer; + public static string RETICLE_POINTER_PROP_NAME = "reticlePointer"; + + public GameObject messageCanvas; + public Text messageText; + +#if !RUNNING_ON_ANDROID_DEVICE + public enum EmulatedPlatformType { + Daydream, + Cardboard + } + [Tooltip("Emulated GVR Platform")] + public EmulatedPlatformType gvrEmulatedPlatformType = EmulatedPlatformType.Daydream; + public static string EMULATED_PLATFORM_PROP_NAME = "gvrEmulatedPlatformType"; +#else + // Running on an Android device. + private GvrSettings.ViewerPlatformType viewerPlatform; +#endif // !RUNNING_ON_ANDROID_DEVICE + + void Start() { + if (messageCanvas == null) { + messageCanvas = transform.Find(MESSAGE_CANVAS_NAME).gameObject; + if (messageCanvas != null) { + messageText = messageCanvas.transform.Find(MESSAGE_TEXT_NAME).GetComponent(); + } + } + // Message canvas will be enabled later when there's a message to display. + messageCanvas.SetActive(false); +#if !RUNNING_ON_ANDROID_DEVICE + if (playerSettingsHasDaydream() || playerSettingsHasCardboard()) { + // The list is populated with valid VR SDK(s), pick the first one. + gvrEmulatedPlatformType = + (XRSettings.supportedDevices[0] == GvrSettings.VR_SDK_DAYDREAM) ? + EmulatedPlatformType.Daydream : + EmulatedPlatformType.Cardboard; + } + isDaydream = (gvrEmulatedPlatformType == EmulatedPlatformType.Daydream); +#else + // Running on an Android device. + viewerPlatform = GvrSettings.ViewerPlatform; + // First loaded device in Player Settings. + string vrDeviceName = XRSettings.loadedDeviceName; + if (vrDeviceName != GvrSettings.VR_SDK_CARDBOARD && + vrDeviceName != GvrSettings.VR_SDK_DAYDREAM) { + Debug.LogErrorFormat("Loaded device was '{0}', must be one of '{1}' or '{2}'", + vrDeviceName, GvrSettings.VR_SDK_DAYDREAM, GvrSettings.VR_SDK_CARDBOARD); + return; + } + + // On a non-Daydream ready phone, fall back to Cardboard if it's present in the list of + // enabled VR SDKs. + // On a Daydream-ready phone, go into Cardboard mode if it's the currently-paired viewer. + if ((!IsDeviceDaydreamReady() && playerSettingsHasCardboard()) || + (IsDeviceDaydreamReady() && playerSettingsHasCardboard() && + GvrSettings.ViewerPlatform == GvrSettings.ViewerPlatformType.Cardboard)) { + vrDeviceName = GvrSettings.VR_SDK_CARDBOARD; + } + isDaydream = (vrDeviceName == GvrSettings.VR_SDK_DAYDREAM); +#endif // !RUNNING_ON_ANDROID_DEVICE + SetVRInputMechanism(); + } + + // Runtime switching enabled only in-editor. + void Update() { + UpdateStatusMessage(); + + // Scan all devices' buttons for button down, and switch the singleton pointer + // to the controller the user last clicked. + int newPointer = activeControllerPointer; + + if (controllerPointers.Length > 1 && controllerPointers[1] != null) { + // Buttons that can trigger pointer switching. + GvrControllerButton buttonMask = GvrControllerButton.App | GvrControllerButton.TouchPadButton; + GvrTrackedController trackedController1 = controllerPointers[1].GetComponent(); + foreach (var hand in AllHands) { + GvrControllerInputDevice device = GvrControllerInput.GetDevice(hand); + if (device.GetButtonDown(buttonMask)) { + // Match the button to our own controllerPointers list. + if (device == trackedController1.ControllerInputDevice) { + newPointer = 1; + } else { + newPointer = 0; + } + break; + } + } + } + if (newPointer != activeControllerPointer) { + activeControllerPointer = newPointer; + SetVRInputMechanism(); + } + +#if !RUNNING_ON_ANDROID_DEVICE + UpdateEmulatedPlatformIfPlayerSettingsChanged(); + if ((isDaydream && gvrEmulatedPlatformType == EmulatedPlatformType.Daydream) || + (!isDaydream && gvrEmulatedPlatformType == EmulatedPlatformType.Cardboard)) { + return; + } + isDaydream = (gvrEmulatedPlatformType == EmulatedPlatformType.Daydream); + SetVRInputMechanism(); +#else + // Running on an Android device. + // Viewer type switched at runtime. + if (!IsDeviceDaydreamReady() || viewerPlatform == GvrSettings.ViewerPlatform) { + return; + } + isDaydream = (GvrSettings.ViewerPlatform == GvrSettings.ViewerPlatformType.Daydream); + viewerPlatform = GvrSettings.ViewerPlatform; + SetVRInputMechanism(); +#endif // !RUNNING_ON_ANDROID_DEVICE + } + + public bool IsCurrentlyDaydream() { + return isDaydream; + } + + public static bool playerSettingsHasDaydream() { + string[] playerSettingsVrSdks = XRSettings.supportedDevices; + return Array.Exists(playerSettingsVrSdks, + element => element.Equals(GvrSettings.VR_SDK_DAYDREAM)); + } + + public static bool playerSettingsHasCardboard() { + string[] playerSettingsVrSdks = XRSettings.supportedDevices; + return Array.Exists(playerSettingsVrSdks, + element => element.Equals(GvrSettings.VR_SDK_CARDBOARD)); + } + +#if !RUNNING_ON_ANDROID_DEVICE + private void UpdateEmulatedPlatformIfPlayerSettingsChanged() { + if (!playerSettingsHasDaydream() && !playerSettingsHasCardboard()) { + return; + } + + // Player Settings > VR SDK list may have changed at runtime. The emulated platform + // may not have been manually updated if that's the case. + if (gvrEmulatedPlatformType == EmulatedPlatformType.Daydream && + !playerSettingsHasDaydream()) { + gvrEmulatedPlatformType = EmulatedPlatformType.Cardboard; + } else if (gvrEmulatedPlatformType == EmulatedPlatformType.Cardboard && + !playerSettingsHasCardboard()) { + gvrEmulatedPlatformType = EmulatedPlatformType.Daydream; + } + } +#endif // !RUNNING_ON_ANDROID_DEVICE + +#if RUNNING_ON_ANDROID_DEVICE + // Running on an Android device. + private static bool IsDeviceDaydreamReady() { + // Check API level. + using (var version = new AndroidJavaClass(PACKAGE_BUILD_VERSION)) { + if (version.GetStatic(FIELD_SDK_INT) < ANDROID_MIN_DAYDREAM_API) { + return false; + } + } + // API level > 24, check whether the device is Daydream-ready.. + AndroidJavaObject androidActivity = null; + try { + androidActivity = GvrActivityHelper.GetActivity(); + } catch (AndroidJavaException e) { + Debug.LogError("Exception while connecting to the Activity: " + e); + return false; + } + AndroidJavaClass daydreamApiClass = new AndroidJavaClass(PACKAGE_DAYDREAM_API_CLASS); + if (daydreamApiClass == null || androidActivity == null) { + return false; + } + return daydreamApiClass.CallStatic(METHOD_IS_DAYDREAM_READY, androidActivity); + } +#endif // RUNNING_ON_ANDROID_DEVICE + + private void UpdateStatusMessage() { + if (messageText == null || messageCanvas == null) { + return; + } + +#if !UNITY_ANDROID && !UNITY_IOS + messageText.text = NON_GVR_PLATFORM; + messageCanvas.SetActive(true); + return; +#else +#if UNITY_EDITOR + if (!UnityEditor.PlayerSettings.virtualRealitySupported) { + messageText.text = VR_SUPPORT_NOT_CHECKED; + messageCanvas.SetActive(true); + return; + } +#endif // UNITY_EDITOR + + bool isVrSdkListEmpty = !playerSettingsHasCardboard() && !playerSettingsHasDaydream(); + if (!isDaydream) { + if (messageCanvas.activeSelf) { + messageText.text = EMPTY_VR_SDK_WARNING_MESSAGE; + messageCanvas.SetActive(isVrSdkListEmpty); + } + return; + } + + string vrSdkWarningMessage = isVrSdkListEmpty ? EMPTY_VR_SDK_WARNING_MESSAGE : ""; + string controllerMessage = ""; + GvrPointerGraphicRaycaster graphicRaycaster = + messageCanvas.GetComponent(); + GvrControllerInputDevice dominantDevice = GvrControllerInput.GetDevice(GvrControllerHand.Dominant); + GvrConnectionState connectionState = dominantDevice.State; + // This is an example of how to process the controller's state to display a status message. + switch (connectionState) { + case GvrConnectionState.Connected: + break; + case GvrConnectionState.Disconnected: + controllerMessage = CONTROLLER_DISCONNECTED_MESSAGE; + messageText.color = Color.white; + break; + case GvrConnectionState.Scanning: + controllerMessage = CONTROLLER_SCANNING_MESSAGE; + messageText.color = Color.cyan; + break; + case GvrConnectionState.Connecting: + controllerMessage = CONTROLLER_CONNECTING_MESSAGE; + messageText.color = Color.yellow; + break; + case GvrConnectionState.Error: + controllerMessage = "ERROR: " + dominantDevice.ErrorDetails; + messageText.color = Color.red; + break; + default: + // Shouldn't happen. + Debug.LogError("Invalid controller state: " + connectionState); + break; + } + messageText.text = string.Format("{0}\n{1}", vrSdkWarningMessage, controllerMessage); + if (graphicRaycaster != null) { + graphicRaycaster.enabled = + !isVrSdkListEmpty || connectionState != GvrConnectionState.Connected; + } + messageCanvas.SetActive(isVrSdkListEmpty || + (connectionState != GvrConnectionState.Connected)); +#endif // !UNITY_ANDROID && !UNITY_IOS + } + + private void SetVRInputMechanism() { + SetGazeInputActive(!isDaydream); + SetControllerInputActive(isDaydream); + } + + private void SetGazeInputActive(bool active) { + if (reticlePointer == null) { + return; + } + reticlePointer.SetActive(active); + + // Update the pointer type only if this is currently activated. + if (!active) { + return; + } + + GvrReticlePointer pointer = + reticlePointer.GetComponent(); + if (pointer != null) { + GvrPointerInputModule.Pointer = pointer; + } + } + + private void SetControllerInputActive(bool active) { + if (controllerMain != null) { + controllerMain.SetActive(active); + } + if (controllerPointers == null || controllerPointers.Length <= activeControllerPointer) { + return; + } + controllerPointers[activeControllerPointer].SetActive(active); + + // Update the pointer type only if this is currently activated. + if (!active) { + return; + } + GvrLaserPointer pointer = + controllerPointers[activeControllerPointer].GetComponentInChildren(true); + if (pointer != null) { + GvrPointerInputModule.Pointer = pointer; + } + } + } +} diff --git a/Assets/GoogleVR/Demos/Scripts/DemoInputManager.cs.meta b/Assets/GoogleVR/Demos/Scripts/DemoInputManager.cs.meta new file mode 100644 index 0000000..1dca2ad --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/DemoInputManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ddd25f1308577456cbaa207901961126 +timeCreated: 1479273440 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/DemoSceneManager.cs b/Assets/GoogleVR/Demos/Scripts/DemoSceneManager.cs new file mode 100644 index 0000000..6e4d795 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/DemoSceneManager.cs @@ -0,0 +1,31 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +namespace GoogleVR.Demos { + using UnityEngine; + + // Ensures correct app and scene setup. + public class DemoSceneManager : MonoBehaviour { + void Start() { + Input.backButtonLeavesApp = true; + } + + void Update() { + // Exit when (X) is tapped. + if (Input.GetKeyDown(KeyCode.Escape)) { + Application.Quit(); + } + } + } +} diff --git a/Assets/GoogleVR/Demos/Scripts/DemoSceneManager.cs.meta b/Assets/GoogleVR/Demos/Scripts/DemoSceneManager.cs.meta new file mode 100644 index 0000000..74bf15e --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/DemoSceneManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1bec9ea3efe7849ffae666549aca3cad +timeCreated: 1485218787 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/HelloVR.meta b/Assets/GoogleVR/Demos/Scripts/HelloVR.meta new file mode 100644 index 0000000..94f7678 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/HelloVR.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 61dead4742ef5b6479ed6406cd6d8798 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/HelloVR/HeadsetDemoManager.cs b/Assets/GoogleVR/Demos/Scripts/HelloVR/HeadsetDemoManager.cs new file mode 100644 index 0000000..095846f --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/HelloVR/HeadsetDemoManager.cs @@ -0,0 +1,114 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +namespace GoogleVR.HelloVR { + using UnityEngine; + using System.Collections; + + /// Demonstrates the use of GvrHeadset events and APIs. + public class HeadsetDemoManager : MonoBehaviour { + public GameObject safetyRing; + public bool enableDebugLog = false; + private WaitForSeconds waitFourSeconds = new WaitForSeconds(4); + +#region STANDALONE_DELEGATES + public void OnSafetyRegionEvent(bool enter) { + Debug.Log("SafetyRegionEvent: " + (enter ? "enter" : "exit")); + } + + public void OnRecenterEvent(GvrRecenterEventType recenterType, + GvrRecenterFlags recenterFlags, + Vector3 recenteredPosition, + Quaternion recenteredOrientation) { + Debug.Log(string.Format("RecenterEvent: Type {0}, flags {1}\nPosition: {2}, " + + "Rotation: {3}", recenterType, recenterFlags, recenteredPosition, recenteredOrientation)); + } +#endregion // STANDALONE_DELEGATES + + public void FindFloorHeight() { + float floorHeight = 0.0f; + bool success = GvrHeadset.TryGetFloorHeight(ref floorHeight); + Debug.Log("Floor height success " + success + "; value " + floorHeight); + } + + public void FindRecenterTransform() { + Vector3 position = Vector3.zero; + Quaternion rotation = Quaternion.identity; + bool success = GvrHeadset.TryGetRecenterTransform(ref position, ref rotation); + Debug.Log("Recenter transform success " + success + "; value " + position + "; " + rotation); + } + + public void FindSafetyRegionType() { + GvrSafetyRegionType safetyType = GvrSafetyRegionType.None; + bool success = GvrHeadset.TryGetSafetyRegionType(ref safetyType); + Debug.Log("Safety region type success " + success + "; value " + safetyType); + } + + public void FindSafetyInnerRadius() { + float innerRadius = -1.0f; + bool success = GvrHeadset.TryGetSafetyCylinderInnerRadius(ref innerRadius); + Debug.Log("Safety region inner radius success " + success + "; value " + innerRadius); + // Don't activate the safety cylinder visual until the radius is a reasonable value. + if (innerRadius > 0.1f && safetyRing != null) { + safetyRing.SetActive(true); + safetyRing.transform.localScale = new Vector3(innerRadius, 1, innerRadius); + } + } + + public void FindSafetyOuterRadius() { + float outerRadius = -1.0f; + bool success = GvrHeadset.TryGetSafetyCylinderOuterRadius(ref outerRadius); + Debug.Log("Safety region outer radius success " + success + "; value " + outerRadius); + } + + void OnEnable() { + if (safetyRing != null) { + safetyRing.SetActive(false); + } + if (!GvrHeadset.SupportsPositionalTracking) { + return; + } + GvrHeadset.OnSafetyRegionChange += OnSafetyRegionEvent; + GvrHeadset.OnRecenter += OnRecenterEvent; + if (enableDebugLog) { + StartCoroutine(StatusUpdateLoop()); + } + } + + void OnDisable() { + if (!GvrHeadset.SupportsPositionalTracking) { + return; + } + GvrHeadset.OnSafetyRegionChange -= OnSafetyRegionEvent; + GvrHeadset.OnRecenter -= OnRecenterEvent; + } + + void Start() { + if (GvrHeadset.SupportsPositionalTracking) { + Debug.Log("Device supports positional tracking!"); + } + } + + private IEnumerator StatusUpdateLoop() { + while(true) { + yield return waitFourSeconds; + FindFloorHeight(); + FindRecenterTransform(); + FindSafetyOuterRadius(); + FindSafetyInnerRadius(); + FindSafetyRegionType(); + } + } + } +} diff --git a/Assets/GoogleVR/Demos/Scripts/HelloVR/HeadsetDemoManager.cs.meta b/Assets/GoogleVR/Demos/Scripts/HelloVR/HeadsetDemoManager.cs.meta new file mode 100644 index 0000000..19d26bd --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/HelloVR/HeadsetDemoManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 94f5d450d1bd94c97b1dc8109b633ac0 +timeCreated: 1498438356 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/HelloVR/HelloVRManager.cs b/Assets/GoogleVR/Demos/Scripts/HelloVR/HelloVRManager.cs new file mode 100644 index 0000000..814fede --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/HelloVR/HelloVRManager.cs @@ -0,0 +1,59 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +namespace GoogleVR.HelloVR { + using UnityEngine; + using GoogleVR.Demos; + + public class HelloVRManager : MonoBehaviour { + public GameObject m_launchVrHomeButton; + public DemoInputManager m_demoInputManager; + + void Start() { +#if !UNITY_ANDROID || UNITY_EDITOR + if (m_launchVrHomeButton == null) { + return; + } + m_launchVrHomeButton.SetActive(false); +#else + GvrDaydreamApi.CreateAsync((success) => { + if (!success) { + // Unexpected. See GvrDaydreamApi log messages for details. + Debug.LogError("GvrDaydreamApi.CreateAsync() failed"); + } + }); +#endif // !UNITY_ANDROID || UNITY_EDITOR + } + +#if UNITY_ANDROID && !UNITY_EDITOR + void Update() { + if (m_launchVrHomeButton == null || m_demoInputManager == null) { + return; + } + m_launchVrHomeButton.SetActive(m_demoInputManager.IsCurrentlyDaydream()); + } +#endif // UNITY_ANDROID && !UNITY_EDITOR + + public void LaunchVrHome() { +#if UNITY_ANDROID && !UNITY_EDITOR + GvrDaydreamApi.LaunchVrHomeAsync((success) => { + if (!success) { + // Unexpected. See GvrDaydreamApi log messages for details. + Debug.LogError("GvrDaydreamApi.LaunchVrHomeAsync() failed"); + } + }); +#endif // UNITY_ANDROID && !UNITY_EDITOR + } + } +} diff --git a/Assets/GoogleVR/Demos/Scripts/HelloVR/HelloVRManager.cs.meta b/Assets/GoogleVR/Demos/Scripts/HelloVR/HelloVRManager.cs.meta new file mode 100644 index 0000000..cc0a8a5 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/HelloVR/HelloVRManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ae2d286fc7c3e427bbde238c0ebb970b +timeCreated: 1490659306 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/HelloVR/ObjectController.cs b/Assets/GoogleVR/Demos/Scripts/HelloVR/ObjectController.cs new file mode 100644 index 0000000..ba47e79 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/HelloVR/ObjectController.cs @@ -0,0 +1,85 @@ +// Copyright 2014 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +namespace GoogleVR.HelloVR { + using UnityEngine; + using UnityEngine.EventSystems; + + [RequireComponent(typeof(Collider))] + public class ObjectController : MonoBehaviour { + private Vector3 startingPosition; + private Renderer myRenderer; + + public Material inactiveMaterial; + public Material gazedAtMaterial; + + void Start() { + startingPosition = transform.localPosition; + myRenderer = GetComponent(); + SetGazedAt(false); + } + + public void SetGazedAt(bool gazedAt) { + if (inactiveMaterial != null && gazedAtMaterial != null) { + myRenderer.material = gazedAt ? gazedAtMaterial : inactiveMaterial; + return; + } + } + + public void Reset() { + int sibIdx = transform.GetSiblingIndex(); + int numSibs = transform.parent.childCount; + for (int i=0; i permissionList = + new List(); + + public void CheckPermission() { + statusText.text = "Checking permission...."; + GvrPermissionsRequester permissionRequester = GvrPermissionsRequester.Instance; + if (permissionRequester != null) { + bool granted = permissionRequester.IsPermissionGranted(permissionNames[0]); + statusText.text = permissionNames[0] + ": " + (granted ? "Granted" : "Denied"); + } else { + statusText.text = "Permission requester cannot be initialized."; + } + } + + public void RequestPermissions() { + if (statusText != null) { + statusText.text = "Requesting permission...."; + } + GvrPermissionsRequester permissionRequester = GvrPermissionsRequester.Instance; + if (permissionRequester == null) { + statusText.text = "Permission requester cannot be initialized."; + return; + } + Debug.Log("Permissions.RequestPermisions: Check if permission has been granted"); + if (!permissionRequester.IsPermissionGranted(permissionNames[0])) { + Debug.Log("Permissions.RequestPermisions: Permission has not been previously granted"); + if (permissionRequester.ShouldShowRational(permissionNames[0])) { + statusText.text = "This game needs to access external storage. Please grant permission when prompted."; + statusText.color = Color.red; + } + permissionRequester.RequestPermissions(permissionNames, + (GvrPermissionsRequester.PermissionStatus[] permissionResults) => + { + statusText.color = Color.cyan; + permissionList.Clear(); + permissionList.AddRange(permissionResults); + string msg = ""; + foreach (GvrPermissionsRequester.PermissionStatus p in permissionList) { + msg += p.Name + ": " + (p.Granted ? "Granted" : "Denied") + "\n"; + } + statusText.text = msg; + }); + } + else { + statusText.text = "ExternalStorage permission already granted!"; + } + } + } +#endif // (UNITY_ANDROID || UNITY_EDITOR) +} diff --git a/Assets/GoogleVR/Demos/Scripts/PermissionsDemo/PermissionsFlowManager.cs.meta b/Assets/GoogleVR/Demos/Scripts/PermissionsDemo/PermissionsFlowManager.cs.meta new file mode 100644 index 0000000..fb92f39 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/PermissionsDemo/PermissionsFlowManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4e8df902e7cb54f57bd1492b46fbe33d +timeCreated: 1477353933 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo.meta b/Assets/GoogleVR/Demos/Scripts/VideoDemo.meta new file mode 100644 index 0000000..b8af8a8 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 77e0beb1a5b04964190423904685c545 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/AppButtonInput.cs b/Assets/GoogleVR/Demos/Scripts/VideoDemo/AppButtonInput.cs new file mode 100644 index 0000000..27551f5 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/AppButtonInput.cs @@ -0,0 +1,34 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + + +namespace GoogleVR.VideoDemo { + using UnityEngine; + + /// + /// Provides controller app button input through UnityEvents. + /// + public class AppButtonInput : MonoBehaviour { + public ButtonEvent OnAppUp; + public ButtonEvent OnAppDown; + + void Update() { + if (Gvr.Internal.ControllerUtils.AnyButtonUp(GvrControllerButton.App)) + OnAppUp.Invoke(); + + if (Gvr.Internal.ControllerUtils.AnyButtonDown(GvrControllerButton.App)) + OnAppDown.Invoke(); + } + } +} diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/AppButtonInput.cs.meta b/Assets/GoogleVR/Demos/Scripts/VideoDemo/AppButtonInput.cs.meta new file mode 100644 index 0000000..f289e39 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/AppButtonInput.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9e216f327e132794b8e02093522ae84c +timeCreated: 1460403137 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/AutoPlayVideo.cs b/Assets/GoogleVR/Demos/Scripts/VideoDemo/AutoPlayVideo.cs new file mode 100644 index 0000000..3221a26 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/AutoPlayVideo.cs @@ -0,0 +1,67 @@ + +// +// Copyright (C) 2016 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. +// + +namespace GoogleVR.VideoDemo { + using UnityEngine; + + /// + /// Auto play video. + /// + /// This script exposes a delay value in seconds to start playing the TexturePlayer + /// component on the same object. + /// + + [RequireComponent(typeof(GvrVideoPlayerTexture))] + public class AutoPlayVideo : MonoBehaviour { + private bool done; + private float t; + private GvrVideoPlayerTexture player; + + public float delay = 2f; + public bool loop = false; + + void Start() { + t = 0; + done = false; + player = GetComponent(); + if (player != null) { + player.Init(); + } + } + + void Update() { + if (player == null) { + return; + } else if (player.PlayerState == GvrVideoPlayerTexture.VideoPlayerState.Ended && done && loop) { + player.Pause(); + player.CurrentPosition = 0; + done = false; + t = 0f; + return; + } + if (done) { + return; + } + + t += Time.deltaTime; + if (t >= delay && player != null) { + player.Play(); + done = true; + } + } + } +} diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/AutoPlayVideo.cs.meta b/Assets/GoogleVR/Demos/Scripts/VideoDemo/AutoPlayVideo.cs.meta new file mode 100644 index 0000000..5962679 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/AutoPlayVideo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2e71f5afb881f443bbce909fe451d8fe +timeCreated: 1471303020 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/InputEvents.cs b/Assets/GoogleVR/Demos/Scripts/VideoDemo/InputEvents.cs new file mode 100644 index 0000000..8d43d27 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/InputEvents.cs @@ -0,0 +1,43 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +namespace GoogleVR.VideoDemo { + using System; + using UnityEngine; + using UnityEngine.Events; + + [Serializable] + public class Vector3Event : UnityEvent { } + + [Serializable] + public class Vector2Event : UnityEvent { } + + [Serializable] + public class FloatEvent : UnityEvent { } + + [Serializable] + public class BoolEvent : UnityEvent { } + + [Serializable] + public class ButtonEvent : UnityEvent { } + + [Serializable] + public class TouchPadEvent : UnityEvent { } + + [Serializable] + public class TransformEvent : UnityEvent { } + + [Serializable] + public class GameObjectEvent : UnityEvent { } +} diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/InputEvents.cs.meta b/Assets/GoogleVR/Demos/Scripts/VideoDemo/InputEvents.cs.meta new file mode 100644 index 0000000..1123872 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/InputEvents.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: efe7e44b35e61314983888468dcb5686 +timeCreated: 1460124774 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/MenuHandler.cs b/Assets/GoogleVR/Demos/Scripts/VideoDemo/MenuHandler.cs new file mode 100644 index 0000000..b9d9a85 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/MenuHandler.cs @@ -0,0 +1,66 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +namespace GoogleVR.VideoDemo { + using UnityEngine; + using System.Collections; + + public class MenuHandler : MonoBehaviour { + public GameObject[] menuObjects; + + public void HideMenu() { + foreach (GameObject m in menuObjects) { + Renderer r = m.GetComponent(); + if (r != null) { + r.enabled = false; + } else { + m.SetActive(false); + } + StartCoroutine(DoFade()); + } + } + + public void ShowMenu() { + foreach (GameObject m in menuObjects) { + Renderer r = m.GetComponent(); + if (r != null) { + r.enabled = true; + } else { + m.SetActive(true); + } + } + StartCoroutine(DoAppear()); + } + + IEnumerator DoAppear() { + CanvasGroup cg = GetComponent(); + while (cg.alpha < 1.0) { + cg.alpha += Time.deltaTime * 2; + yield return null; + } + cg.interactable = true; + yield break; + } + + IEnumerator DoFade() { + CanvasGroup cg = GetComponent(); + while (cg.alpha > 0) { + cg.alpha -= Time.deltaTime; + yield return null; + } + cg.interactable = false; + yield break; + } + } +} diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/MenuHandler.cs.meta b/Assets/GoogleVR/Demos/Scripts/VideoDemo/MenuHandler.cs.meta new file mode 100644 index 0000000..fd7a968 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/MenuHandler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7304a3fe3b19a4eb8ba4e4b21008b2f0 +timeCreated: 1475106364 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/PositionSwapper.cs b/Assets/GoogleVR/Demos/Scripts/VideoDemo/PositionSwapper.cs new file mode 100644 index 0000000..927ca72 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/PositionSwapper.cs @@ -0,0 +1,88 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +namespace GoogleVR.VideoDemo { + using UnityEngine; + + /// + /// Sets the position of the transform to a position specifed in a list. + /// + public class PositionSwapper : MonoBehaviour { + private int currentIndex = -1; + + public Vector3[] Positions = new Vector3[0]; + + public void SetConstraint(int index) { } + + public void SetPosition(int index) { + currentIndex = index % Positions.Length; + transform.localPosition = Positions[currentIndex]; + } + +#if UNITY_EDITOR + private static void SaveToIndex(UnityEditor.MenuCommand mc, int index) { + PositionSwapper ps = mc.context as PositionSwapper; + while (ps.Positions.Length <= index) { + UnityEditor.ArrayUtility.Add(ref ps.Positions, Vector3.zero); + } + ps.Positions[index] = ps.transform.localPosition; + } + + private static void LoadIndex(UnityEditor.MenuCommand mc, int index) { + PositionSwapper ps = mc.context as PositionSwapper; + ps.SetPosition(index); + } + + [UnityEditor.MenuItem("CONTEXT/PositionSwapper/SavePositionToIndex0")] + private static void SaveToIndex0(UnityEditor.MenuCommand mc) { + SaveToIndex(mc, 0); + } + + [UnityEditor.MenuItem("CONTEXT/PositionSwapper/SavePositionToIndex1")] + private static void SaveToIndex1(UnityEditor.MenuCommand mc) { + SaveToIndex(mc, 1); + } + + [UnityEditor.MenuItem("CONTEXT/PositionSwapper/SavePositionToIndex2")] + private static void SaveToIndex2(UnityEditor.MenuCommand mc) { + SaveToIndex(mc, 2); + } + + [UnityEditor.MenuItem("CONTEXT/PositionSwapper/SavePositionToIndex3")] + private static void SaveToIndex3(UnityEditor.MenuCommand mc) { + SaveToIndex(mc, 3); + } + + [UnityEditor.MenuItem("CONTEXT/PositionSwapper/LoadPosition0")] + private static void LoadPosition0(UnityEditor.MenuCommand mc) { + LoadIndex(mc, 0); + } + + [UnityEditor.MenuItem("CONTEXT/PositionSwapper/LoadPosition1")] + private static void LoadPosition1(UnityEditor.MenuCommand mc) { + LoadIndex(mc, 1); + } + + [UnityEditor.MenuItem("CONTEXT/PositionSwapper/LoadPosition2")] + private static void LoadPosition2(UnityEditor.MenuCommand mc) { + LoadIndex(mc, 2); + } + + [UnityEditor.MenuItem("CONTEXT/PositionSwapper/LoadPosition3")] + private static void LoadPosition3(UnityEditor.MenuCommand mc) { + LoadIndex(mc, 3); + } +#endif // UNITY_EDITOR + } +} diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/PositionSwapper.cs.meta b/Assets/GoogleVR/Demos/Scripts/VideoDemo/PositionSwapper.cs.meta new file mode 100644 index 0000000..5352881 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/PositionSwapper.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 680140f42b355d442a0a57a1d8fcc4b1 +timeCreated: 1463151666 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/ScrubberEvents.cs b/Assets/GoogleVR/Demos/Scripts/VideoDemo/ScrubberEvents.cs new file mode 100644 index 0000000..c6de560 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/ScrubberEvents.cs @@ -0,0 +1,93 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +namespace GoogleVR.VideoDemo { + using UnityEngine; + using UnityEngine.EventSystems; + using UnityEngine.UI; + + public class ScrubberEvents : MonoBehaviour { + private GameObject newPositionHandle; + + private Vector3[] corners; + private Slider slider; + + private VideoControlsManager mgr; + + public VideoControlsManager ControlManager { + set { + mgr = value; + } + } + + void Start() { + foreach (Image im in GetComponentsInChildren(true)) { + if (im.gameObject.name == "newPositionHandle") { + newPositionHandle = im.gameObject; + break; + } + } + + corners = new Vector3[4]; + GetComponent().rectTransform.GetWorldCorners(corners); + slider = GetComponentInParent(); + } + + void Update() { + bool setPos = false; + if (GvrPointerInputModule.Pointer != null) { + RaycastResult r = GvrPointerInputModule.Pointer.CurrentRaycastResult; + if (r.gameObject != null) { + newPositionHandle.transform.position = new Vector3( + r.worldPosition.x, + newPositionHandle.transform.position.y, + newPositionHandle.transform.position.z); + setPos = true; + } + } + if (!setPos) { + newPositionHandle.transform.position = slider.handleRect.transform.position; + } + } + + public void OnPointerEnter(BaseEventData data) { + if (GvrPointerInputModule.Pointer != null) { + RaycastResult r = GvrPointerInputModule.Pointer.CurrentRaycastResult; + if (r.gameObject != null) { + newPositionHandle.transform.position = new Vector3( + r.worldPosition.x, + newPositionHandle.transform.position.y, + newPositionHandle.transform.position.z); + } + } + newPositionHandle.SetActive(true); + } + + public void OnPointerExit(BaseEventData data) { + newPositionHandle.SetActive(false); + } + + public void OnPointerClick(BaseEventData data) { + float minX = corners[0].x; + float maxX = corners[3].x; + + float pct = (newPositionHandle.transform.position.x - minX) / (maxX - minX); + + if (mgr != null) { + long p = (long)(slider.maxValue * pct); + mgr.Player.CurrentPosition = p; + } + } + } +} diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/ScrubberEvents.cs.meta b/Assets/GoogleVR/Demos/Scripts/VideoDemo/ScrubberEvents.cs.meta new file mode 100644 index 0000000..1c9b33e --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/ScrubberEvents.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0cc7f51d6c6b140f79f7afded8b84284 +timeCreated: 1472155348 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/SwitchVideos.cs b/Assets/GoogleVR/Demos/Scripts/VideoDemo/SwitchVideos.cs new file mode 100644 index 0000000..a372697 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/SwitchVideos.cs @@ -0,0 +1,94 @@ +// Copyright (C) 2016 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +namespace GoogleVR.VideoDemo { + using System; + using UnityEngine; + using UnityEngine.UI; + + public class SwitchVideos : MonoBehaviour { + public GameObject localVideoSample; + public GameObject dashVideoSample; + public GameObject panoVideoSample; + + private GameObject[] videoSamples; + + public Text missingLibText; + + public void Awake() { + videoSamples = new GameObject[3]; + videoSamples[0] = localVideoSample; + videoSamples[1] = dashVideoSample; + videoSamples[2] = panoVideoSample; + + string NATIVE_LIBS_MISSING_MESSAGE = "Video Support libraries not found or could not be loaded!\n" + + "Please add the GVRVideoPlayer.unitypackage\n to this project"; + + if (missingLibText != null) { + try { + IntPtr ptr = GvrVideoPlayerTexture.CreateVideoPlayer(); + if (ptr != IntPtr.Zero) { + GvrVideoPlayerTexture.DestroyVideoPlayer(ptr); + missingLibText.enabled = false; + } else { + missingLibText.text = NATIVE_LIBS_MISSING_MESSAGE; + missingLibText.enabled = true; + } + } catch (Exception e) { + Debug.LogError(e); + missingLibText.text = NATIVE_LIBS_MISSING_MESSAGE; + missingLibText.enabled = true; + } + } + } + + public void ShowMainMenu() { + ShowSample(-1); + } + + public void OnFlatLocal() { + ShowSample(0); + } + + public void OnDash() { + ShowSample(1); + } + + public void On360Video() { + ShowSample(2); + } + + private void ShowSample(int index) { + // If the libs are missing, always show the main menu. + if (missingLibText != null && missingLibText.enabled) { + index = -1; + } + + for (int i = 0; i < videoSamples.Length; i++) { + if (videoSamples[i] != null) { + + if (i != index) { + if (videoSamples[i].activeSelf) { + videoSamples[i].GetComponentInChildren().CleanupVideo(); + } + } else { + videoSamples[i].GetComponentInChildren().ReInitializeVideo(); + } + videoSamples[i].SetActive(i == index); + } + } + GetComponent().enabled = index == -1; + } + } +} diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/SwitchVideos.cs.meta b/Assets/GoogleVR/Demos/Scripts/VideoDemo/SwitchVideos.cs.meta new file mode 100644 index 0000000..0eb16ff --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/SwitchVideos.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 114ed7f3f1d114a2988b1f93a233b40e +timeCreated: 1472683809 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/ToggleAction.cs b/Assets/GoogleVR/Demos/Scripts/VideoDemo/ToggleAction.cs new file mode 100644 index 0000000..65f377f --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/ToggleAction.cs @@ -0,0 +1,76 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +namespace GoogleVR.VideoDemo { + using UnityEngine; + using UnityEngine.Events; + + /// + /// Throws a Unity event when the internal state is changed. This + /// component can be used by other components the fire Unity Events in + /// order to do some lightweight state tracking. + /// + public class ToggleAction : MonoBehaviour { + private float lastUsage; + private bool on; + + [Tooltip("Event to raise when this is toggled on.")] + public UnityEvent OnToggleOn; + + [Tooltip("Event to raise when this is toggled off.")] + public UnityEvent OnToggleOff; + + [Tooltip("Should this initial state be on or off?")] + public bool InitialState; + + [Tooltip("Should an event be raised for the initial state on Start?")] + public bool RaiseEventForInitialState; + + [Tooltip("Time required between toggle operations. Operations Toggles within this window " + + "will be ignored.")] + public float Cooldown; + + void Start() { + on = InitialState; + if (RaiseEventForInitialState) { + RaiseToggleEvent(on); + } + } + + public void Toggle() { + if (Time.time - lastUsage < Cooldown) { + return; + } + lastUsage = Time.time; + on = !on; + RaiseToggleEvent(on); + } + + public void Set(bool on) { + if (this.on == on) { + return; + } + this.on = on; + RaiseToggleEvent(on); + } + + private void RaiseToggleEvent(bool on) { + if (on) { + OnToggleOn.Invoke(); + } else { + OnToggleOff.Invoke(); + } + } + } +} diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/ToggleAction.cs.meta b/Assets/GoogleVR/Demos/Scripts/VideoDemo/ToggleAction.cs.meta new file mode 100644 index 0000000..ea5dc6d --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/ToggleAction.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d1b8f07442700094898145567ef1f203 +timeCreated: 1460408320 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/VideoControlsManager.cs b/Assets/GoogleVR/Demos/Scripts/VideoDemo/VideoControlsManager.cs new file mode 100644 index 0000000..31572e2 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/VideoControlsManager.cs @@ -0,0 +1,218 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +namespace GoogleVR.VideoDemo { + using UnityEngine; + using System.Collections; + using UnityEngine.UI; + + public class VideoControlsManager : MonoBehaviour { + private GameObject pauseSprite; + private GameObject playSprite; + + private Slider videoScrubber; + private Slider volumeSlider; + private GameObject volumeWidget; + private GameObject settingsPanel; + private GameObject bufferedBackground; + private Vector3 basePosition; + private Text videoPosition; + private Text videoDuration; + + public GvrVideoPlayerTexture Player + { + set; + get; + } + + void Awake() { + foreach (Text t in GetComponentsInChildren()) { + if (t.gameObject.name == "curpos_text") { + videoPosition = t; + } else if (t.gameObject.name == "duration_text") { + videoDuration = t; + } + } + + foreach (RawImage raw in GetComponentsInChildren(true)) { + if (raw.gameObject.name == "playImage") { + playSprite = raw.gameObject; + } else if (raw.gameObject.name == "pauseImage") { + pauseSprite = raw.gameObject; + } + } + + foreach (Slider s in GetComponentsInChildren(true)) { + if (s.gameObject.name == "video_slider") { + videoScrubber = s; + videoScrubber.maxValue = 100; + videoScrubber.minValue = 0; + foreach (Image i in videoScrubber.GetComponentsInChildren()) { + if (i.gameObject.name == "BufferedBackground") { + bufferedBackground = i.gameObject; + } + } + } else if (s.gameObject.name == "volume_slider") { + volumeSlider = s; + } + } + + foreach (RectTransform obj in GetComponentsInChildren(true)) { + if (obj.gameObject.name == "volume_widget") { + volumeWidget = obj.gameObject; + } else if (obj.gameObject.name == "settings_panel") { + settingsPanel = obj.gameObject; + } + } + } + + void Start() { + foreach (ScrubberEvents s in GetComponentsInChildren(true)) { + s.ControlManager = this; + } + + if (Player != null) { + Player.Init(); + } + } + + void Update() { + if ((!Player.VideoReady || Player.IsPaused)) { + pauseSprite.SetActive(false); + playSprite.SetActive(true); + } else if (Player.VideoReady && !Player.IsPaused) { + pauseSprite.SetActive(true); + playSprite.SetActive(false); + } + + if (Player.VideoReady) { + if (basePosition == Vector3.zero) { + basePosition = videoScrubber.handleRect.localPosition; + } + videoScrubber.maxValue = Player.VideoDuration; + videoScrubber.value = Player.CurrentPosition; + + float pct = Player.BufferedPercentage / 100.0f; + float sx = Mathf.Clamp(pct, 0, 1f); + bufferedBackground.transform.localScale = new Vector3(sx, 1, 1); + bufferedBackground.transform.localPosition = + new Vector3(basePosition.x - (basePosition.x * sx), 0, 0); + + videoPosition.text = FormatTime(Player.CurrentPosition); + videoDuration.text = FormatTime(Player.VideoDuration); + + if (volumeSlider != null) { + volumeSlider.minValue = 0; + volumeSlider.maxValue = Player.MaxVolume; + volumeSlider.value = Player.CurrentVolume; + } + } else { + videoScrubber.value = 0; + } + } + + public void OnVolumeUp() { + if (Player.CurrentVolume < Player.MaxVolume) { + Player.CurrentVolume += 1; + } + } + + public void OnVolumeDown() { + if (Player.CurrentVolume > 0) { + Player.CurrentVolume -= 1; + } + } + + public void OnToggleVolume() { + bool visible = !volumeWidget.activeSelf; + volumeWidget.SetActive(visible); + + // close settings if volume opens. + settingsPanel.SetActive(settingsPanel.activeSelf && !visible); + } + + public void OnToggleSettings() { + bool visible = !settingsPanel.activeSelf; + settingsPanel.SetActive(visible); + + // close settings if volume opens. + volumeWidget.SetActive(volumeWidget.activeSelf && !visible); + } + + public void OnPlayPause() { + bool isPaused = Player.IsPaused; + if (isPaused) { + Player.Play(); + } else { + Player.Pause(); + } + pauseSprite.SetActive(isPaused); + playSprite.SetActive(!isPaused); + CloseSubPanels(); + } + + public void OnVolumePositionChanged(float val) { + if (Player.VideoReady) { + Debug.Log("Setting current volume to " + val); + Player.CurrentVolume = (int)val; + } + } + + public void CloseSubPanels() { + volumeWidget.SetActive(false); + settingsPanel.SetActive(false); + } + + public void Fade(bool show) { + if (show) { + StartCoroutine(DoAppear()); + } else { + StartCoroutine(DoFade()); + } + } + + IEnumerator DoAppear() { + CanvasGroup cg = GetComponent(); + while (cg.alpha < 1.0) { + cg.alpha += Time.deltaTime * 2; + yield return null; + } + cg.interactable = true; + yield break; + } + + IEnumerator DoFade() { + CanvasGroup cg = GetComponent(); + while (cg.alpha > 0) { + cg.alpha -= Time.deltaTime; + yield return null; + } + cg.interactable = false; + CloseSubPanels(); + yield break; + } + + private string FormatTime(long ms) { + int sec = ((int)(ms / 1000L)); + int mn = sec / 60; + sec = sec % 60; + int hr = mn / 60; + mn = mn % 60; + if (hr > 0) { + return string.Format("{0:00}:{1:00}:{2:00}", hr, mn, sec); + } + return string.Format("{0:00}:{1:00}", mn, sec); + } + } +} diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/VideoControlsManager.cs.meta b/Assets/GoogleVR/Demos/Scripts/VideoDemo/VideoControlsManager.cs.meta new file mode 100644 index 0000000..97d89ad --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/VideoControlsManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 11ce60bdf78924133940a4a64555e784 +timeCreated: 1471470978 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/VideoPlayerReference.cs b/Assets/GoogleVR/Demos/Scripts/VideoDemo/VideoPlayerReference.cs new file mode 100644 index 0000000..b236b02 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/VideoPlayerReference.cs @@ -0,0 +1,30 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +namespace GoogleVR.VideoDemo { + using UnityEngine; + + public class VideoPlayerReference : MonoBehaviour { + + public GvrVideoPlayerTexture player; + + void Awake() { + #if !UNITY_5_2 + GetComponentInChildren(true).Player = player; + #else + GetComponentInChildren().Player = player; + #endif + } + } +} diff --git a/Assets/GoogleVR/Demos/Scripts/VideoDemo/VideoPlayerReference.cs.meta b/Assets/GoogleVR/Demos/Scripts/VideoDemo/VideoPlayerReference.cs.meta new file mode 100644 index 0000000..8da3763 --- /dev/null +++ b/Assets/GoogleVR/Demos/Scripts/VideoDemo/VideoPlayerReference.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 70f36fab7a81646eeb5c083264db5be0 +timeCreated: 1471625726 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Shaders.meta b/Assets/GoogleVR/Demos/Shaders.meta new file mode 100644 index 0000000..efa781a --- /dev/null +++ b/Assets/GoogleVR/Demos/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 872fb2b0d32978849b13dcd83c1f852e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Shaders/HelloVR.meta b/Assets/GoogleVR/Demos/Shaders/HelloVR.meta new file mode 100644 index 0000000..cbd8762 --- /dev/null +++ b/Assets/GoogleVR/Demos/Shaders/HelloVR.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 059082d0af2a05c4dbbc4695e740b903 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Shaders/HelloVR/HelloVRUnlitGrayscaleToColor.shader b/Assets/GoogleVR/Demos/Shaders/HelloVR/HelloVRUnlitGrayscaleToColor.shader new file mode 100644 index 0000000..df700f0 --- /dev/null +++ b/Assets/GoogleVR/Demos/Shaders/HelloVR/HelloVRUnlitGrayscaleToColor.shader @@ -0,0 +1,72 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +Shader "GoogleVR/Demos/Unlit/HelloVR Color From Grayscale" +{ + Properties + { + _MainTex ("Texture (A)", 2D) = "" {} + _Color ("Color Overlay", Color) = (1,1,1,1) + _HighlightColor ("Highlight Tint", Color) = (0.63,0.52,0.38,0.66) + _ShadowColor ("Shadow Tint", Color) = (0.96,1,1,0.85) + } + + SubShader + { + Tags { "Queue"="Geometry" "RenderType"="Geometry"} + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + + #include "UnityCG.cginc" + + struct appdata { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata v) { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + return o; + } + + fixed4 _HighlightColor; + fixed4 _ShadowColor; + fixed4 _Color; + + fixed4 frag (v2f i) : SV_TARGET { + fixed alpha = tex2D(_MainTex, i.uv).a; + fixed3 highlight = max(0,(alpha*alpha)*_HighlightColor.rgb - (1 - _HighlightColor.a)); + fixed3 shadow = max(0,(alpha*_ShadowColor.rgb - Luminance(highlight)*_ShadowColor.a)); + fixed4 col = fixed4(highlight + shadow,0)*_Color; + return col; + } + ENDCG + } + } +} diff --git a/Assets/GoogleVR/Demos/Shaders/HelloVR/HelloVRUnlitGrayscaleToColor.shader.meta b/Assets/GoogleVR/Demos/Shaders/HelloVR/HelloVRUnlitGrayscaleToColor.shader.meta new file mode 100644 index 0000000..57fd535 --- /dev/null +++ b/Assets/GoogleVR/Demos/Shaders/HelloVR/HelloVRUnlitGrayscaleToColor.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fbc799bc7ede6a940b24eff19a72979c +timeCreated: 1474923324 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Sounds.meta b/Assets/GoogleVR/Demos/Sounds.meta new file mode 100644 index 0000000..a45406a --- /dev/null +++ b/Assets/GoogleVR/Demos/Sounds.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7f6fb33cd91d42e43ba61b3295cb679f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Sounds/HelloVR.meta b/Assets/GoogleVR/Demos/Sounds/HelloVR.meta new file mode 100644 index 0000000..77ee65b --- /dev/null +++ b/Assets/GoogleVR/Demos/Sounds/HelloVR.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 414e8c4e6591b7d429a6ccc7ec515517 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_1.wav b/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_1.wav new file mode 100644 index 0000000..7747857 Binary files /dev/null and b/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_1.wav differ diff --git a/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_1.wav.meta b/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_1.wav.meta new file mode 100644 index 0000000..4610aa7 --- /dev/null +++ b/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_1.wav.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: f7491bc024d4e4f1f9a6dd7f09558029 +timeCreated: 1510883027 +licenseType: Pro +AudioImporter: + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_2.wav b/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_2.wav new file mode 100644 index 0000000..de83168 Binary files /dev/null and b/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_2.wav differ diff --git a/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_2.wav.meta b/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_2.wav.meta new file mode 100644 index 0000000..4f95cf8 --- /dev/null +++ b/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_2.wav.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: f1de4e67910a3493e9ba31c4745c9bfc +timeCreated: 1510883027 +licenseType: Pro +AudioImporter: + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_3.wav b/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_3.wav new file mode 100644 index 0000000..2e05712 Binary files /dev/null and b/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_3.wav differ diff --git a/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_3.wav.meta b/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_3.wav.meta new file mode 100644 index 0000000..7fcdc54 --- /dev/null +++ b/Assets/GoogleVR/Demos/Sounds/HelloVR/HelloVR_Tone_3.wav.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: c9ad5fd9c2ab042098d2625d6cde66cd +timeCreated: 1510883027 +licenseType: Pro +AudioImporter: + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Textures.meta b/Assets/GoogleVR/Demos/Textures.meta new file mode 100644 index 0000000..90c2597 --- /dev/null +++ b/Assets/GoogleVR/Demos/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8e0496bb5e0ecf549bf4719d5ebbc41e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR.meta b/Assets/GoogleVR/Demos/Textures/HelloVR.meta new file mode 100644 index 0000000..ff005c2 --- /dev/null +++ b/Assets/GoogleVR/Demos/Textures/HelloVR.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f501e36a7c470fd44b377d995717bbe2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/Icosahedron_Blue_BakedDiffuse.png b/Assets/GoogleVR/Demos/Textures/HelloVR/Icosahedron_Blue_BakedDiffuse.png new file mode 100644 index 0000000..4df41ff Binary files /dev/null and b/Assets/GoogleVR/Demos/Textures/HelloVR/Icosahedron_Blue_BakedDiffuse.png differ diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/Icosahedron_Blue_BakedDiffuse.png.meta b/Assets/GoogleVR/Demos/Textures/HelloVR/Icosahedron_Blue_BakedDiffuse.png.meta new file mode 100644 index 0000000..041a951 --- /dev/null +++ b/Assets/GoogleVR/Demos/Textures/HelloVR/Icosahedron_Blue_BakedDiffuse.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: c5c9dbd1aff224a22a1567c3cb9b1c06 +timeCreated: 1509061600 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/Icosahedron_Pink_BakedDiffuse.png b/Assets/GoogleVR/Demos/Textures/HelloVR/Icosahedron_Pink_BakedDiffuse.png new file mode 100644 index 0000000..89b3b61 Binary files /dev/null and b/Assets/GoogleVR/Demos/Textures/HelloVR/Icosahedron_Pink_BakedDiffuse.png differ diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/Icosahedron_Pink_BakedDiffuse.png.meta b/Assets/GoogleVR/Demos/Textures/HelloVR/Icosahedron_Pink_BakedDiffuse.png.meta new file mode 100644 index 0000000..dd02b0f --- /dev/null +++ b/Assets/GoogleVR/Demos/Textures/HelloVR/Icosahedron_Pink_BakedDiffuse.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 08c2be6a5c9e8427e9ea097dabf7fe60 +timeCreated: 1509061600 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/QuadSphere_Blue_BakedDiffuse.png b/Assets/GoogleVR/Demos/Textures/HelloVR/QuadSphere_Blue_BakedDiffuse.png new file mode 100644 index 0000000..fc27af0 Binary files /dev/null and b/Assets/GoogleVR/Demos/Textures/HelloVR/QuadSphere_Blue_BakedDiffuse.png differ diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/QuadSphere_Blue_BakedDiffuse.png.meta b/Assets/GoogleVR/Demos/Textures/HelloVR/QuadSphere_Blue_BakedDiffuse.png.meta new file mode 100644 index 0000000..2edfb45 --- /dev/null +++ b/Assets/GoogleVR/Demos/Textures/HelloVR/QuadSphere_Blue_BakedDiffuse.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 4d7eb7cd5562b4ed4ae74151e7f631c3 +timeCreated: 1509062193 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/QuadSphere_Pink_BakedDiffuse.png b/Assets/GoogleVR/Demos/Textures/HelloVR/QuadSphere_Pink_BakedDiffuse.png new file mode 100644 index 0000000..809331e Binary files /dev/null and b/Assets/GoogleVR/Demos/Textures/HelloVR/QuadSphere_Pink_BakedDiffuse.png differ diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/QuadSphere_Pink_BakedDiffuse.png.meta b/Assets/GoogleVR/Demos/Textures/HelloVR/QuadSphere_Pink_BakedDiffuse.png.meta new file mode 100644 index 0000000..c959eaa --- /dev/null +++ b/Assets/GoogleVR/Demos/Textures/HelloVR/QuadSphere_Pink_BakedDiffuse.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: a507f76d80c44438a8197935a65af23a +timeCreated: 1509062193 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/SafetyRing_Alpha.png b/Assets/GoogleVR/Demos/Textures/HelloVR/SafetyRing_Alpha.png new file mode 100644 index 0000000..22f6bf7 Binary files /dev/null and b/Assets/GoogleVR/Demos/Textures/HelloVR/SafetyRing_Alpha.png differ diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/SafetyRing_Alpha.png.meta b/Assets/GoogleVR/Demos/Textures/HelloVR/SafetyRing_Alpha.png.meta new file mode 100644 index 0000000..3fae7c0 --- /dev/null +++ b/Assets/GoogleVR/Demos/Textures/HelloVR/SafetyRing_Alpha.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 7142fd4da3acd494cbabed95d75673b9 +timeCreated: 1510963139 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/TriSphere_Blue_BakedDiffuse.png b/Assets/GoogleVR/Demos/Textures/HelloVR/TriSphere_Blue_BakedDiffuse.png new file mode 100644 index 0000000..6947a56 Binary files /dev/null and b/Assets/GoogleVR/Demos/Textures/HelloVR/TriSphere_Blue_BakedDiffuse.png differ diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/TriSphere_Blue_BakedDiffuse.png.meta b/Assets/GoogleVR/Demos/Textures/HelloVR/TriSphere_Blue_BakedDiffuse.png.meta new file mode 100644 index 0000000..3ce106a --- /dev/null +++ b/Assets/GoogleVR/Demos/Textures/HelloVR/TriSphere_Blue_BakedDiffuse.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 57118c062b1274e43b9260e14b00da11 +timeCreated: 1509062221 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/TriSphere_Pink_BakedDiffuse.png b/Assets/GoogleVR/Demos/Textures/HelloVR/TriSphere_Pink_BakedDiffuse.png new file mode 100644 index 0000000..9411b7c Binary files /dev/null and b/Assets/GoogleVR/Demos/Textures/HelloVR/TriSphere_Pink_BakedDiffuse.png differ diff --git a/Assets/GoogleVR/Demos/Textures/HelloVR/TriSphere_Pink_BakedDiffuse.png.meta b/Assets/GoogleVR/Demos/Textures/HelloVR/TriSphere_Pink_BakedDiffuse.png.meta new file mode 100644 index 0000000..9a53df1 --- /dev/null +++ b/Assets/GoogleVR/Demos/Textures/HelloVR/TriSphere_Pink_BakedDiffuse.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 4960285264c024fc1906a7496f9e6c77 +timeCreated: 1509062221 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Editor.meta b/Assets/GoogleVR/Editor.meta new file mode 100644 index 0000000..7f8b4f1 --- /dev/null +++ b/Assets/GoogleVR/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 68c0e22592d3a2642ade877851f97300 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Editor/Controller.meta b/Assets/GoogleVR/Editor/Controller.meta new file mode 100644 index 0000000..642608f --- /dev/null +++ b/Assets/GoogleVR/Editor/Controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 796833fc7565bb949b56645546708700 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Editor/Controller/GvrControllerVisualEditor.cs b/Assets/GoogleVR/Editor/Controller/GvrControllerVisualEditor.cs new file mode 100644 index 0000000..85f2c0a --- /dev/null +++ b/Assets/GoogleVR/Editor/Controller/GvrControllerVisualEditor.cs @@ -0,0 +1,141 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEditor; +using System.Collections; + +/// Custom editor for GvrControllerVisual. +/// Enhances the visualization of the displayState and ensures that it can only be edited +/// if the application isn't playing or if readControllerState is turned off. +[CustomEditor(typeof(GvrControllerVisual)), CanEditMultipleObjects] +public class GvrControllerVisualEditor : Editor { + private SerializedProperty attachmentPrefabs; + private SerializedProperty touchPadColor; + private SerializedProperty appButtonColor; + private SerializedProperty systemButtonColor; + private SerializedProperty readControllerState; + private SerializedProperty displayState; + private SerializedProperty maximumAlpha; + + private GUIStyle displayStateHeaderStyle; + private GUIContent displayStateHeaderContent; + private float displayStateHeaderHeight; + + private const string DISPLAY_STATE_HEADER_TEXT = "DisplayState:"; + private const string DISPLAY_STATE_ITEM_PREFIX = "• "; + private const int DISPLAY_STATE_HEADER_FONT_SIZE_OFFSET = 2; + + private const string ATTACHMENT_PREFABS_PROP_NAME = "attachmentPrefabs"; + private const string TOUCH_PAD_COLOR_PROP_NAME = "touchPadColor"; + private const string APP_BUTTON_COLOR_PROP_NAME = "appButtonColor"; + private const string SYSTEM_BUTTON_COLOR_PROP_NAME = "systemButtonColor"; + private const string READ_CONTROLLER_STATE_PROP_NAME = "readControllerState"; + private const string DISPLAY_STATE_PROP_NAME = "displayState"; + private const string MAXIMUM_ALPHA_PROP_NAME = "maximumAlpha"; + + void OnEnable() { + attachmentPrefabs = serializedObject.FindProperty(ATTACHMENT_PREFABS_PROP_NAME); + touchPadColor = serializedObject.FindProperty(TOUCH_PAD_COLOR_PROP_NAME); + appButtonColor = serializedObject.FindProperty(APP_BUTTON_COLOR_PROP_NAME); + systemButtonColor = serializedObject.FindProperty(SYSTEM_BUTTON_COLOR_PROP_NAME); + readControllerState = serializedObject.FindProperty(READ_CONTROLLER_STATE_PROP_NAME); + displayState = serializedObject.FindProperty(DISPLAY_STATE_PROP_NAME); + maximumAlpha = serializedObject.FindProperty(MAXIMUM_ALPHA_PROP_NAME); + } + + public override void OnInspectorGUI() { + serializedObject.Update(); + + // Add clickable script field, as would have been provided by DrawDefaultInspector() + MonoScript script = MonoScript.FromMonoBehaviour (target as MonoBehaviour); + EditorGUI.BeginDisabledGroup (true); + EditorGUILayout.ObjectField ("Script", script, typeof(MonoScript), false); + EditorGUI.EndDisabledGroup (); + + CreateStylesAndContent(); + + // Show all properties except for display state. + EditorGUILayout.PropertyField(attachmentPrefabs, true); + EditorGUILayout.PropertyField(touchPadColor); + EditorGUILayout.PropertyField(appButtonColor); + EditorGUILayout.PropertyField(systemButtonColor); + EditorGUILayout.PropertyField(readControllerState); + + // Determine if the display state can currently be edited in the inspector. + bool allowEditDisplayState = !readControllerState.boolValue || !Application.isPlaying; + + if (!allowEditDisplayState) { + // Prevents editing the display state in the inspector. + GUI.enabled = false; + } + + Rect displayStateRect = EditorGUILayout.BeginVertical(); + GUI.Box(displayStateRect, ""); + + // Show the display state header. + EditorGUILayout.LabelField(displayStateHeaderContent, + displayStateHeaderStyle, + GUILayout.Height(displayStateHeaderHeight)); + + // Indent the display state properties. + EditorGUI.indentLevel++; + + // Iterate through the child properties of the displayState property. + SerializedProperty iter = displayState.Copy(); + SerializedProperty nextElement = displayState.Copy(); + bool hasNextElement = nextElement.Next(false); + + iter.NextVisible(true); + do { + // It iter is the same as nextElement, then the iter has moved beyond the children of the + // display state which means it has finished showing the display state. + if (hasNextElement && SerializedProperty.EqualContents(nextElement, iter)) { + break; + } + + GUIContent content = new GUIContent(DISPLAY_STATE_ITEM_PREFIX + iter.displayName); + EditorGUILayout.PropertyField(iter, content); + } while (iter.NextVisible(false)); + + // End the vertical region and draw the box. + EditorGUI.indentLevel--; + EditorGUILayout.Space(); + EditorGUILayout.EndVertical(); + + // Reset GUI.enabled. + if (!allowEditDisplayState) { + GUI.enabled = true; + } + + EditorGUILayout.PropertyField(maximumAlpha); + + serializedObject.ApplyModifiedProperties(); + } + + private void CreateStylesAndContent() { + if (displayStateHeaderContent == null) { + displayStateHeaderContent = new GUIContent(DISPLAY_STATE_HEADER_TEXT); + } + + if (displayStateHeaderStyle == null) { + displayStateHeaderStyle = new GUIStyle(EditorStyles.boldLabel); + + displayStateHeaderStyle.fontSize = + displayStateHeaderStyle.font.fontSize + DISPLAY_STATE_HEADER_FONT_SIZE_OFFSET; + + displayStateHeaderHeight = displayStateHeaderStyle.CalcSize(displayStateHeaderContent).y; + } + } +} diff --git a/Assets/GoogleVR/Editor/Controller/GvrControllerVisualEditor.cs.meta b/Assets/GoogleVR/Editor/Controller/GvrControllerVisualEditor.cs.meta new file mode 100644 index 0000000..6b85a27 --- /dev/null +++ b/Assets/GoogleVR/Editor/Controller/GvrControllerVisualEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 05d7d64713447433b86cb9a4e3d48560 +timeCreated: 1498249337 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Editor/Controller/GvrLaserPointerEditor.cs b/Assets/GoogleVR/Editor/Controller/GvrLaserPointerEditor.cs new file mode 100644 index 0000000..8cbfcfc --- /dev/null +++ b/Assets/GoogleVR/Editor/Controller/GvrLaserPointerEditor.cs @@ -0,0 +1,143 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEditor; + +/// Custom editor for GvrLaserPointer. +/// Adds buttons that allows user's to set the recommended default values for the different +/// raycast modes. +[CustomEditor(typeof(GvrLaserPointer)), CanEditMultipleObjects] +public class GvrLaserPointerEditor : Editor { + private SerializedProperty mode; + private SerializedProperty overridePointerCamera; + private SerializedProperty maxPointerDistance; + private SerializedProperty defaultReticleDistance; + private SerializedProperty rayIntersection; + private SerializedProperty drawDebugRays; + + + public const string RAYCAST_MODE_PROP_NAME = "raycastMode"; + public const string OVERRIDE_POINTER_CAMERA_PROP_NAME = "overridePointerCamera"; + public const string MAX_POINTER_DISTANCE_PROP_NAME = "maxPointerDistance"; + public const string DEFAULT_RETICLE_DISTANCE_PROP_NAME = "defaultReticleDistance"; + public const string RAY_INTERSECTION_PROP_NAME = "overrideCameraRayIntersectionDistance"; + public const string DRAW_DEBUG_RAYS_PROP_NAME = "drawDebugRays"; + + void OnEnable() { + mode = serializedObject.FindProperty(RAYCAST_MODE_PROP_NAME); + overridePointerCamera = serializedObject.FindProperty(OVERRIDE_POINTER_CAMERA_PROP_NAME); + maxPointerDistance = serializedObject.FindProperty(MAX_POINTER_DISTANCE_PROP_NAME); + defaultReticleDistance = serializedObject.FindProperty(DEFAULT_RETICLE_DISTANCE_PROP_NAME); + rayIntersection = serializedObject.FindProperty(RAY_INTERSECTION_PROP_NAME); + drawDebugRays = serializedObject.FindProperty(DRAW_DEBUG_RAYS_PROP_NAME); + } + + public override void OnInspectorGUI() { + serializedObject.Update(); + + // Add clickable script field, as would have been provided by DrawDefaultInspector() + MonoScript script = MonoScript.FromMonoBehaviour(target as MonoBehaviour); + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.ObjectField("Script", script, typeof(MonoScript), false); + EditorGUI.EndDisabledGroup(); + + Rect defaultsRect = EditorGUILayout.BeginVertical(); + GUI.Box(defaultsRect, /* No label. */ ""); + + GUILayout.Space(3.0f); + + EditorGUILayout.BeginHorizontal(); + + if (GUILayout.Button("Hybrid")) { + SetDefaultsForRaycastMode(GvrBasePointer.RaycastMode.Hybrid); + } + + if (GUILayout.Button("Camera")) { + SetDefaultsForRaycastMode(GvrBasePointer.RaycastMode.Camera); + } + + if (GUILayout.Button("Direct")) { + SetDefaultsForRaycastMode(GvrBasePointer.RaycastMode.Direct); + } + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.HelpBox("Use the above Raycast Mode buttons to reset the following properties to their recommended values.\n\n" + + "GvrLaserPointer:\n" + + " • " + mode.displayName + "\n" + + " • " + rayIntersection.displayName + "\n\n" + + "GvrLaserVisual:\n" + + " • Max Laser Distance\n" + + " • Shrink Laser\n", MessageType.Info); + + EditorGUILayout.EndVertical(); + EditorGUILayout.Space(); + + EditorGUILayout.PropertyField(maxPointerDistance); + EditorGUILayout.PropertyField(defaultReticleDistance); + + EditorGUILayout.Space(); + + EditorGUILayout.LabelField("Advanced:", EditorStyles.boldLabel); + EditorGUILayout.PropertyField(mode); + EditorGUILayout.PropertyField(overridePointerCamera); + EditorGUILayout.PropertyField(rayIntersection); + EditorGUILayout.PropertyField(drawDebugRays); + + serializedObject.ApplyModifiedProperties(); + } + + private void SetDefaultsForRaycastMode(GvrBasePointer.RaycastMode raycastMode) { + switch (raycastMode) { + case GvrBasePointer.RaycastMode.Hybrid: + mode.intValue = (int)raycastMode; + rayIntersection.floatValue = GvrVRHelpers.GetRayIntersection(raycastMode); + SetPropertiesForVisual(GvrVRHelpers.GetShrinkLaser(raycastMode), GvrVRHelpers.GetRecommendedMaxLaserDistance(raycastMode)); + break; + case GvrBasePointer.RaycastMode.Camera: + mode.intValue = (int)raycastMode; + rayIntersection.floatValue = GvrVRHelpers.GetRayIntersection(raycastMode); + SetPropertiesForVisual(GvrVRHelpers.GetShrinkLaser(raycastMode), GvrVRHelpers.GetRecommendedMaxLaserDistance(raycastMode)); + break; + case GvrBasePointer.RaycastMode.Direct: + mode.intValue = (int)raycastMode; + rayIntersection.floatValue = GvrVRHelpers.GetRayIntersection(raycastMode); + SetPropertiesForVisual(GvrVRHelpers.GetShrinkLaser(raycastMode), GvrVRHelpers.GetRecommendedMaxLaserDistance(raycastMode)); + break; + default: + Debug.LogError("Trying to set defaults for invalid Raycast Mode: " + raycastMode); + return; + } + } + + private void SetPropertiesForVisual(bool shrinkLaser, float maxLaserDistance) { + foreach (Object obj in serializedObject.targetObjects) { + GvrLaserVisual laserVisual = (obj as MonoBehaviour).GetComponent(); + if (laserVisual != null) { + SerializedObject serializedLaserVisual = new SerializedObject(laserVisual); + + SerializedProperty serializedShrinkLaser = + serializedLaserVisual.FindProperty(GvrLaserVisualEditor.SHRINK_LASER_PROP_NAME); + serializedShrinkLaser.boolValue = shrinkLaser; + + SerializedProperty serializedMaxLaserDistance = + serializedLaserVisual.FindProperty(GvrLaserVisualEditor.MAX_LASER_DISTANCE_PROP_NAME); + serializedMaxLaserDistance.floatValue = maxLaserDistance; + + serializedLaserVisual.ApplyModifiedProperties(); + } + } + } +} diff --git a/Assets/GoogleVR/Editor/Controller/GvrLaserPointerEditor.cs.meta b/Assets/GoogleVR/Editor/Controller/GvrLaserPointerEditor.cs.meta new file mode 100644 index 0000000..d591721 --- /dev/null +++ b/Assets/GoogleVR/Editor/Controller/GvrLaserPointerEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cc6e38fe705a640ba9cc80555465b13e +timeCreated: 1498249337 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Editor/Controller/GvrLaserVisualEditor.cs b/Assets/GoogleVR/Editor/Controller/GvrLaserVisualEditor.cs new file mode 100644 index 0000000..b04be4c --- /dev/null +++ b/Assets/GoogleVR/Editor/Controller/GvrLaserVisualEditor.cs @@ -0,0 +1,114 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEditor; +using System.Collections; + +/// Custom editor for GvrLaserVisual. +/// Shows the relationship between the shrinkLaser property and other related properties. +[CustomEditor(typeof(GvrLaserVisual)), CanEditMultipleObjects] +public class GvrLaserVisualEditor : Editor { + private SerializedProperty laserColor; + private SerializedProperty laserColorEnd; + private SerializedProperty maxLaserDistance; + private SerializedProperty shrinkLaser; + private SerializedProperty shrunkScale; + private SerializedProperty beginShrinkAngleDegrees; + private SerializedProperty endShrinkAngleDegrees; + private SerializedProperty lerpSpeed; + private SerializedProperty lerpThreshold; + private SerializedProperty reticle; + private SerializedProperty controller; + + public const string LASER_COLOR_PROP_NAME = "laserColor"; + public const string LASER_COLOR_END_PROP_NAME = "laserColorEnd"; + public const string MAX_LASER_DISTANCE_PROP_NAME = "maxLaserDistance"; + public const string SHRINK_LASER_PROP_NAME = "shrinkLaser"; + public const string SHURNK_SCALE_PROP_NAME = "shrunkScale"; + public const string BEGIN_SHRINKING_ANGLE_DEGREES_PROP_NAME = "beginShrinkAngleDegrees"; + public const string END_SHRINKING_ANGLE_DEGREES_PROP_NAME = "endShrinkAngleDegrees"; + public const string LERP_SPEED_PROP_NAME = "lerpSpeed"; + public const string LERP_THRESHOLD_PROP_NAME = "lerpThreshold"; + public const string RETICLE_PROP_NAME = "reticle"; + public const string CONTROLLER_PROP_NAME = "controller"; + + private const string ITEM_PREFIX = "• "; + + void OnEnable() { + laserColor = serializedObject.FindProperty(LASER_COLOR_PROP_NAME); + laserColorEnd = serializedObject.FindProperty(LASER_COLOR_END_PROP_NAME); + maxLaserDistance = serializedObject.FindProperty(MAX_LASER_DISTANCE_PROP_NAME); + shrinkLaser = serializedObject.FindProperty(SHRINK_LASER_PROP_NAME); + shrunkScale = serializedObject.FindProperty(SHURNK_SCALE_PROP_NAME); + beginShrinkAngleDegrees = serializedObject.FindProperty(BEGIN_SHRINKING_ANGLE_DEGREES_PROP_NAME); + endShrinkAngleDegrees = serializedObject.FindProperty(END_SHRINKING_ANGLE_DEGREES_PROP_NAME); + lerpSpeed = serializedObject.FindProperty(LERP_SPEED_PROP_NAME); + lerpThreshold = serializedObject.FindProperty(LERP_THRESHOLD_PROP_NAME); + reticle = serializedObject.FindProperty(RETICLE_PROP_NAME); + controller = serializedObject.FindProperty(CONTROLLER_PROP_NAME); + } + + public override void OnInspectorGUI() { + serializedObject.Update(); + + // Add clickable script field, as would have been provided by DrawDefaultInspector() + MonoScript script = MonoScript.FromMonoBehaviour(target as MonoBehaviour); + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.ObjectField("Script", script, typeof(MonoScript), false); + EditorGUI.EndDisabledGroup(); + + // Show properties for the laser visual. + EditorGUILayout.PropertyField(reticle); + EditorGUILayout.PropertyField(controller); + EditorGUILayout.PropertyField(laserColor); + EditorGUILayout.PropertyField(laserColorEnd); + EditorGUILayout.PropertyField(maxLaserDistance); + EditorGUILayout.PropertyField(lerpSpeed); + EditorGUILayout.PropertyField(lerpThreshold); + EditorGUILayout.PropertyField(shrinkLaser); + + // Show properties for shrinking animation. Only enabled if shrinkLaser is enabled. + if (!shrinkLaser.boolValue) { + GUI.enabled = false; + } + + EditorGUI.indentLevel++; + Rect shrinkLaserRect = EditorGUILayout.BeginVertical(); + shrinkLaserRect = EditorGUI.IndentedRect(shrinkLaserRect); + GUI.Box(shrinkLaserRect, ""); + EditorGUILayout.Space(); + + EditorGUILayout.PropertyField(shrunkScale, + new GUIContent(ITEM_PREFIX + shrunkScale.displayName)); + + EditorGUILayout.PropertyField(beginShrinkAngleDegrees, + new GUIContent(ITEM_PREFIX + beginShrinkAngleDegrees.displayName)); + + EditorGUILayout.PropertyField(endShrinkAngleDegrees, + new GUIContent(ITEM_PREFIX + endShrinkAngleDegrees.displayName)); + + EditorGUILayout.Space(); + EditorGUILayout.EndVertical(); + EditorGUI.indentLevel--; + + if (!shrinkLaser.boolValue) { + GUI.enabled = true; + } + + EditorGUILayout.Space(); + + serializedObject.ApplyModifiedProperties(); + } +} diff --git a/Assets/GoogleVR/Editor/Controller/GvrLaserVisualEditor.cs.meta b/Assets/GoogleVR/Editor/Controller/GvrLaserVisualEditor.cs.meta new file mode 100644 index 0000000..9f03084 --- /dev/null +++ b/Assets/GoogleVR/Editor/Controller/GvrLaserVisualEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 66fe40e11a2514648906e6825b026b85 +timeCreated: 1498249337 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Editor/Controller/GvrTooltipEditor.cs b/Assets/GoogleVR/Editor/Controller/GvrTooltipEditor.cs new file mode 100644 index 0000000..46b1676 --- /dev/null +++ b/Assets/GoogleVR/Editor/Controller/GvrTooltipEditor.cs @@ -0,0 +1,29 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEditor; + +/// A custom editor for the GvrTooltip script. It exists to surface to the user that the tooltip +/// changes based on handedness, and to make it easy to preview the handedness settings. +[CustomEditor(typeof(GvrTooltip)), CanEditMultipleObjects] +public class GvrTooltipEditor : Editor { + public override void OnInspectorGUI() { + DrawDefaultInspector(); + EditorGUILayout.LabelField("Current Handedness", GvrSettings.Handedness.ToString(), EditorStyles.boldLabel); + if (GUILayout.Button("Change Handedness")) { + EditorWindow.GetWindow(typeof(GvrEditorSettings)); + } + } +} diff --git a/Assets/GoogleVR/Editor/Controller/GvrTooltipEditor.cs.meta b/Assets/GoogleVR/Editor/Controller/GvrTooltipEditor.cs.meta new file mode 100644 index 0000000..e3f30e8 --- /dev/null +++ b/Assets/GoogleVR/Editor/Controller/GvrTooltipEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 23485e28fa60c463f8235998a0e76e6a +timeCreated: 1482187746 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Editor/EventSystem.meta b/Assets/GoogleVR/Editor/EventSystem.meta new file mode 100644 index 0000000..5039e2f --- /dev/null +++ b/Assets/GoogleVR/Editor/EventSystem.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 44f73449456ed5d44b7203f5dfba14d6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Editor/EventSystem/GvrPointerScrollInputEditor.cs b/Assets/GoogleVR/Editor/EventSystem/GvrPointerScrollInputEditor.cs new file mode 100644 index 0000000..58da0c9 --- /dev/null +++ b/Assets/GoogleVR/Editor/EventSystem/GvrPointerScrollInputEditor.cs @@ -0,0 +1,77 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.UI; +using UnityEditor; + +[CustomPropertyDrawer(typeof(GvrPointerScrollInput), true)] +public class GvrPointerScrollInputEditor : PropertyDrawer { + private bool isExpanded = true; + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { + EditorGUI.BeginProperty(position, label, property); + + int rows = GetNumRows(property); + float totalHeight = position.height; + float rowHeight = totalHeight / rows; + position.height = rowHeight; + + isExpanded = EditorGUI.Foldout(position, isExpanded, label); + + if (isExpanded) { + EditorGUI.indentLevel++; + + // Inertia property. + SerializedProperty inertia = + property.FindPropertyRelative(GvrPointerScrollInput.PROPERTY_NAME_INERTIA); + + position.y += rowHeight; + EditorGUI.PropertyField(position, inertia); + + if (inertia.boolValue) { + EditorGUI.indentLevel++; + + // Deceleration rate property. + SerializedProperty decelerationRate = + property.FindPropertyRelative(GvrPointerScrollInput.PROPERTY_NAME_DECELERATION_RATE); + + position.y += rowHeight; + EditorGUI.PropertyField(position, decelerationRate); + + EditorGUI.indentLevel--; + } + EditorGUI.indentLevel--; + } + + EditorGUI.EndProperty(); + } + + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) { + return base.GetPropertyHeight(property, label) * GetNumRows(property); + } + + private int GetNumRows(SerializedProperty property) { + SerializedProperty inertia = + property.FindPropertyRelative(GvrPointerScrollInput.PROPERTY_NAME_INERTIA); + + if (!isExpanded) { + return 1; + } else if (!inertia.boolValue) { + return 2; + } else { + return 3; + } + } +} \ No newline at end of file diff --git a/Assets/GoogleVR/Editor/EventSystem/GvrPointerScrollInputEditor.cs.meta b/Assets/GoogleVR/Editor/EventSystem/GvrPointerScrollInputEditor.cs.meta new file mode 100644 index 0000000..c4abb86 --- /dev/null +++ b/Assets/GoogleVR/Editor/EventSystem/GvrPointerScrollInputEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: da538b2d940864934bfd4a6f2e6d0602 +timeCreated: 1487103089 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Editor/GvrBuildProcessor.cs b/Assets/GoogleVR/Editor/GvrBuildProcessor.cs new file mode 100644 index 0000000..1133c41 --- /dev/null +++ b/Assets/GoogleVR/Editor/GvrBuildProcessor.cs @@ -0,0 +1,130 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// Only invoke custom build processor when building for Android or iOS. +#if UNITY_ANDROID || UNITY_IOS +using UnityEngine; +using UnityEditor; +using UnityEditor.Build; +using System.Linq; + +#if UNITY_IOS +using UnityEditor.iOS.Xcode; +using System.IO; +#endif + +#if UNITY_2017_2_OR_NEWER +using UnityEngine.XR; +#else +using XRSettings = UnityEngine.VR.VRSettings; +#endif // UNITY_2017_2_OR_NEWER + +#if UNITY_2018_1_OR_NEWER +using UnityEditor.Build.Reporting; +#endif + +// Notifies users if they build for Android or iOS without Cardboard or Daydream enabled. +#if UNITY_2018_1_OR_NEWER +class GvrBuildProcessor : IPreprocessBuildWithReport, IPostprocessBuildWithReport { +#else +class GvrBuildProcessor : IPreprocessBuild, IPostprocessBuild { +#endif + private const string VR_SETTINGS_NOT_ENABLED_ERROR_MESSAGE_FORMAT = + "To use the Google VR SDK on {0}, 'Player Settings > Virtual Reality Supported' setting must be checked.\n" + + "Please fix this setting and rebuild your app."; + private const string IOS_MISSING_GVR_SDK_ERROR_MESSAGE = + "To use the Google VR SDK on iOS, 'Player Settings > Virtual Reality SDKs' must include 'Cardboard'.\n" + + "Please fix this setting and rebuild your app."; + private const string ANDROID_MISSING_GVR_SDK_ERROR_MESSAGE = + "To use the Google VR SDK on Android, 'Player Settings > Virtual Reality SDKs' must include 'Daydream' or 'Cardboard'.\n" + + "Please fix this setting and rebuild your app."; + + public int callbackOrder { + get { return 0; } + } + +#if UNITY_2018_1_OR_NEWER + public void OnPreprocessBuild(BuildReport report) + { + OnPreprocessBuild(report.summary.platform, report.summary.outputPath); + } +#endif + + public void OnPreprocessBuild (BuildTarget target, string path) + { + if (target != BuildTarget.Android && target != BuildTarget.iOS) { + // Do nothing when not building for Android or iOS. + return; + } + + // 'Player Settings > Virtual Reality Supported' must be enabled. + if (!IsVRSupportEnabled()) { + Debug.LogErrorFormat(VR_SETTINGS_NOT_ENABLED_ERROR_MESSAGE_FORMAT, target); + } + + if (target == BuildTarget.Android) { + // When building for Android at least one VR SDK must be included. + // For Google VR valid VR SDKs are 'Daydream' and/or 'Cardboard'. + if (!IsSDKOtherThanNoneIncluded()) { + Debug.LogError(ANDROID_MISSING_GVR_SDK_ERROR_MESSAGE); + } + } + + if (target == BuildTarget.iOS) { + // When building for iOS at least one VR SDK must be included. + // For Google VR only 'Cardboard' is supported. + if (!IsSDKOtherThanNoneIncluded()) { + Debug.LogError(IOS_MISSING_GVR_SDK_ERROR_MESSAGE); + } + } + } + +#if UNITY_2018_1_OR_NEWER + public void OnPostprocessBuild(BuildReport report) { + OnPostprocessBuild(report.summary.platform, report.summary.outputPath); + } +#endif + + public void OnPostprocessBuild(BuildTarget target, string outputPath) { +#if UNITY_IOS + // Add Camera usage description for scanning viewer QR codes on iOS. + if (target == BuildTarget.iOS) { + // Read plist + var plistPath = Path.Combine(outputPath, "Info.plist"); + var plist = new PlistDocument(); + plist.ReadFromFile(plistPath); + + // Update value + PlistElementDict rootDict = plist.root; + rootDict.SetString("NSCameraUsageDescription", "Scan Cardboard viewer QR code"); + + // Write plist + File.WriteAllText(plistPath, plist.WriteToString()); + } +#endif + } + + // 'Player Settings > Virtual Reality Supported' enabled? + private bool IsVRSupportEnabled() { + return PlayerSettings.virtualRealitySupported; + } + + // 'Player Settings > Virtual Reality SDKs' includes any VR SDK other than 'None'? + private bool IsSDKOtherThanNoneIncluded() { + bool containsNone = XRSettings.supportedDevices.Contains(GvrSettings.VR_SDK_NONE); + int numSdks = XRSettings.supportedDevices.Length; + return containsNone ? numSdks > 1 : numSdks > 0; + } +} +#endif // UNITY_ANDROID || UNITY_IOS diff --git a/Assets/GoogleVR/Editor/GvrBuildProcessor.cs.meta b/Assets/GoogleVR/Editor/GvrBuildProcessor.cs.meta new file mode 100644 index 0000000..3c3aa61 --- /dev/null +++ b/Assets/GoogleVR/Editor/GvrBuildProcessor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: acad0e6b1721a4b30992f78c06434321 +timeCreated: 1490158482 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Editor/GvrEditorEmulatorEditor.cs b/Assets/GoogleVR/Editor/GvrEditorEmulatorEditor.cs new file mode 100644 index 0000000..1757589 --- /dev/null +++ b/Assets/GoogleVR/Editor/GvrEditorEmulatorEditor.cs @@ -0,0 +1,40 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEditor; + +/// A custom editor for the GvrEditorEmulator script. +/// It adds an info panel describing the camera controls. +[CustomEditor(typeof(GvrEditorEmulator)), CanEditMultipleObjects] +public class GvrEditorEmulatorEditor : Editor { + private float infoHeight; + + private const string INFO_TEXT = "Camera Controls:\n" + + " • Alt + Move Mouse = Change Yaw/Pitch\n" + + " • Ctrl + Move Mouse = Change Roll"; + + private const int NUM_INFO_LINES = 3; + + void OnEnable() { + infoHeight = GvrInfoDrawer.GetHeightForLines(NUM_INFO_LINES); + } + + public override void OnInspectorGUI() { + DrawDefaultInspector(); + + Rect rect = EditorGUILayout.GetControlRect(false, infoHeight); + GvrInfoDrawer.Draw(rect, INFO_TEXT); + } +} diff --git a/Assets/GoogleVR/Editor/GvrEditorEmulatorEditor.cs.meta b/Assets/GoogleVR/Editor/GvrEditorEmulatorEditor.cs.meta new file mode 100644 index 0000000..8f0497c --- /dev/null +++ b/Assets/GoogleVR/Editor/GvrEditorEmulatorEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f789f1d07e73f42b398b211da58efc42 +timeCreated: 1498601428 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Editor/GvrEditorMenu.cs b/Assets/GoogleVR/Editor/GvrEditorMenu.cs new file mode 100644 index 0000000..a7bc1dd --- /dev/null +++ b/Assets/GoogleVR/Editor/GvrEditorMenu.cs @@ -0,0 +1,49 @@ +// Copyright 2015 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEditor; + +public class GvrEditorMenu { + [MenuItem("GoogleVR/Documentation/Developers Site", false, 100)] + private static void OpenDocumentation() { + Application.OpenURL("https://developers.google.com/vr"); + } + + [MenuItem("GoogleVR/Documentation/Unity Guide", false, 100)] + private static void OpenUnityGuide() { + Application.OpenURL("https://developers.google.com/vr/unity/guide"); + } + + [MenuItem("GoogleVR/Documentation/Release Notes", false, 100)] + private static void OpenReleaseNotes() { + Application.OpenURL("https://developers.google.com/vr/unity/release-notes"); + } + + [MenuItem("GoogleVR/Documentation/Known Issues", false, 100)] + private static void OpenKnownIssues() { + Application.OpenURL("https://developers.google.com/vr/unity/release-notes#known_issues"); + } + + [MenuItem("GoogleVR/Editor Settings", false, 100)] + private static void OpenEditorSettings() { + EditorWindow.GetWindow(typeof(GvrEditorSettings)); + } + + [MenuItem("GoogleVR/Report Bug", false, 100)] + private static void OpenReportBug() { + Application.OpenURL("https://github.com/googlesamples/cardboard-unity/issues"); + } + +} diff --git a/Assets/GoogleVR/Editor/GvrEditorMenu.cs.meta b/Assets/GoogleVR/Editor/GvrEditorMenu.cs.meta new file mode 100644 index 0000000..10aa887 --- /dev/null +++ b/Assets/GoogleVR/Editor/GvrEditorMenu.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5eb60798954e54a7280c0cd353773edf +timeCreated: 1448497144 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Editor/GvrEditorSettings.cs b/Assets/GoogleVR/Editor/GvrEditorSettings.cs new file mode 100644 index 0000000..2f9f611 --- /dev/null +++ b/Assets/GoogleVR/Editor/GvrEditorSettings.cs @@ -0,0 +1,34 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEditor; +using System.Collections; + +/// A custom editor window used to set editor preferences for GoogleVR. +/// Editor preferences are editor specific options that help build and test +/// applications from within the Unity Editor. +class GvrEditorSettings : EditorWindow { + void OnGUI () { + // Label for Controller Emulator settings + EditorGUILayout.LabelField("Controller Emulator", EditorStyles.boldLabel); + + // Option to control Handedness + GvrSettings.UserPrefsHandedness oldHandedness = GvrSettings.Handedness; + GvrSettings.Handedness = (GvrSettings.UserPrefsHandedness) EditorGUILayout.EnumPopup("Handedness", oldHandedness); + if (oldHandedness != GvrSettings.Handedness) { + UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); + } + } +} \ No newline at end of file diff --git a/Assets/GoogleVR/Editor/GvrEditorSettings.cs.meta b/Assets/GoogleVR/Editor/GvrEditorSettings.cs.meta new file mode 100644 index 0000000..9911e02 --- /dev/null +++ b/Assets/GoogleVR/Editor/GvrEditorSettings.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ce0ec89649a704bd991b4db7e412794f +timeCreated: 1482180802 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Fonts.meta b/Assets/GoogleVR/Fonts.meta new file mode 100644 index 0000000..1d9504f --- /dev/null +++ b/Assets/GoogleVR/Fonts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fd2c24fbd659c734a830147aa4ec09f0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Fonts/Roboto-Medium.ttf b/Assets/GoogleVR/Fonts/Roboto-Medium.ttf new file mode 100644 index 0000000..a3c1a1f Binary files /dev/null and b/Assets/GoogleVR/Fonts/Roboto-Medium.ttf differ diff --git a/Assets/GoogleVR/Fonts/Roboto-Medium.ttf.meta b/Assets/GoogleVR/Fonts/Roboto-Medium.ttf.meta new file mode 100644 index 0000000..c7c8852 --- /dev/null +++ b/Assets/GoogleVR/Fonts/Roboto-Medium.ttf.meta @@ -0,0 +1,20 @@ +fileFormatVersion: 2 +guid: 4eedafad5084240419e649245c7b2093 +timeCreated: 1476470356 +licenseType: Pro +TrueTypeFontImporter: + serializedVersion: 4 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontNames: + - Roboto + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/GVRVideoPlayer.unitypackage.meta b/Assets/GoogleVR/GVRVideoPlayer.unitypackage.meta new file mode 100644 index 0000000..bced8d2 --- /dev/null +++ b/Assets/GoogleVR/GVRVideoPlayer.unitypackage.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 39850532bc74a4078a24832112e8aef3 +timeCreated: 1534545520 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/LICENSE b/Assets/GoogleVR/LICENSE new file mode 100644 index 0000000..d66dc91 --- /dev/null +++ b/Assets/GoogleVR/LICENSE @@ -0,0 +1,275 @@ +Except as indicated at the end of this LICENSE file, +files in this SDK are licensed as follows: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + 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. + +=============================================================================== + +The following files: +- Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModule.cs +- Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModuleImpl.cs + +are licensed as follows: + + +The MIT License (MIT) + +Copyright (c) 2015, Unity Technologies & Google, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +=============================================================================== + +The following file: +- Assets/Plugins/Google.ProtocolBuffers.dll + +is licensed as follows: + +Protocol Buffers - Google's data interchange format +Copyright 2008-2010 Google Inc. All rights reserved. +http://github.com/jskeet/dotnet-protobufs/ +Original C++/Java/Python code: +http://code.google.com/p/protobuf/ + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Assets/GoogleVR/LICENSE.meta b/Assets/GoogleVR/LICENSE.meta new file mode 100644 index 0000000..f15b72b --- /dev/null +++ b/Assets/GoogleVR/LICENSE.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 0ae37b2426f844468ab02f411263ae0d +DefaultImporter: + userData: diff --git a/Assets/GoogleVR/Legacy.meta b/Assets/GoogleVR/Legacy.meta new file mode 100644 index 0000000..17b24a7 --- /dev/null +++ b/Assets/GoogleVR/Legacy.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 66ae71cc7c9b324419e91e892b27077e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Editor.meta b/Assets/GoogleVR/Legacy/Editor.meta new file mode 100644 index 0000000..257e85a --- /dev/null +++ b/Assets/GoogleVR/Legacy/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 39286e85a70850b40b2b172dc7e47090 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Editor/Audio.meta b/Assets/GoogleVR/Legacy/Editor/Audio.meta new file mode 100644 index 0000000..64c937d --- /dev/null +++ b/Assets/GoogleVR/Legacy/Editor/Audio.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 18dada7f02ed69f4fa13405a9eb6c1e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioListenerEditor.cs b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioListenerEditor.cs new file mode 100644 index 0000000..70ec3f2 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioListenerEditor.cs @@ -0,0 +1,71 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEditor; +using System.Collections; + +#pragma warning disable 0618 // Ignore GvrAudio* deprecation + +/// A custom editor for properties on the GvrAudioListener script. This appears in the Inspector +/// window of a GvrAudioListener object. +[CustomEditor(typeof(GvrAudioListener))] +public class GvrAudioListenerEditor : Editor { + private SerializedProperty globalGainDb = null; + private SerializedProperty occlusionMask = null; + private SerializedProperty quality = null; + + private GUIContent globalGainLabel = new GUIContent("Global Gain (dB)", + "Sets the global gain of the system. Can be used to adjust the overall output volume."); + private GUIContent occlusionMaskLabel = new GUIContent("Occlusion Mask", + "Sets the global layer mask for occlusion detection."); + private GUIContent qualityLabel = new GUIContent("Quality", + "Sets the quality mode in which the spatial audio will be rendered. " + + "Higher quality modes allow for increased fidelity at the cost of greater CPU usage."); + + void OnEnable () { + globalGainDb = serializedObject.FindProperty("globalGainDb"); + occlusionMask = serializedObject.FindProperty("occlusionMask"); + quality = serializedObject.FindProperty("quality"); + } + + /// @cond + public override void OnInspectorGUI () { + serializedObject.Update(); + + // Add clickable script field, as would have been provided by DrawDefaultInspector() + MonoScript script = MonoScript.FromMonoBehaviour (target as MonoBehaviour); + EditorGUI.BeginDisabledGroup (true); + EditorGUILayout.ObjectField ("Script", script, typeof(MonoScript), false); + EditorGUI.EndDisabledGroup (); + + // Rendering quality can only be modified through the Inspector in Edit mode. + EditorGUI.BeginDisabledGroup (EditorApplication.isPlaying); + EditorGUILayout.PropertyField(quality, qualityLabel); + EditorGUI.EndDisabledGroup (); + + EditorGUILayout.Separator(); + + EditorGUILayout.Slider(globalGainDb, GvrAudio.minGainDb, GvrAudio.maxGainDb, globalGainLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(occlusionMask, occlusionMaskLabel); + + serializedObject.ApplyModifiedProperties(); + } + /// @endcond +} + +#pragma warning restore 0618 // Restore warnings diff --git a/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioListenerEditor.cs.meta b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioListenerEditor.cs.meta new file mode 100644 index 0000000..bd08b20 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioListenerEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 846f7b1b78d8e4eb2a0db361797b6e76 +timeCreated: 1447979035 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioRoomEditor.cs b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioRoomEditor.cs new file mode 100644 index 0000000..3eb5565 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioRoomEditor.cs @@ -0,0 +1,118 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEditor; +using System.Collections; + +#pragma warning disable 0618 // Ignore GvrAudio* deprecation + +/// A custom editor for properties on the GvrAudioRoom script. This appears in the Inspector window +/// of a GvrAudioRoom object. +[CustomEditor(typeof(GvrAudioRoom))] +[CanEditMultipleObjects] +public class GvrAudioRoomEditor : Editor { + private SerializedProperty leftWall = null; + private SerializedProperty rightWall = null; + private SerializedProperty floor = null; + private SerializedProperty ceiling = null; + private SerializedProperty backWall = null; + private SerializedProperty frontWall = null; + private SerializedProperty reflectivity = null; + private SerializedProperty reverbGainDb = null; + private SerializedProperty reverbBrightness = null; + private SerializedProperty reverbTime = null; + private SerializedProperty size = null; + + private GUIContent surfaceMaterialsLabel = new GUIContent("Surface Materials", + "Room surface materials to calculate the acoustic properties of the room."); + private GUIContent surfaceMaterialLabel = new GUIContent("Surface Material", + "Surface material used to calculate the acoustic properties of the room."); + private GUIContent reflectivityLabel = new GUIContent("Reflectivity", + "Adjusts what proportion of the direct sound is reflected back by each surface, after an " + + "appropriate delay. Reverberation is unaffected by this setting."); + private GUIContent reverbGainLabel = new GUIContent("Gain (dB)", + "Applies a gain adjustment to the reverberation in the room. The default value will leave " + + "reverb unaffected."); + private GUIContent reverbPropertiesLabel = new GUIContent("Reverb Properties", + "Parameters to adjust the reverb properties of the room."); + private GUIContent reverbBrightnessLabel = new GUIContent("Brightness", + "Adjusts the balance between high and low frequencies in the reverb."); + private GUIContent reverbTimeLabel = new GUIContent("Time", + "Adjusts the overall duration of the reverb by a positive scaling factor."); + private GUIContent sizeLabel = new GUIContent("Size", "Sets the room dimensions."); + + void OnEnable () { + leftWall = serializedObject.FindProperty("leftWall"); + rightWall = serializedObject.FindProperty("rightWall"); + floor = serializedObject.FindProperty("floor"); + ceiling = serializedObject.FindProperty("ceiling"); + backWall = serializedObject.FindProperty("backWall"); + frontWall = serializedObject.FindProperty("frontWall"); + reflectivity = serializedObject.FindProperty("reflectivity"); + reverbGainDb = serializedObject.FindProperty("reverbGainDb"); + reverbBrightness = serializedObject.FindProperty("reverbBrightness"); + reverbTime = serializedObject.FindProperty("reverbTime"); + size = serializedObject.FindProperty("size"); + } + + /// @cond + public override void OnInspectorGUI () { + serializedObject.Update(); + + // Add clickable script field, as would have been provided by DrawDefaultInspector() + MonoScript script = MonoScript.FromMonoBehaviour (target as MonoBehaviour); + EditorGUI.BeginDisabledGroup (true); + EditorGUILayout.ObjectField ("Script", script, typeof(MonoScript), false); + EditorGUI.EndDisabledGroup (); + + EditorGUILayout.LabelField(surfaceMaterialsLabel); + ++EditorGUI.indentLevel; + DrawSurfaceMaterial(leftWall); + DrawSurfaceMaterial(rightWall); + DrawSurfaceMaterial(floor); + DrawSurfaceMaterial(ceiling); + DrawSurfaceMaterial(backWall); + DrawSurfaceMaterial(frontWall); + --EditorGUI.indentLevel; + + EditorGUILayout.Separator(); + + EditorGUILayout.Slider(reflectivity, 0.0f, GvrAudio.maxReflectivity, reflectivityLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.LabelField(reverbPropertiesLabel); + ++EditorGUI.indentLevel; + EditorGUILayout.Slider(reverbGainDb, GvrAudio.minGainDb, GvrAudio.maxGainDb, reverbGainLabel); + EditorGUILayout.Slider(reverbBrightness, GvrAudio.minReverbBrightness, + GvrAudio.maxReverbBrightness, reverbBrightnessLabel); + EditorGUILayout.Slider(reverbTime, 0.0f, GvrAudio.maxReverbTime, reverbTimeLabel); + --EditorGUI.indentLevel; + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(size, sizeLabel); + + serializedObject.ApplyModifiedProperties(); + } + /// @endcond + + private void DrawSurfaceMaterial (SerializedProperty surfaceMaterial) { + surfaceMaterialLabel.text = surfaceMaterial.displayName; + EditorGUILayout.PropertyField(surfaceMaterial, surfaceMaterialLabel); + } +} + +#pragma warning restore 0618 // Restore warnings diff --git a/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioRoomEditor.cs.meta b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioRoomEditor.cs.meta new file mode 100644 index 0000000..9f865a2 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioRoomEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2e20199949e8e4ecd992d68cf09fc902 +timeCreated: 1447979493 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioSoundfieldEditor.cs b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioSoundfieldEditor.cs new file mode 100644 index 0000000..f868e4c --- /dev/null +++ b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioSoundfieldEditor.cs @@ -0,0 +1,161 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEditor; +using System.Collections; + +#pragma warning disable 0618 // Ignore GvrAudio* deprecation + +/// A custom editor for properties on the GvrAudioSoundfield script. This appears in the Inspector +/// window of a GvrAudioSoundfield object. +[CustomEditor(typeof(GvrAudioSoundfield))] +[CanEditMultipleObjects] +public class GvrAudioSoundfieldEditor : Editor { + private SerializedProperty clip0102 = null; + private SerializedProperty clip0304 = null; + private SerializedProperty loop = null; + private SerializedProperty mute = null; + private SerializedProperty pitch = null; + private SerializedProperty playOnAwake = null; + private SerializedProperty priority = null; + private SerializedProperty spatialBlend = null; + private SerializedProperty volume = null; + private SerializedProperty dopplerLevel = null; + private SerializedProperty rolloffMode = null; + private SerializedProperty maxDistance = null; + private SerializedProperty minDistance = null; + private SerializedProperty bypassRoomEffects = null; + private SerializedProperty gainDb = null; + + private GUIContent clip0102Label = new GUIContent("Channels 1 & 2 (WY)", + "The AudioClip asset for the 1 & 2 channels (W & Y components) of the first-order " + + "ambisonic soundfield. Channels must be in Ambix (ACN/SN3D) format."); + private GUIContent clip0304Label = new GUIContent("Channels 3 & 4 (ZX)", + "The AudioClip asset for the 3 & 4 channels (Z & X components) of the first-order " + + "ambisonic soundfield. Channels must be in Ambix (ACN/SN3D) format."); + private GUIContent loopLabel = new GUIContent("Loop", + "Sets the soundfield to loop."); + private GUIContent muteLabel = new GUIContent("Mute", + "Mutes the sound."); + private GUIContent pitchLabel = new GUIContent("Pitch", + "Sets the frequency of the sound. Use this to slow down or speed up the sound."); + private GUIContent priorityLabel = new GUIContent("Priority", + "Sets the priority of the soundfield. Note that a sound with a larger priority value will " + + "more likely be stolen by sounds with smaller priority values."); + private GUIContent spatialBlendLabel = new GUIContent("Spatial Blend", + "Sets how much this soundfield is treated as a 3D source. Setting this value to 0 will " + + "ignore distance attenuation and doppler effects. However, it does not affect panning the " + + "sound around the listener."); + private GUIContent volumeLabel = new GUIContent("Volume", + "Sets the overall volume of the soundfield."); + private GUIContent dopplerLevelLabel = new GUIContent("Doppler Level", + "Specifies how much the pitch is changed based on the relative velocity between the " + + "soundfield and the listener."); + private GUIContent rolloffModeLabel = new GUIContent("Volume Rolloff", + "Which type of rolloff curve to use."); + private GUIContent maxDistanceLabel = new GUIContent("Max Distance", + "Max distance is the distance a sound stops attenuating at."); + private GUIContent minDistanceLabel = new GUIContent("Min Distance", + "Within the min distance, the volume will stay at the loudest possible. " + + "Outside this min distance it will begin to attenuate."); + private GUIContent playOnAwakeLabel = new GUIContent("Play On Awake", + "Play the sound when the scene loads."); + private GUIContent bypassRoomEffectsLabel = new GUIContent("Bypass Room Effects", + "Sets whether the room effects for the soundfield should be bypassed."); + private GUIContent gainLabel = new GUIContent("Gain (dB)", + "Applies a gain to the soundfield for adjustment of relative loudness."); + + void OnEnable () { + clip0102 = serializedObject.FindProperty("soundfieldClip0102"); + clip0304 = serializedObject.FindProperty("soundfieldClip0304"); + loop = serializedObject.FindProperty("soundfieldLoop"); + mute = serializedObject.FindProperty("soundfieldMute"); + pitch = serializedObject.FindProperty("soundfieldPitch"); + playOnAwake = serializedObject.FindProperty("playOnAwake"); + priority = serializedObject.FindProperty("soundfieldPriority"); + spatialBlend = serializedObject.FindProperty("soundfieldSpatialBlend"); + volume = serializedObject.FindProperty("soundfieldVolume"); + dopplerLevel = serializedObject.FindProperty("soundfieldDopplerLevel"); + rolloffMode = serializedObject.FindProperty("soundfieldRolloffMode"); + maxDistance = serializedObject.FindProperty("soundfieldMaxDistance"); + minDistance = serializedObject.FindProperty("soundfieldMinDistance"); + bypassRoomEffects = serializedObject.FindProperty("bypassRoomEffects"); + gainDb = serializedObject.FindProperty("gainDb"); + } + + /// @cond + public override void OnInspectorGUI () { + serializedObject.Update(); + + // Add clickable script field, as would have been provided by DrawDefaultInspector() + MonoScript script = MonoScript.FromMonoBehaviour (target as MonoBehaviour); + EditorGUI.BeginDisabledGroup (true); + EditorGUILayout.ObjectField ("Script", script, typeof(MonoScript), false); + EditorGUI.EndDisabledGroup (); + + EditorGUILayout.LabelField("AudioClip"); + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(clip0102, clip0102Label); + EditorGUILayout.PropertyField(clip0304, clip0304Label); + EditorGUI.indentLevel--; + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(mute, muteLabel); + EditorGUILayout.PropertyField(bypassRoomEffects, bypassRoomEffectsLabel); + EditorGUILayout.PropertyField(playOnAwake, playOnAwakeLabel); + EditorGUILayout.PropertyField(loop, loopLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(priority, priorityLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(volume, volumeLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(pitch, pitchLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(spatialBlend, spatialBlendLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.Slider(gainDb, GvrAudio.minGainDb, GvrAudio.maxGainDb, gainLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(dopplerLevel, dopplerLevelLabel); + EditorGUILayout.PropertyField(rolloffMode, rolloffModeLabel); + ++EditorGUI.indentLevel; + EditorGUILayout.PropertyField(minDistance, minDistanceLabel); + EditorGUILayout.PropertyField(maxDistance, maxDistanceLabel); + --EditorGUI.indentLevel; + if (rolloffMode.enumValueIndex == (int)AudioRolloffMode.Custom) { + EditorGUILayout.HelpBox("Custom rolloff mode is not supported, no distance attenuation " + + "will be applied.", MessageType.Warning); + } + + EditorGUILayout.Separator(); + + serializedObject.ApplyModifiedProperties(); + } + /// @endcond +} + +#pragma warning restore 0618 // Restore warnings diff --git a/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioSoundfieldEditor.cs.meta b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioSoundfieldEditor.cs.meta new file mode 100644 index 0000000..a52f788 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioSoundfieldEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 95b832a777470485b891baa8026133ce +timeCreated: 1466541793 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioSourceEditor.cs b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioSourceEditor.cs new file mode 100644 index 0000000..fd9a426 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioSourceEditor.cs @@ -0,0 +1,257 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEditor; +using System.Collections; + +#pragma warning disable 0618 // Ignore GvrAudio* deprecation + +/// A custom editor for properties on the GvrAudioSource script. This appears in the Inspector +/// window of a GvrAudioSource object. +[CustomEditor(typeof(GvrAudioSource))] +[CanEditMultipleObjects] +public class GvrAudioSourceEditor : Editor { + private SerializedProperty clip = null; + private SerializedProperty loop = null; + private SerializedProperty mute = null; + private SerializedProperty pitch = null; + private SerializedProperty playOnAwake = null; + private SerializedProperty priority = null; + private SerializedProperty spatialBlend = null; + private SerializedProperty volume = null; + private SerializedProperty dopplerLevel = null; + private SerializedProperty spread = null; + private SerializedProperty rolloffMode = null; + private SerializedProperty maxDistance = null; + private SerializedProperty minDistance = null; + private SerializedProperty bypassRoomEffects = null; + private SerializedProperty directivityAlpha = null; + private SerializedProperty directivitySharpness = null; + private SerializedProperty listenerDirectivityAlpha = null; + private SerializedProperty listenerDirectivitySharpness = null; + private Texture2D directivityTexture = null; + private SerializedProperty gainDb = null; + private SerializedProperty hrtfEnabled = null; + private SerializedProperty occlusionEnabled = null; + + private GUIContent clipLabel = new GUIContent("AudioClip", + "The AudioClip asset played by the GvrAudioSource."); + private GUIContent loopLabel = new GUIContent("Loop", + "Sets the source to loop."); + private GUIContent muteLabel = new GUIContent("Mute", + "Mutes the sound."); + private GUIContent pitchLabel = new GUIContent("Pitch", + "Sets the frequency of the sound. Use this to slow down or speed up the sound."); + private GUIContent priorityLabel = new GUIContent("Priority", + "Sets the priority of the source. Note that a sound with a larger priority value will more " + + "likely be stolen by sounds with smaller priority values."); + private GUIContent spatialBlendLabel = new GUIContent("Spatial Blend", + "Sets how much this source is treated as a 3D source. Setting this value to 0 will ignore " + + "distance attenuation and doppler effects. However, it does not affect panning the sound " + + "around the listener."); + private GUIContent volumeLabel = new GUIContent("Volume", + "Sets the overall volume of the sound."); + private GUIContent dopplerLevelLabel = new GUIContent("Doppler Level", + "Specifies how much the pitch is changed based on the relative velocity between the source " + + "and the listener."); + private GUIContent spreadLabel = new GUIContent("Spread", + "Source spread in degrees."); + private GUIContent rolloffModeLabel = new GUIContent("Volume Rolloff", + "Which type of rolloff curve to use."); + private GUIContent maxDistanceLabel = new GUIContent("Max Distance", + "Max distance is the distance a sound stops attenuating at."); + private GUIContent minDistanceLabel = new GUIContent("Min Distance", + "Within the min distance, the volume will stay at the loudest possible. " + + "Outside this min distance it will begin to attenuate."); + private GUIContent playOnAwakeLabel = new GUIContent("Play On Awake", + "Play the sound when the scene loads."); + private GUIContent bypassRoomEffectsLabel = new GUIContent("Bypass Room Effects", + "Sets whether the room effects for the source should be bypassed."); + private GUIContent directivityLabel = new GUIContent("Directivity", + "Controls the pattern of sound emission of the source. This can change the perceived " + + "loudness of the source depending on which way it is facing relative to the listener. " + + "Patterns are aligned to the 'forward' direction of the parent object."); + private GUIContent directivityAlphaLabel = new GUIContent("Alpha", + "Controls the balance between dipole pattern and omnidirectional pattern for source " + + "emission. By varying this value, differing directivity patterns can be formed."); + private GUIContent directivitySharpnessLabel = new GUIContent("Sharpness", + "Sets the sharpness of the directivity pattern. Higher values will result in increased " + + "directivity."); + private GUIContent listenerDirectivityLabel = new GUIContent("Listener Directivity", + "Controls the pattern of sound sensitivity of the listener for the source. This can " + + "change the perceived loudness of the source depending on which way the listener is facing " + + "relative to the source. Patterns are aligned to the 'forward' direction of the listener."); + private GUIContent listenerDirectivityAlphaLabel = new GUIContent("Alpha", + "Controls the balance between dipole pattern and omnidirectional pattern for listener " + + "sensitivity. By varying this value, differing directivity patterns can be formed."); + private GUIContent listenerDirectivitySharpnessLabel = new GUIContent("Sharpness", + "Sets the sharpness of the listener directivity pattern. Higher values will result in " + + "increased directivity."); + private GUIContent gainLabel = new GUIContent("Gain (dB)", + "Applies a gain to the source for adjustment of relative loudness."); + private GUIContent hrtfEnabledLabel = new GUIContent("Enable HRTF", + "Sets HRTF binaural rendering for the source. Note that this setting has no effect when " + + "stereo quality mode is selected globally."); + private GUIContent occlusionLabel = new GUIContent("Enable Occlusion", + "Sets whether the sound of the source should be occluded when there are other objects " + + "between the source and the listener."); + + void OnEnable () { + clip = serializedObject.FindProperty("sourceClip"); + loop = serializedObject.FindProperty("sourceLoop"); + mute = serializedObject.FindProperty("sourceMute"); + pitch = serializedObject.FindProperty("sourcePitch"); + playOnAwake = serializedObject.FindProperty("playOnAwake"); + priority = serializedObject.FindProperty("sourcePriority"); + spatialBlend = serializedObject.FindProperty("sourceSpatialBlend"); + volume = serializedObject.FindProperty("sourceVolume"); + dopplerLevel = serializedObject.FindProperty("sourceDopplerLevel"); + spread = serializedObject.FindProperty("sourceSpread"); + rolloffMode = serializedObject.FindProperty("sourceRolloffMode"); + maxDistance = serializedObject.FindProperty("sourceMaxDistance"); + minDistance = serializedObject.FindProperty("sourceMinDistance"); + bypassRoomEffects = serializedObject.FindProperty("bypassRoomEffects"); + directivityAlpha = serializedObject.FindProperty("directivityAlpha"); + directivitySharpness = serializedObject.FindProperty("directivitySharpness"); + listenerDirectivityAlpha = serializedObject.FindProperty("listenerDirectivityAlpha"); + listenerDirectivitySharpness = serializedObject.FindProperty("listenerDirectivitySharpness"); + directivityTexture = Texture2D.blackTexture; + gainDb = serializedObject.FindProperty("gainDb"); + hrtfEnabled = serializedObject.FindProperty("hrtfEnabled"); + occlusionEnabled = serializedObject.FindProperty("occlusionEnabled"); + } + + /// @cond + public override void OnInspectorGUI () { + serializedObject.Update(); + + // Add clickable script field, as would have been provided by DrawDefaultInspector() + MonoScript script = MonoScript.FromMonoBehaviour (target as MonoBehaviour); + EditorGUI.BeginDisabledGroup (true); + EditorGUILayout.ObjectField ("Script", script, typeof(MonoScript), false); + EditorGUI.EndDisabledGroup (); + + EditorGUILayout.PropertyField(clip, clipLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(mute, muteLabel); + EditorGUILayout.PropertyField(bypassRoomEffects, bypassRoomEffectsLabel); + EditorGUILayout.PropertyField(playOnAwake, playOnAwakeLabel); + EditorGUILayout.PropertyField(loop, loopLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(priority, priorityLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(volume, volumeLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(pitch, pitchLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(spatialBlend, spatialBlendLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.Slider(gainDb, GvrAudio.minGainDb, GvrAudio.maxGainDb, gainLabel); + + EditorGUILayout.Separator(); + + EditorGUILayout.PropertyField(dopplerLevel, dopplerLevelLabel); + EditorGUILayout.PropertyField(spread, spreadLabel); + EditorGUILayout.PropertyField(rolloffMode, rolloffModeLabel); + ++EditorGUI.indentLevel; + EditorGUILayout.PropertyField(minDistance, minDistanceLabel); + EditorGUILayout.PropertyField(maxDistance, maxDistanceLabel); + --EditorGUI.indentLevel; + if (rolloffMode.enumValueIndex == (int)AudioRolloffMode.Custom) { + EditorGUILayout.HelpBox("Custom rolloff mode is not supported, no distance attenuation " + + "will be applied.", MessageType.Warning); + } + + EditorGUILayout.Separator(); + + // Draw the listener directivity properties. + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.BeginVertical(); + GUILayout.Label(listenerDirectivityLabel); + ++EditorGUI.indentLevel; + EditorGUILayout.Slider(listenerDirectivityAlpha, 0.0f, 1.0f, listenerDirectivityAlphaLabel); + EditorGUILayout.Slider(listenerDirectivitySharpness, 1.0f, 10.0f, + listenerDirectivitySharpnessLabel); + --EditorGUI.indentLevel; + EditorGUILayout.EndVertical(); + DrawDirectivityPattern(listenerDirectivityAlpha.floatValue, + listenerDirectivitySharpness.floatValue, + GvrAudio.listenerDirectivityColor, + (int)(3.0f * EditorGUIUtility.singleLineHeight)); + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.Separator(); + + // Draw the source directivity properties. + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.BeginVertical(); + GUILayout.Label(directivityLabel); + ++EditorGUI.indentLevel; + EditorGUILayout.Slider(directivityAlpha, 0.0f, 1.0f, directivityAlphaLabel); + EditorGUILayout.Slider(directivitySharpness, 1.0f, 10.0f, directivitySharpnessLabel); + --EditorGUI.indentLevel; + EditorGUILayout.EndVertical(); + DrawDirectivityPattern(directivityAlpha.floatValue, directivitySharpness.floatValue, + GvrAudio.sourceDirectivityColor, + (int)(3.0f * EditorGUIUtility.singleLineHeight)); + EditorGUILayout.EndHorizontal(); + EditorGUILayout.PropertyField(occlusionEnabled, occlusionLabel); + + EditorGUILayout.Separator(); + + // HRTF toggle can only be modified through the Inspector in Edit mode. + EditorGUI.BeginDisabledGroup (EditorApplication.isPlaying); + EditorGUILayout.PropertyField(hrtfEnabled, hrtfEnabledLabel); + EditorGUI.EndDisabledGroup (); + + serializedObject.ApplyModifiedProperties(); + } + /// @endcond + + private void DrawDirectivityPattern (float alpha, float sharpness, Color color, int size) { + directivityTexture.Resize(size, size); + // Draw the axes. + Color axisColor = color.a * Color.black; + for (int i = 0; i < size; ++i) { + directivityTexture.SetPixel(i, size / 2, axisColor); + directivityTexture.SetPixel(size / 2, i, axisColor); + } + // Draw the 2D polar directivity pattern. + float offset = 0.5f * size; + float cardioidSize = 0.45f * size; + Vector2[] vertices = GvrAudio.Generate2dPolarPattern(alpha, sharpness, 180); + for (int i = 0; i < vertices.Length; ++i) { + directivityTexture.SetPixel((int)(offset + cardioidSize * vertices[i].x), + (int)(offset + cardioidSize * vertices[i].y), color); + } + directivityTexture.Apply(); + // Show the texture. + GUILayout.Box(directivityTexture); + } +} + +#pragma warning restore 0618 // Restore warnings diff --git a/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioSourceEditor.cs.meta b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioSourceEditor.cs.meta new file mode 100644 index 0000000..d5c94c1 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Editor/Audio/GvrAudioSourceEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 39eb02921e5624cf18f5b235bcc1e1cb +timeCreated: 1447979178 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Resources.meta b/Assets/GoogleVR/Legacy/Resources.meta new file mode 100644 index 0000000..b03098f --- /dev/null +++ b/Assets/GoogleVR/Legacy/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 47a5a833e91c9764d82636ea29de7ae5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Resources/GvrAudioMixer.mixer b/Assets/GoogleVR/Legacy/Resources/GvrAudioMixer.mixer new file mode 100644 index 0000000..143ae19 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Resources/GvrAudioMixer.mixer @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!241 &24100000 +AudioMixerController: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: GvrAudioMixer + m_OutputGroup: {fileID: 0} + m_MasterGroup: {fileID: 24300001} + m_Snapshots: + - {fileID: 24500003} + m_StartSnapshot: {fileID: 24500003} + m_SuspendThreshold: -80 + m_EnableSuspend: 1 + m_ExposedParameters: [] + m_AudioMixerGroupViews: + - guids: + - 0c48f19e7c7f64049b5019efdfe794dd + name: View + m_CurrentViewIndex: 0 + m_TargetSnapshot: {fileID: 24500003} +--- !u!243 &24300001 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Master + m_AudioMixer: {fileID: 24100000} + m_GroupID: 0c48f19e7c7f64049b5019efdfe794dd + m_Children: [] + m_Volume: f2077248ad8e04a4b85906f156bc9139 + m_Pitch: e3bf857f793844dc6ad37ced1bb37e31 + m_Effects: + - {fileID: 24415202} + - {fileID: 24400002} + m_UserColorIndex: 0 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!244 &24400002 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: + m_EffectID: 1d75231a3eb9547d6bd90860dd5851a0 + m_EffectName: Attenuation + m_MixLevel: 087cc13ea75d3499fa1dd7404f66b0af + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &24415202 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: + m_EffectID: e3e5096179e9641ec8b7b1e0d1d89905 + m_EffectName: GVR Audio Renderer + m_MixLevel: 5939f9f8f13db463aad991ae3514491d + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!245 &24500003 +AudioMixerSnapshotController: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Snapshot + m_AudioMixer: {fileID: 24100000} + m_SnapshotID: 631b64129c98e4ed4be93f5196ab1cac + m_FloatValues: {} + m_TransitionOverrides: {} diff --git a/Assets/GoogleVR/Legacy/Resources/GvrAudioMixer.mixer.meta b/Assets/GoogleVR/Legacy/Resources/GvrAudioMixer.mixer.meta new file mode 100644 index 0000000..6a77401 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Resources/GvrAudioMixer.mixer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ca71259be6348485abbe393157796cb8 +timeCreated: 1454001091 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Scripts.meta b/Assets/GoogleVR/Legacy/Scripts.meta new file mode 100644 index 0000000..2806d6c --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1e6161eed5c9d3249801acfc40cfcb46 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Scripts/Audio.meta b/Assets/GoogleVR/Legacy/Scripts/Audio.meta new file mode 100644 index 0000000..29a1eb2 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/Audio.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a76c0cbfca84564f8bdd0c6986c161e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudio.cs b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudio.cs new file mode 100644 index 0000000..f75cfac --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudio.cs @@ -0,0 +1,431 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Runtime.InteropServices; + +/// This is the main GVR audio class that communicates with the native code implementation of +/// the audio system. Native functions of the system can only be called through this class to +/// preserve the internal system functionality. Public function calls are *not* thread-safe. +#if UNITY_2017_1_OR_NEWER +[System.Obsolete("GvrAudio is deprecated. Please upgrade to Resonance Audio (https://developers.google.com/resonance-audio/migrate).")] +#endif // UNITY_2017_1_OR_NEWER +public static class GvrAudio { + /// Audio system rendering quality. + public enum Quality { + Stereo = 0, ///< Stereo-only rendering + Low = 1, ///< Low quality binaural rendering (first-order HRTF) + High = 2 ///< High quality binaural rendering (third-order HRTF) + } + + /// Native audio spatializer effect data. + public enum SpatializerData { + Id = 0, /// ID. + Type = 1, /// Spatializer type. + NumChannels = 2, /// Number of input channels. + ChannelSet = 3, /// Soundfield channel set. + Gain = 4, /// Gain. + DistanceAttenuation = 5, /// Computed distance attenuation. + MinDistance = 6, /// Minimum distance for distance-based attenuation. + ZeroOutput = 7, /// Should zero out the output buffer? + } + + /// Native audio spatializer type. + public enum SpatializerType { + Source = 0, /// 3D sound object. + Soundfield = 1 /// First-order ambisonic soundfield. + } + + /// System sampling rate. + public static int SampleRate { + get { return sampleRate; } + } + private static int sampleRate = -1; + + /// System number of output channels. + public static int NumChannels { + get { return numChannels; } + } + private static int numChannels = -1; + + /// System number of frames per buffer. + public static int FramesPerBuffer { + get { return framesPerBuffer; } + } + private static int framesPerBuffer = -1; + + /// Initializes the audio system with the current audio configuration. + /// @note This should only be called from the main Unity thread. + public static void Initialize (GvrAudioListener listener, Quality quality) { + if (!initialized) { + // Initialize the audio system. + AudioConfiguration config = AudioSettings.GetConfiguration(); + sampleRate = config.sampleRate; + numChannels = (int)config.speakerMode; + framesPerBuffer = config.dspBufferSize; + if (numChannels != (int)AudioSpeakerMode.Stereo) { + Debug.LogError("Only 'Stereo' speaker mode is supported by GVR Audio."); + return; + } + Initialize((int) quality, sampleRate, numChannels, framesPerBuffer); + listenerTransform = listener.transform; + + initialized = true; + } else if (listener.transform != listenerTransform) { + Debug.LogError("Only one GvrAudioListener component is allowed in the scene."); + GvrAudioListener.Destroy(listener); + } + } + + /// Shuts down the audio system. + /// @note This should only be called from the main Unity thread. + public static void Shutdown (GvrAudioListener listener) { + if (initialized && listener.transform == listenerTransform) { + initialized = false; + + Shutdown(); + sampleRate = -1; + numChannels = -1; + framesPerBuffer = -1; + listenerTransform = null; + } + } + + /// Updates the audio listener. + /// @note This should only be called from the main Unity thread. + public static void UpdateAudioListener (float globalGainDb, LayerMask occlusionMask) { + if (initialized) { + occlusionMaskValue = occlusionMask.value; + SetListenerGain(ConvertAmplitudeFromDb(globalGainDb)); + } + } + + /// Creates a new first-order ambisonic soundfield with a unique id. + /// @note This should only be called from the main Unity thread. + public static int CreateAudioSoundfield () { + int soundfieldId = -1; + if (initialized) { + soundfieldId = CreateSoundfield(numFoaChannels); + } + return soundfieldId; + } + + /// Updates the |soundfield| with given |id| and its properties. + /// @note This should only be called from the main Unity thread. + public static void UpdateAudioSoundfield (int id, GvrAudioSoundfield soundfield) { + if (initialized) { + SetSourceBypassRoomEffects(id, soundfield.bypassRoomEffects); + } + } + + /// Creates a new audio source with a unique id. + /// @note This should only be called from the main Unity thread. + public static int CreateAudioSource (bool hrtfEnabled) { + int sourceId = -1; + if (initialized) { + sourceId = CreateSoundObject(hrtfEnabled); + } + return sourceId; + } + + /// Destroys the audio source with given |id|. + /// @note This should only be called from the main Unity thread. + public static void DestroyAudioSource (int id) { + if (initialized) { + DestroySource(id); + } + } + + /// Updates the audio |source| with given |id| and its properties. + /// @note This should only be called from the main Unity thread. + public static void UpdateAudioSource (int id, GvrAudioSource source, float currentOcclusion) { + if (initialized) { + SetSourceBypassRoomEffects(id, source.bypassRoomEffects); + SetSourceDirectivity(id, source.directivityAlpha, source.directivitySharpness); + SetSourceListenerDirectivity(id, source.listenerDirectivityAlpha, + source.listenerDirectivitySharpness); + SetSourceOcclusionIntensity(id, currentOcclusion); + } + } + + /// Updates the room effects of the environment with given |room| properties. + /// @note This should only be called from the main Unity thread. + public static void UpdateAudioRoom(GvrAudioRoom room, bool roomEnabled) { + // Update the enabled rooms list. + if (roomEnabled) { + if (!enabledRooms.Contains(room)) { + enabledRooms.Add(room); + } + } else { + enabledRooms.Remove(room); + } + // Update the current room effects to be applied. + if(initialized) { + if (enabledRooms.Count > 0) { + GvrAudioRoom currentRoom = enabledRooms[enabledRooms.Count - 1]; + RoomProperties roomProperties = GetRoomProperties(currentRoom); + // Pass the room properties into a pointer. + IntPtr roomPropertiesPtr = Marshal.AllocHGlobal(Marshal.SizeOf(roomProperties)); + Marshal.StructureToPtr(roomProperties, roomPropertiesPtr, false); + SetRoomProperties(roomPropertiesPtr); + Marshal.FreeHGlobal(roomPropertiesPtr); + } else { + // Set the room properties to null, which will effectively disable the room effects. + SetRoomProperties(IntPtr.Zero); + } + } + } + + /// Computes the occlusion intensity of a given |source| using point source detection. + /// @note This should only be called from the main Unity thread. + public static float ComputeOcclusion (Transform sourceTransform) { + float occlusion = 0.0f; + if (initialized) { + Vector3 listenerPosition = listenerTransform.position; + Vector3 sourceFromListener = sourceTransform.position - listenerPosition; + int numHits = Physics.RaycastNonAlloc(listenerPosition, sourceFromListener, occlusionHits, + sourceFromListener.magnitude, occlusionMaskValue); + for (int i = 0; i < numHits; ++i) { + if (occlusionHits[i].transform != listenerTransform && + occlusionHits[i].transform != sourceTransform) { + occlusion += 1.0f; + } + } + } + return occlusion; + } + + /// Converts given |db| value to its amplitude equivalent where 'dB = 20 * log10(amplitude)'. + public static float ConvertAmplitudeFromDb (float db) { + return Mathf.Pow(10.0f, 0.05f * db); + } + + /// Generates a set of points to draw a 2D polar pattern. + public static Vector2[] Generate2dPolarPattern (float alpha, float order, int resolution) { + Vector2[] points = new Vector2[resolution]; + float interval = 2.0f * Mathf.PI / resolution; + for (int i = 0; i < resolution; ++i) { + float theta = i * interval; + // Magnitude |r| for |theta| in radians. + float r = Mathf.Pow(Mathf.Abs((1 - alpha) + alpha * Mathf.Cos(theta)), order); + points[i] = new Vector2(r * Mathf.Sin(theta), r * Mathf.Cos(theta)); + } + return points; + } + + /// Returns whether the listener is currently inside the given |room| boundaries. + public static bool IsListenerInsideRoom(GvrAudioRoom room) { + bool isInside = false; + if(initialized) { + Vector3 relativePosition = listenerTransform.position - room.transform.position; + Quaternion rotationInverse = Quaternion.Inverse(room.transform.rotation); + + bounds.size = Vector3.Scale(room.transform.lossyScale, room.size); + isInside = bounds.Contains(rotationInverse * relativePosition); + } + return isInside; + } + + /// Listener directivity GUI color. + public static readonly Color listenerDirectivityColor = 0.65f * Color.magenta; + + /// Source directivity GUI color. + public static readonly Color sourceDirectivityColor = 0.65f * Color.blue; + + /// Minimum distance threshold between |minDistance| and |maxDistance|. + public const float distanceEpsilon = 0.01f; + + /// Max distance limit that can be set for volume rolloff. + public const float maxDistanceLimit = 1000000.0f; + + /// Min distance limit that can be set for volume rolloff. + public const float minDistanceLimit = 990099.0f; + + /// Maximum allowed gain value in decibels. + public const float maxGainDb = 24.0f; + + /// Minimum allowed gain value in decibels. + public const float minGainDb = -24.0f; + + /// Maximum allowed reverb brightness modifier value. + public const float maxReverbBrightness = 1.0f; + + /// Minimum allowed reverb brightness modifier value. + public const float minReverbBrightness = -1.0f; + + /// Maximum allowed reverb time modifier value. + public const float maxReverbTime = 3.0f; + + /// Maximum allowed reflectivity multiplier of a room surface material. + public const float maxReflectivity = 2.0f; + + /// Maximum allowed number of raycast hits for occlusion computation per source. + public const int maxNumOcclusionHits = 12; + + /// Source occlusion detection rate in seconds. + public const float occlusionDetectionInterval = 0.2f; + + /// Number of first-order ambisonic input channels. + public const int numFoaChannels = 4; + + [StructLayout(LayoutKind.Sequential)] + private struct RoomProperties { + // Center position of the room in world space. + public float positionX; + public float positionY; + public float positionZ; + + // Rotation (quaternion) of the room in world space. + public float rotationX; + public float rotationY; + public float rotationZ; + public float rotationW; + + // Size of the shoebox room in world space. + public float dimensionsX; + public float dimensionsY; + public float dimensionsZ; + + // Material name of each surface of the shoebox room. + public GvrAudioRoom.SurfaceMaterial materialLeft; + public GvrAudioRoom.SurfaceMaterial materialRight; + public GvrAudioRoom.SurfaceMaterial materialBottom; + public GvrAudioRoom.SurfaceMaterial materialTop; + public GvrAudioRoom.SurfaceMaterial materialFront; + public GvrAudioRoom.SurfaceMaterial materialBack; + + // User defined uniform scaling factor for reflectivity. This parameter has no effect when set + // to 1.0f. + public float reflectionScalar; + + // User defined reverb tail gain multiplier. This parameter has no effect when set to 0.0f. + public float reverbGain; + + // Adjusts the reverberation time across all frequency bands. RT60 values are multiplied by this + // factor. Has no effect when set to 1.0f. + public float reverbTime; + + // Controls the slope of a line from the lowest to the highest RT60 values (increases high + // frequency RT60s when positive, decreases when negative). Has no effect when set to 0.0f. + public float reverbBrightness; + }; + + // Converts given |position| and |rotation| from Unity space to audio space. + private static void ConvertAudioTransformFromUnity (ref Vector3 position, + ref Quaternion rotation) { + transformMatrix = Pose3D.FlipHandedness(Matrix4x4.TRS(position, rotation, Vector3.one)); + position = transformMatrix.GetColumn(3); + rotation = Quaternion.LookRotation(transformMatrix.GetColumn(2), transformMatrix.GetColumn(1)); + } + + // Returns room properties of the given |room|. + private static RoomProperties GetRoomProperties(GvrAudioRoom room) { + RoomProperties roomProperties; + Vector3 position = room.transform.position; + Quaternion rotation = room.transform.rotation; + Vector3 scale = Vector3.Scale(room.transform.lossyScale, room.size); + ConvertAudioTransformFromUnity(ref position, ref rotation); + roomProperties.positionX = position.x; + roomProperties.positionY = position.y; + roomProperties.positionZ = position.z; + roomProperties.rotationX = rotation.x; + roomProperties.rotationY = rotation.y; + roomProperties.rotationZ = rotation.z; + roomProperties.rotationW = rotation.w; + roomProperties.dimensionsX = scale.x; + roomProperties.dimensionsY = scale.y; + roomProperties.dimensionsZ = scale.z; + roomProperties.materialLeft = room.leftWall; + roomProperties.materialRight = room.rightWall; + roomProperties.materialBottom = room.floor; + roomProperties.materialTop = room.ceiling; + roomProperties.materialFront = room.frontWall; + roomProperties.materialBack = room.backWall; + roomProperties.reverbGain = ConvertAmplitudeFromDb(room.reverbGainDb); + roomProperties.reverbTime = room.reverbTime; + roomProperties.reverbBrightness = room.reverbBrightness; + roomProperties.reflectionScalar = room.reflectivity; + return roomProperties; + } + + // Boundaries instance to be used in room detection logic. + private static Bounds bounds = new Bounds(Vector3.zero, Vector3.zero); + + // Container to store the currently active rooms in the scene. + private static List enabledRooms = new List(); + + // Denotes whether the system is initialized properly. + private static bool initialized = false; + + // Listener transform. + private static Transform listenerTransform = null; + + // Pre-allocated raycast hit list for occlusion computation. + private static RaycastHit[] occlusionHits = new RaycastHit[maxNumOcclusionHits]; + + // Occlusion layer mask. + private static int occlusionMaskValue = -1; + + // 4x4 transformation matrix to be used in transform space conversion. + private static Matrix4x4 transformMatrix = Matrix4x4.identity; + +#if !UNITY_EDITOR && UNITY_IOS + private const string pluginName = "__Internal"; +#else + private const string pluginName = "audioplugingvrunity"; +#endif // !UNITY_EDITOR && UNITY_IOS + + // Listener handlers. + [DllImport(pluginName)] + private static extern void SetListenerGain (float gain); + + // Soundfield handlers. + [DllImport(pluginName)] + private static extern int CreateSoundfield (int numChannels); + + // Source handlers. + [DllImport(pluginName)] + private static extern int CreateSoundObject (bool enableHrtf); + + [DllImport(pluginName)] + private static extern void DestroySource (int sourceId); + + [DllImport(pluginName)] + private static extern void SetSourceBypassRoomEffects (int sourceId, bool bypassRoomEffects); + + [DllImport(pluginName)] + private static extern void SetSourceDirectivity (int sourceId, float alpha, float order); + + [DllImport(pluginName)] + private static extern void SetSourceListenerDirectivity (int sourceId, float alpha, float order); + + [DllImport(pluginName)] + private static extern void SetSourceOcclusionIntensity (int sourceId, float intensity); + + // Room handlers. + [DllImport(pluginName)] + private static extern void SetRoomProperties (IntPtr roomProperties); + + // System handlers. + [DllImport(pluginName)] + private static extern void Initialize (int quality, int sampleRate, int numChannels, + int framesPerBuffer); + + [DllImport(pluginName)] + private static extern void Shutdown (); +} diff --git a/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudio.cs.meta b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudio.cs.meta new file mode 100644 index 0000000..094009b --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudio.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 84ad368148aad42938b2fdb28552e8ac +timeCreated: 1447961130 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioListener.cs b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioListener.cs new file mode 100644 index 0000000..0d504f1 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioListener.cs @@ -0,0 +1,61 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System.Collections; + +#pragma warning disable 0618 // Ignore GvrAudio* deprecation + +/// GVR audio listener component that enhances AudioListener to provide advanced spatial audio +/// features. +/// +/// There should be only one instance of this which is attached to the AudioListener's game object. +#if UNITY_2017_1_OR_NEWER +[System.Obsolete("Please upgrade to Resonance Audio (https://developers.google.com/resonance-audio/migrate).")] +#endif // UNITY_2017_1_OR_NEWER +[AddComponentMenu("GoogleVR/Audio/GvrAudioListener")] +public class GvrAudioListener : MonoBehaviour { + /// Global gain in decibels to be applied to the processed output. + public float globalGainDb = 0.0f; + + /// Global layer mask to be used in occlusion detection. + public LayerMask occlusionMask = -1; + + /// Audio rendering quality of the system. + [SerializeField] + private GvrAudio.Quality quality = GvrAudio.Quality.High; + + void Awake () { +#if UNITY_EDITOR && UNITY_2017_1_OR_NEWER + Debug.LogWarningFormat(gameObject, + "Game object '{0}' uses deprecated {1} component.\nPlease upgrade to Resonance Audio ({2}).", + name, GetType().Name, "https://developers.google.com/resonance-audio/migrate"); +#endif // UNITY_EDITOR && UNITY_2017_1_OR_NEWER + GvrAudio.Initialize(this, quality); + } + + void OnEnable () { + GvrAudio.UpdateAudioListener(globalGainDb, occlusionMask); + } + + void OnDestroy () { + GvrAudio.Shutdown(this); + } + + void Update () { + GvrAudio.UpdateAudioListener(globalGainDb, occlusionMask); + } +} + +#pragma warning restore 0618 // Restore warnings diff --git a/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioListener.cs.meta b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioListener.cs.meta new file mode 100644 index 0000000..f1764fc --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioListener.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b1156c073149742478887bb24456f32d +timeCreated: 1447961345 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioRoom.cs b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioRoom.cs new file mode 100644 index 0000000..e192545 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioRoom.cs @@ -0,0 +1,115 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System.Collections; + +#pragma warning disable 0618 // Ignore GvrAudio* deprecation + +/// GVR audio room component that simulates environmental effects of a room with respect to the +/// properties of the attached game object. +#if UNITY_2017_1_OR_NEWER +[System.Obsolete("Please upgrade to Resonance Audio (https://developers.google.com/resonance-audio/migrate).")] +#endif // UNITY_2017_1_OR_NEWER +[AddComponentMenu("GoogleVR/Audio/GvrAudioRoom")] +public class GvrAudioRoom : MonoBehaviour { + /// Material type that determines the acoustic properties of a room surface. + public enum SurfaceMaterial { + Transparent = 0, ///< Transparent + AcousticCeilingTiles = 1, ///< Acoustic ceiling tiles + BrickBare = 2, ///< Brick, bare + BrickPainted = 3, ///< Brick, painted + ConcreteBlockCoarse = 4, ///< Concrete block, coarse + ConcreteBlockPainted = 5, ///< Concrete block, painted + CurtainHeavy = 6, ///< Curtain, heavy + FiberglassInsulation = 7, ///< Fiberglass insulation + GlassThin = 8, ///< Glass, thin + GlassThick = 9, ///< Glass, thick + Grass = 10, ///< Grass + LinoleumOnConcrete = 11, ///< Linoleum on concrete + Marble = 12, ///< Marble + Metal = 13, ///< Galvanized sheet metal + ParquetOnConcrete = 14, ///< Parquet on concrete + PlasterRough = 15, ///< Plaster, rough + PlasterSmooth = 16, ///< Plaster, smooth + PlywoodPanel = 17, ///< Plywood panel + PolishedConcreteOrTile = 18, ///< Polished concrete or tile + Sheetrock = 19, ///< Sheetrock + WaterOrIceSurface = 20, ///< Water or ice surface + WoodCeiling = 21, ///< Wood ceiling + WoodPanel = 22 ///< Wood panel + } + + /// Room surface material in negative x direction. + public SurfaceMaterial leftWall = SurfaceMaterial.ConcreteBlockCoarse; + + /// Room surface material in positive x direction. + public SurfaceMaterial rightWall = SurfaceMaterial.ConcreteBlockCoarse; + + /// Room surface material in negative y direction. + public SurfaceMaterial floor = SurfaceMaterial.ParquetOnConcrete; + + /// Room surface material in positive y direction. + public SurfaceMaterial ceiling = SurfaceMaterial.PlasterRough; + + /// Room surface material in negative z direction. + public SurfaceMaterial backWall = SurfaceMaterial.ConcreteBlockCoarse; + + /// Room surface material in positive z direction. + public SurfaceMaterial frontWall = SurfaceMaterial.ConcreteBlockCoarse; + + /// Reflectivity scalar for each surface of the room. + public float reflectivity = 1.0f; + + /// Reverb gain modifier in decibels. + public float reverbGainDb = 0.0f; + + /// Reverb brightness modifier. + public float reverbBrightness = 0.0f; + + /// Reverb time modifier. + public float reverbTime = 1.0f; + + /// Size of the room (normalized with respect to scale of the game object). + public Vector3 size = Vector3.one; + + void Awake() { +#if UNITY_EDITOR && UNITY_2017_1_OR_NEWER + Debug.LogWarningFormat(gameObject, + "Game object '{0}' uses deprecated {1} component.\nPlease upgrade to Resonance Audio ({2}).", + name, GetType().Name, "https://developers.google.com/resonance-audio/migrate"); +#endif // UNITY_EDITOR && UNITY_2017_1_OR_NEWER + } + + void OnEnable () { + GvrAudio.UpdateAudioRoom(this, GvrAudio.IsListenerInsideRoom(this)); + } + + void OnDisable () { + GvrAudio.UpdateAudioRoom(this, false); + } + + void Update () { + GvrAudio.UpdateAudioRoom(this, GvrAudio.IsListenerInsideRoom(this)); + } + + void OnDrawGizmosSelected () { + // Draw shoebox model wireframe of the room. + Gizmos.color = Color.yellow; + Gizmos.matrix = transform.localToWorldMatrix; + Gizmos.DrawWireCube(Vector3.zero, size); + } +} + +#pragma warning restore 0618 // Restore warnings diff --git a/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioRoom.cs.meta b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioRoom.cs.meta new file mode 100644 index 0000000..08c8c6e --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioRoom.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1d2722c2401e34d51bf5b473ef7aeefb +timeCreated: 1447961354 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioSoundfield.cs b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioSoundfield.cs new file mode 100644 index 0000000..580a206 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioSoundfield.cs @@ -0,0 +1,506 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.Audio; +using System.Collections; + +#pragma warning disable 0618 // Ignore GvrAudio* deprecation + +/// GVR soundfield component that allows playback of first-order ambisonic recordings. The audio +/// sample should be in Ambix (ACN-SN3D) format. +#if UNITY_2017_1_OR_NEWER +[System.Obsolete("Please upgrade to Resonance Audio (https://developers.google.com/resonance-audio/migrate).")] +#endif // UNITY_2017_1_OR_NEWER +[AddComponentMenu("GoogleVR/Audio/GvrAudioSoundfield")] +public class GvrAudioSoundfield : MonoBehaviour { + /// Denotes whether the room effects should be bypassed. + public bool bypassRoomEffects = true; + + /// Input gain in decibels. + public float gainDb = 0.0f; + + /// Play source on awake. + public bool playOnAwake = true; + + /// The default AudioClip to play. + public AudioClip clip0102 { + get { return soundfieldClip0102; } + set { + soundfieldClip0102 = value; + if (audioSources != null && audioSources.Length > 0) { + audioSources[0].clip = soundfieldClip0102; + } + } + } + [SerializeField] + private AudioClip soundfieldClip0102 = null; + + public AudioClip clip0304 { + get { return soundfieldClip0304; } + set { + soundfieldClip0304 = value; + if (audioSources != null && audioSources.Length > 0) { + audioSources[1].clip = soundfieldClip0304; + } + } + } + [SerializeField] + private AudioClip soundfieldClip0304 = null; + + /// Is the clip playing right now (Read Only)? + public bool isPlaying { + get { + if(audioSources != null && audioSources.Length > 0) { + return audioSources[0].isPlaying; + } + return false; + } + } + + /// Is the audio clip looping? + public bool loop { + get { return soundfieldLoop; } + set { + soundfieldLoop = value; + if(audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].loop = soundfieldLoop; + } + } + } + } + [SerializeField] + private bool soundfieldLoop = false; + + /// Un- / Mutes the soundfield. Mute sets the volume=0, Un-Mute restore the original volume. + public bool mute { + get { return soundfieldMute; } + set { + soundfieldMute = value; + if(audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].mute = soundfieldMute; + } + } + } + } + [SerializeField] + private bool soundfieldMute = false; + + /// The pitch of the audio source. + public float pitch { + get { return soundfieldPitch; } + set { + soundfieldPitch = value; + if(audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].pitch = soundfieldPitch; + } + } + } + } + [SerializeField] + [Range(-3.0f, 3.0f)] + private float soundfieldPitch = 1.0f; + + /// Sets the priority of the soundfield. + public int priority { + get { return soundfieldPriority; } + set { + soundfieldPriority = value; + if(audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].priority = soundfieldPriority; + } + } + } + } + [SerializeField] + [Range(0, 256)] + private int soundfieldPriority = 32; + + /// Sets how much this soundfield is affected by 3D spatialization calculations + /// (attenuation, doppler). + public float spatialBlend { + get { return soundfieldSpatialBlend; } + set { + soundfieldSpatialBlend = value; + if (audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].spatialBlend = soundfieldSpatialBlend; + } + } + } + } + [SerializeField] + [Range(0.0f, 1.0f)] + private float soundfieldSpatialBlend = 0.0f; + + /// Sets the Doppler scale for this soundfield. + public float dopplerLevel { + get { return soundfieldDopplerLevel; } + set { + soundfieldDopplerLevel = value; + if(audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].dopplerLevel = soundfieldDopplerLevel; + } + } + } + } + [SerializeField] + [Range(0.0f, 5.0f)] + private float soundfieldDopplerLevel = 0.0f; + + /// Playback position in seconds. + public float time { + get { + if(audioSources != null && audioSources.Length > 0) { + return audioSources[0].time; + } + return 0.0f; + } + set { + if(audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].time = value; + } + } + } + } + + /// Playback position in PCM samples. + public int timeSamples { + get { + if(audioSources != null && audioSources.Length > 0) { + return audioSources[0].timeSamples; + } + return 0; + } + set { + if(audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].timeSamples = value; + } + } + } + } + + /// The volume of the audio source (0.0 to 1.0). + public float volume { + get { return soundfieldVolume; } + set { + soundfieldVolume = value; + if(audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].volume = soundfieldVolume; + } + } + } + } + [SerializeField] + [Range(0.0f, 1.0f)] + private float soundfieldVolume = 1.0f; + + /// Volume rolloff model with respect to the distance. + public AudioRolloffMode rolloffMode { + get { return soundfieldRolloffMode; } + set { + soundfieldRolloffMode = value; + if (audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].rolloffMode = soundfieldRolloffMode; + if (rolloffMode == AudioRolloffMode.Custom) { + // Custom rolloff is not supported, set the curve for no distance attenuation. + audioSources[channelSet].SetCustomCurve( + AudioSourceCurveType.CustomRolloff, + AnimationCurve.Linear(soundfieldMinDistance, 1.0f, soundfieldMaxDistance, 1.0f)); + } + } + } + } + } + [SerializeField] + private AudioRolloffMode soundfieldRolloffMode = AudioRolloffMode.Logarithmic; + + /// MaxDistance is the distance a sound stops attenuating at. + public float maxDistance { + get { return soundfieldMaxDistance; } + set { + soundfieldMaxDistance = Mathf.Clamp(value, soundfieldMinDistance + GvrAudio.distanceEpsilon, + GvrAudio.maxDistanceLimit); + if (audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].maxDistance = soundfieldMaxDistance; + } + } + } + } + [SerializeField] + private float soundfieldMaxDistance = 500.0f; + + /// Within the Min distance the GvrAudioSource will cease to grow louder in volume. + public float minDistance { + get { return soundfieldMinDistance; } + set { + soundfieldMinDistance = Mathf.Clamp(value, 0.0f, GvrAudio.minDistanceLimit); + if (audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].minDistance = soundfieldMinDistance; + } + } + } + } + [SerializeField] + private float soundfieldMinDistance = 1.0f; + + // Unique source id. + private int id = -1; + + // Unity audio sources per each soundfield channel set. + private AudioSource[] audioSources = null; + + // Denotes whether the source is currently paused or not. + private bool isPaused = false; + + void Awake () { +#if UNITY_EDITOR && UNITY_2017_1_OR_NEWER + Debug.LogWarningFormat(gameObject, + "Game object '{0}' uses deprecated {1} component.\nPlease upgrade to Resonance Audio ({2}).", + name, GetType().Name, "https://developers.google.com/resonance-audio/migrate"); +#endif // UNITY_EDITOR && UNITY_2017_1_OR_NEWER + // Route the source output to |GvrAudioMixer|. + AudioMixer mixer = (Resources.Load("GvrAudioMixer") as AudioMixer); + if(mixer == null) { + Debug.LogError("GVRAudioMixer could not be found in Resources. Make sure that the GVR SDK" + + "Unity package is imported properly."); + return; + } + audioSources = new AudioSource[GvrAudio.numFoaChannels / 2]; + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + GameObject channelSetObject = new GameObject("Channel Set " + channelSet); + channelSetObject.transform.parent = gameObject.transform; + channelSetObject.transform.localPosition = Vector3.zero; + channelSetObject.transform.localRotation = Quaternion.identity; + channelSetObject.hideFlags = HideFlags.HideAndDontSave; + audioSources[channelSet] = channelSetObject.AddComponent(); + audioSources[channelSet].enabled = false; + audioSources[channelSet].playOnAwake = false; + audioSources[channelSet].bypassReverbZones = true; +#if UNITY_5_5_OR_NEWER + audioSources[channelSet].spatializePostEffects = true; +#endif // UNITY_5_5_OR_NEWER + audioSources[channelSet].outputAudioMixerGroup = mixer.FindMatchingGroups("Master")[0]; + } + OnValidate(); + } + + void OnEnable () { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].enabled = true; + } + if (playOnAwake && !isPlaying && InitializeSoundfield()) { + Play(); + } + } + + void Start () { + if (playOnAwake && !isPlaying) { + Play(); + } + } + + void OnDisable () { + Stop(); + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].enabled = false; + } + } + + void OnDestroy () { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + Destroy(audioSources[channelSet].gameObject); + } + } + + void OnApplicationPause (bool pauseStatus) { + if (pauseStatus) { + Pause(); + } else { + UnPause(); + } + } + + void Update () { + // Update soundfield. + if (!isPlaying && !isPaused) { + Stop(); + } else { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].SetSpatializerFloat((int) GvrAudio.SpatializerData.Gain, + GvrAudio.ConvertAmplitudeFromDb(gainDb)); + audioSources[channelSet].SetSpatializerFloat((int) GvrAudio.SpatializerData.MinDistance, + soundfieldMinDistance); + } + GvrAudio.UpdateAudioSoundfield(id, this); + } + } + + /// Pauses playing the clip. + public void Pause () { + if (audioSources != null) { + isPaused = true; + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].Pause(); + } + } + } + + /// Plays the clip. + public void Play () { + double dspTime = AudioSettings.dspTime; + PlayScheduled(dspTime); + } + + /// Plays the clip with a delay specified in seconds. + public void PlayDelayed (float delay) { + double delayedDspTime = AudioSettings.dspTime + (double)delay; + PlayScheduled(delayedDspTime); + } + + /// Plays the clip at a specific time on the absolute time-line that AudioSettings.dspTime reads + /// from. + public void PlayScheduled (double time) { + if (audioSources != null && InitializeSoundfield()) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].PlayScheduled(time); + } + isPaused = false; + } else { + Debug.LogWarning ("GVR Audio soundfield not initialized. Audio playback not supported " + + "until after Awake() and OnEnable(). Try calling from Start() instead."); + } + } + + /// Changes the time at which a sound that has already been scheduled to play will end. + public void SetScheduledEndTime(double time) { + if (audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].SetScheduledEndTime(time); + } + } + } + + /// Changes the time at which a sound that has already been scheduled to play will start. + public void SetScheduledStartTime(double time) { + if (audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].SetScheduledStartTime(time); + } + } + } + + /// Stops playing the clip. + public void Stop () { + if(audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].Stop(); + } + ShutdownSoundfield(); + isPaused = false; + } + } + + /// Unpauses the paused playback. + public void UnPause () { + if (audioSources != null) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + audioSources[channelSet].UnPause(); + } + isPaused = false; + } + } + + // Initializes the source. + private bool InitializeSoundfield () { + if (id < 0) { + id = GvrAudio.CreateAudioSoundfield(); + if (id >= 0) { + GvrAudio.UpdateAudioSoundfield(id, this); + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + InitializeChannelSet(audioSources[channelSet], channelSet); + } + } + } + return id >= 0; + } + + // Shuts down the source. + private void ShutdownSoundfield () { + if (id >= 0) { + for (int channelSet = 0; channelSet < audioSources.Length; ++channelSet) { + ShutdownChannelSet(audioSources[channelSet], channelSet); + } + GvrAudio.DestroyAudioSource(id); + id = -1; + } + } + + // Initializes given channel set of the soundfield. + private void InitializeChannelSet(AudioSource source, int channelSet) { + source.spatialize = true; + source.SetSpatializerFloat((int) GvrAudio.SpatializerData.Type, + (float) GvrAudio.SpatializerType.Soundfield); + source.SetSpatializerFloat((int) GvrAudio.SpatializerData.NumChannels, + (float) GvrAudio.numFoaChannels); + source.SetSpatializerFloat((int) GvrAudio.SpatializerData.ChannelSet, (float) channelSet); + source.SetSpatializerFloat((int) GvrAudio.SpatializerData.Gain, + GvrAudio.ConvertAmplitudeFromDb(gainDb)); + source.SetSpatializerFloat((int) GvrAudio.SpatializerData.MinDistance, soundfieldMinDistance); + source.SetSpatializerFloat((int) GvrAudio.SpatializerData.ZeroOutput, 0.0f); + // Soundfield id must be set after all the spatializer parameters, to ensure that the soundfield + // is properly initialized before processing. + source.SetSpatializerFloat((int) GvrAudio.SpatializerData.Id, (float) id); + } + + // Shuts down given channel set of the soundfield. + private void ShutdownChannelSet(AudioSource source, int channelSet) { + source.SetSpatializerFloat((int) GvrAudio.SpatializerData.Id, -1.0f); + // Ensure that the output is zeroed after shutdown. + source.SetSpatializerFloat((int) GvrAudio.SpatializerData.ZeroOutput, 1.0f); + source.spatialize = false; + } + + void OnDidApplyAnimationProperties () { + OnValidate(); + } + + void OnValidate () { + clip0102 = soundfieldClip0102; + clip0304 = soundfieldClip0304; + loop = soundfieldLoop; + mute = soundfieldMute; + pitch = soundfieldPitch; + priority = soundfieldPriority; + spatialBlend = soundfieldSpatialBlend; + volume = soundfieldVolume; + dopplerLevel = soundfieldDopplerLevel; + minDistance = soundfieldMinDistance; + maxDistance = soundfieldMaxDistance; + rolloffMode = soundfieldRolloffMode; + } +} + +#pragma warning restore 0618 // Restore warnings diff --git a/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioSoundfield.cs.meta b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioSoundfield.cs.meta new file mode 100644 index 0000000..177ee92 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioSoundfield.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d38f0664abc0c446a8fa0886ec2bcd12 +timeCreated: 1466460492 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioSource.cs b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioSource.cs new file mode 100644 index 0000000..0ffe693 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioSource.cs @@ -0,0 +1,575 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.Audio; +using System.Collections; + +#pragma warning disable 0618 // Ignore GvrAudio* deprecation + +/// GVR audio source component that enhances AudioSource to provide advanced spatial audio features. +#if UNITY_2017_1_OR_NEWER +[System.Obsolete("Please upgrade to Resonance Audio (https://developers.google.com/resonance-audio/migrate).")] +#endif // UNITY_2017_1_OR_NEWER +[AddComponentMenu("GoogleVR/Audio/GvrAudioSource")] +public class GvrAudioSource : MonoBehaviour { + /// Denotes whether the room effects should be bypassed. + public bool bypassRoomEffects = false; + + /// Directivity pattern shaping factor. + public float directivityAlpha = 0.0f; + + /// Directivity pattern order. + public float directivitySharpness = 1.0f; + + /// Listener directivity pattern shaping factor. + public float listenerDirectivityAlpha = 0.0f; + + /// Listener directivity pattern order. + public float listenerDirectivitySharpness = 1.0f; + + /// Input gain in decibels. + public float gainDb = 0.0f; + + /// Occlusion effect toggle. + public bool occlusionEnabled = false; + + /// Play source on awake. + public bool playOnAwake = true; + + /// The default AudioClip to play. + public AudioClip clip { + get { return sourceClip; } + set { + sourceClip = value; + if (audioSource != null) { + audioSource.clip = sourceClip; + } + } + } + [SerializeField] + private AudioClip sourceClip = null; + + /// Is the clip playing right now (Read Only)? + public bool isPlaying { + get { + if (audioSource != null) { + return audioSource.isPlaying; + } + return false; + } + } + + /// Is the audio clip looping? + public bool loop { + get { return sourceLoop; } + set { + sourceLoop = value; + if (audioSource != null) { + audioSource.loop = sourceLoop; + } + } + } + [SerializeField] + private bool sourceLoop = false; + + /// Un- / Mutes the source. Mute sets the volume=0, Un-Mute restore the original volume. + public bool mute { + get { return sourceMute; } + set { + sourceMute = value; + if (audioSource != null) { + audioSource.mute = sourceMute; + } + } + } + [SerializeField] + private bool sourceMute = false; + + /// The pitch of the audio source. + public float pitch { + get { return sourcePitch; } + set { + sourcePitch = value; + if (audioSource != null) { + audioSource.pitch = sourcePitch; + } + } + } + [SerializeField] + [Range(-3.0f, 3.0f)] + private float sourcePitch = 1.0f; + + /// Sets the priority of the audio source. + public int priority { + get { return sourcePriority; } + set { + sourcePriority = value; + if(audioSource != null) { + audioSource.priority = sourcePriority; + } + } + } + [SerializeField] + [Range(0, 256)] + private int sourcePriority = 128; + + /// Sets how much this source is affected by 3D spatialization calculations (attenuation, doppler). + public float spatialBlend { + get { return sourceSpatialBlend; } + set { + sourceSpatialBlend = value; + if (audioSource != null) { + audioSource.spatialBlend = sourceSpatialBlend; + } + } + } + [SerializeField] + [Range(0.0f, 1.0f)] + private float sourceSpatialBlend = 1.0f; + + /// Sets the Doppler scale for this audio source. + public float dopplerLevel { + get { return sourceDopplerLevel; } + set { + sourceDopplerLevel = value; + if(audioSource != null) { + audioSource.dopplerLevel = sourceDopplerLevel; + } + } + } + [SerializeField] + [Range(0.0f, 5.0f)] + private float sourceDopplerLevel = 1.0f; + + /// Sets the spread angle (in degrees) in 3D space. + public float spread { + get { return sourceSpread; } + set { + sourceSpread = value; + if(audioSource != null) { + audioSource.spread = sourceSpread; + } + } + } + [SerializeField] + [Range(0.0f, 360.0f)] + private float sourceSpread = 0.0f; + + /// Playback position in seconds. + public float time { + get { + if(audioSource != null) { + return audioSource.time; + } + return 0.0f; + } + set { + if(audioSource != null) { + audioSource.time = value; + } + } + } + + /// Playback position in PCM samples. + public int timeSamples { + get { + if(audioSource != null) { + return audioSource.timeSamples; + } + return 0; + } + set { + if(audioSource != null) { + audioSource.timeSamples = value; + } + } + } + + /// The volume of the audio source (0.0 to 1.0). + public float volume { + get { return sourceVolume; } + set { + sourceVolume = value; + if (audioSource != null) { + audioSource.volume = sourceVolume; + } + } + } + [SerializeField] + [Range(0.0f, 1.0f)] + private float sourceVolume = 1.0f; + + /// Volume rolloff model with respect to the distance. + public AudioRolloffMode rolloffMode { + get { return sourceRolloffMode; } + set { + sourceRolloffMode = value; + if (audioSource != null) { + audioSource.rolloffMode = sourceRolloffMode; + if (rolloffMode == AudioRolloffMode.Custom) { + // Custom rolloff is not supported, set the curve for no distance attenuation. + audioSource.SetCustomCurve(AudioSourceCurveType.CustomRolloff, + AnimationCurve.Linear(sourceMinDistance, 1.0f, + sourceMaxDistance, 1.0f)); + } + } + } + } + [SerializeField] + private AudioRolloffMode sourceRolloffMode = AudioRolloffMode.Logarithmic; + + /// MaxDistance is the distance a sound stops attenuating at. + public float maxDistance { + get { return sourceMaxDistance; } + set { + sourceMaxDistance = Mathf.Clamp(value, sourceMinDistance + GvrAudio.distanceEpsilon, + GvrAudio.maxDistanceLimit); + if(audioSource != null) { + audioSource.maxDistance = sourceMaxDistance; + } + } + } + [SerializeField] + private float sourceMaxDistance = 500.0f; + + /// Within the Min distance the GvrAudioSource will cease to grow louder in volume. + public float minDistance { + get { return sourceMinDistance; } + set { + sourceMinDistance = Mathf.Clamp(value, 0.0f, GvrAudio.minDistanceLimit); + if(audioSource != null) { + audioSource.minDistance = sourceMinDistance; + } + } + } + [SerializeField] + private float sourceMinDistance = 1.0f; + + /// Binaural (HRTF) rendering toggle. + [SerializeField] + private bool hrtfEnabled = true; + + // Unity audio source attached to the game object. + [SerializeField] + private AudioSource audioSource = null; + + // Unique source id. + private int id = -1; + + // Current occlusion value; + private float currentOcclusion = 0.0f; + + // Next occlusion update time in seconds. + private float nextOcclusionUpdate = 0.0f; + + // Denotes whether the source is currently paused or not. + private bool isPaused = false; + + void Awake () { +#if UNITY_EDITOR && UNITY_2017_1_OR_NEWER + Debug.LogWarningFormat(gameObject, + "Game object '{0}' uses deprecated {1} component.\nPlease upgrade to Resonance Audio ({2}).", + name, GetType().Name, "https://developers.google.com/resonance-audio/migrate"); +#endif // UNITY_EDITOR && UNITY_2017_1_OR_NEWER + if (audioSource == null) { + // Ensure the audio source gets created once. + audioSource = gameObject.AddComponent(); + } + audioSource.enabled = false; + audioSource.hideFlags = HideFlags.HideInInspector | HideFlags.HideAndDontSave; + audioSource.playOnAwake = false; + audioSource.bypassReverbZones = true; +#if UNITY_5_5_OR_NEWER + audioSource.spatializePostEffects = true; +#endif // UNITY_5_5_OR_NEWER + OnValidate(); + // Route the source output to |GvrAudioMixer|. + AudioMixer mixer = (Resources.Load("GvrAudioMixer") as AudioMixer); + if(mixer != null) { + audioSource.outputAudioMixerGroup = mixer.FindMatchingGroups("Master")[0]; + } else { + Debug.LogError("GVRAudioMixer could not be found in Resources. Make sure that the GVR SDK " + + "Unity package is imported properly."); + } + } + + void OnEnable () { + audioSource.enabled = true; + if (playOnAwake && !isPlaying && InitializeSource()) { + Play(); + } + } + + void Start () { + if (playOnAwake && !isPlaying) { + Play(); + } + } + + void OnDisable () { + Stop(); + audioSource.enabled = false; + } + + void OnDestroy () { + Destroy(audioSource); + } + + void OnApplicationPause (bool pauseStatus) { + if (pauseStatus) { + Pause(); + } else { + UnPause(); + } + } + + void Update () { + // Update occlusion state. + if (!occlusionEnabled) { + currentOcclusion = 0.0f; + } else if (Time.time >= nextOcclusionUpdate) { + nextOcclusionUpdate = Time.time + GvrAudio.occlusionDetectionInterval; + currentOcclusion = GvrAudio.ComputeOcclusion(transform); + } + // Update source. + if (!isPlaying && !isPaused) { + Stop(); + } else { + audioSource.SetSpatializerFloat((int) GvrAudio.SpatializerData.Gain, + GvrAudio.ConvertAmplitudeFromDb(gainDb)); + audioSource.SetSpatializerFloat((int) GvrAudio.SpatializerData.MinDistance, + sourceMinDistance); + GvrAudio.UpdateAudioSource(id, this, currentOcclusion); + } + } + + /// Provides a block of the currently playing source's output data. + /// + /// @note The array given in samples will be filled with the requested data before spatialization. + public void GetOutputData(float[] samples, int channel) { + if (audioSource != null) { + audioSource.GetOutputData(samples, channel); + } + } + + /// Provides a block of the currently playing audio source's spectrum data. + /// + /// @note The array given in samples will be filled with the requested data before spatialization. + public void GetSpectrumData(float[] samples, int channel, FFTWindow window) { + if (audioSource != null) { + audioSource.GetSpectrumData(samples, channel, window); + } + } + + /// Pauses playing the clip. + public void Pause () { + if (audioSource != null) { + isPaused = true; + audioSource.Pause(); + } + } + + /// Plays the clip. + public void Play () { + if (audioSource != null && InitializeSource()) { + audioSource.Play(); + isPaused = false; + } else { + Debug.LogWarning ("GVR Audio source not initialized. Audio playback not supported " + + "until after Awake() and OnEnable(). Try calling from Start() instead."); + } + } + + /// Plays the clip with a delay specified in seconds. + public void PlayDelayed (float delay) { + if (audioSource != null && InitializeSource()) { + audioSource.PlayDelayed(delay); + isPaused = false; + } else { + Debug.LogWarning ("GVR Audio source not initialized. Audio playback not supported " + + "until after Awake() and OnEnable(). Try calling from Start() instead."); + } + } + + /// Plays an AudioClip. + public void PlayOneShot (AudioClip clip) { + PlayOneShot(clip, 1.0f); + } + + /// Plays an AudioClip, and scales its volume. + public void PlayOneShot (AudioClip clip, float volume) { + if (audioSource != null && InitializeSource()) { + audioSource.PlayOneShot(clip, volume); + isPaused = false; + } else { + Debug.LogWarning ("GVR Audio source not initialized. Audio playback not supported " + + "until after Awake() and OnEnable(). Try calling from Start() instead."); + } + } + + /// Plays the clip at a specific time on the absolute time-line that AudioSettings.dspTime reads + /// from. + public void PlayScheduled (double time) { + if (audioSource != null && InitializeSource()) { + audioSource.PlayScheduled(time); + isPaused = false; + } else { + Debug.LogWarning ("GVR Audio source not initialized. Audio playback not supported " + + "until after Awake() and OnEnable(). Try calling from Start() instead."); + } + } + + /// Changes the time at which a sound that has already been scheduled to play will end. + public void SetScheduledEndTime(double time) { + if (audioSource != null) { + audioSource.SetScheduledEndTime(time); + } + } + + /// Changes the time at which a sound that has already been scheduled to play will start. + public void SetScheduledStartTime(double time) { + if (audioSource != null) { + audioSource.SetScheduledStartTime(time); + } + } + + /// Stops playing the clip. + public void Stop () { + if (audioSource != null) { + audioSource.Stop(); + ShutdownSource(); + isPaused = true; + } + } + + /// Unpauses the paused playback. + public void UnPause () { + if (audioSource != null) { + audioSource.UnPause(); + isPaused = false; + } + } + + // Initializes the source. + private bool InitializeSource () { + if (id < 0) { + id = GvrAudio.CreateAudioSource(hrtfEnabled); + if (id >= 0) { + GvrAudio.UpdateAudioSource(id, this, currentOcclusion); + audioSource.spatialize = true; + audioSource.SetSpatializerFloat((int) GvrAudio.SpatializerData.Type, + (float) GvrAudio.SpatializerType.Source); + audioSource.SetSpatializerFloat((int) GvrAudio.SpatializerData.Gain, + GvrAudio.ConvertAmplitudeFromDb(gainDb)); + audioSource.SetSpatializerFloat((int) GvrAudio.SpatializerData.MinDistance, + sourceMinDistance); + audioSource.SetSpatializerFloat((int) GvrAudio.SpatializerData.ZeroOutput, 0.0f); + // Source id must be set after all the spatializer parameters, to ensure that the source is + // properly initialized before processing. + audioSource.SetSpatializerFloat((int) GvrAudio.SpatializerData.Id, (float) id); + } + } + return id >= 0; + } + + // Shuts down the source. + private void ShutdownSource () { + if (id >= 0) { + audioSource.SetSpatializerFloat((int) GvrAudio.SpatializerData.Id, -1.0f); + // Ensure that the output is zeroed after shutdown. + audioSource.SetSpatializerFloat((int) GvrAudio.SpatializerData.ZeroOutput, 1.0f); + audioSource.spatialize = false; + GvrAudio.DestroyAudioSource(id); + id = -1; + } + } + + void OnDidApplyAnimationProperties () { + OnValidate(); + } + + void OnValidate () { + clip = sourceClip; + loop = sourceLoop; + mute = sourceMute; + pitch = sourcePitch; + priority = sourcePriority; + spatialBlend = sourceSpatialBlend; + volume = sourceVolume; + dopplerLevel = sourceDopplerLevel; + spread = sourceSpread; + minDistance = sourceMinDistance; + maxDistance = sourceMaxDistance; + rolloffMode = sourceRolloffMode; + } + + void OnDrawGizmosSelected () { + // Draw listener directivity gizmo. + // Note that this is a very suboptimal way of finding the component, to be used in Unity Editor + // only, should not be used to access the component in run time. + GvrAudioListener listener = FindObjectOfType(); + if(listener != null) { + Gizmos.color = GvrAudio.listenerDirectivityColor; + DrawDirectivityGizmo(listener.transform, listenerDirectivityAlpha, + listenerDirectivitySharpness, 180); + } + // Draw source directivity gizmo. + Gizmos.color = GvrAudio.sourceDirectivityColor; + DrawDirectivityGizmo(transform, directivityAlpha, directivitySharpness, 180); + } + + // Draws a 3D gizmo in the Scene View that shows the selected directivity pattern. + private void DrawDirectivityGizmo (Transform target, float alpha, float sharpness, + int resolution) { + Vector2[] points = GvrAudio.Generate2dPolarPattern(alpha, sharpness, resolution); + // Compute |vertices| from the polar pattern |points|. + int numVertices = resolution + 1; + Vector3[] vertices = new Vector3[numVertices]; + vertices[0] = Vector3.zero; + for (int i = 0; i < points.Length; ++i) { + vertices[i + 1] = new Vector3(points[i].x, 0.0f, points[i].y); + } + // Generate |triangles| from |vertices|. Two triangles per each sweep to avoid backface culling. + int[] triangles = new int[6 * numVertices]; + for (int i = 0; i < numVertices - 1; ++i) { + int index = 6 * i; + if (i < numVertices - 2) { + triangles[index] = 0; + triangles[index + 1] = i + 1; + triangles[index + 2] = i + 2; + } else { + // Last vertex is connected back to the first for the last triangle. + triangles[index] = 0; + triangles[index + 1] = numVertices - 1; + triangles[index + 2] = 1; + } + // The second triangle facing the opposite direction. + triangles[index + 3] = triangles[index]; + triangles[index + 4] = triangles[index + 2]; + triangles[index + 5] = triangles[index + 1]; + } + // Construct a new mesh for the gizmo. + Mesh directivityGizmoMesh = new Mesh(); + directivityGizmoMesh.hideFlags = HideFlags.DontSaveInEditor; + directivityGizmoMesh.vertices = vertices; + directivityGizmoMesh.triangles = triangles; + directivityGizmoMesh.RecalculateNormals(); + // Draw the mesh. + Vector3 scale = 2.0f * Mathf.Max(target.lossyScale.x, target.lossyScale.z) * Vector3.one; + Gizmos.DrawMesh(directivityGizmoMesh, target.position, target.rotation, scale); + } +} + +#pragma warning restore 0618 // Restore warnings diff --git a/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioSource.cs.meta b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioSource.cs.meta new file mode 100644 index 0000000..a4c47ef --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/Audio/GvrAudioSource.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6dbca64e524ea44f9b26142ec59aca8a +timeCreated: 1447961362 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Scripts/GvrController.cs b/Assets/GoogleVR/Legacy/Scripts/GvrController.cs new file mode 100644 index 0000000..90af5ff --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/GvrController.cs @@ -0,0 +1,154 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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 UnityEngine; + +[System.Obsolete("Replaced by GvrControllerInput.")] +[AddComponentMenu("")] +public class GvrController : GvrControllerInput { + public new static GvrConnectionState State { + get { + return GvrControllerInput.State; + } + } + + public new static GvrControllerApiStatus ApiStatus { + get { + return GvrControllerInput.ApiStatus; + } + } + + public new static Quaternion Orientation { + get { + return GvrControllerInput.Orientation; + } + } + + public new static Vector3 Gyro { + get { + return GvrControllerInput.Gyro; + } + } + + public new static Vector3 Accel { + get { + return GvrControllerInput.Accel; + } + } + + public new static bool IsTouching { + get { + return GvrControllerInput.IsTouching; + } + } + + public new static bool TouchDown { + get { + return GvrControllerInput.TouchDown; + } + } + + public new static bool TouchUp { + get { + return GvrControllerInput.TouchUp; + } + } + + public new static Vector2 TouchPos { + get { + return GvrControllerInput.TouchPos; + } + } + + public new static bool Recentered { + get { + return GvrControllerInput.Recentered; + } + } + + public new static bool ClickButton { + get { + return GvrControllerInput.ClickButton; + } + } + + public new static bool ClickButtonDown { + get { + return GvrControllerInput.ClickButtonDown; + } + } + + public new static bool ClickButtonUp { + get { + return GvrControllerInput.ClickButtonUp; + } + } + + public new static bool AppButton { + get { + return GvrControllerInput.AppButton; + } + } + + public new static bool AppButtonDown { + get { + return GvrControllerInput.AppButtonDown; + } + } + + public new static bool AppButtonUp { + get { + return GvrControllerInput.AppButtonUp; + } + } + + public new static bool HomeButtonDown { + get { + return GvrControllerInput.HomeButtonDown; + } + } + + public new static bool HomeButtonState { + get { + return GvrControllerInput.HomeButtonState; + } + } + + public new static string ErrorDetails { + get { + return GvrControllerInput.ErrorDetails; + } + } + + // Returns the GVR C library controller state pointer (gvr_controller_state*). + public new static IntPtr StatePtr { + get { + return GvrControllerInput.StatePtr; + } + } + + public new static bool IsCharging { + get { + return GvrControllerInput.IsCharging; + } + } + + public new static GvrControllerBatteryLevel BatteryLevel { + get { + return GvrControllerInput.BatteryLevel; + } + } +} + diff --git a/Assets/GoogleVR/Legacy/Scripts/GvrController.cs.meta b/Assets/GoogleVR/Legacy/Scripts/GvrController.cs.meta new file mode 100644 index 0000000..71b8671 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/GvrController.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: adde9bdea083943199c7959004756e60 +timeCreated: 1462046540 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Scripts/GvrControllerVisualManager.cs b/Assets/GoogleVR/Legacy/Scripts/GvrControllerVisualManager.cs new file mode 100644 index 0000000..679477a --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/GvrControllerVisualManager.cs @@ -0,0 +1,21 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System.Collections; + +[System.Obsolete("Replaced by GvrTrackedController.")] +[AddComponentMenu("")] +public class GvrControllerVisualManager : GvrTrackedController { +} diff --git a/Assets/GoogleVR/Legacy/Scripts/GvrControllerVisualManager.cs.meta b/Assets/GoogleVR/Legacy/Scripts/GvrControllerVisualManager.cs.meta new file mode 100644 index 0000000..9dca7de --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/GvrControllerVisualManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f3bf9c1bacbb04f72bb43e892c3a98a9 +timeCreated: 1481762795 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/Scripts/GvrPointerManager.cs b/Assets/GoogleVR/Legacy/Scripts/GvrPointerManager.cs new file mode 100644 index 0000000..51a8b08 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/GvrPointerManager.cs @@ -0,0 +1,34 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System.Collections; + + +[System.Obsolete("Replaced by GvrPointerInputModule.")] +[AddComponentMenu("")] +public class GvrPointerManager : MonoBehaviour { + public static GvrBasePointer Pointer { + get { + return GvrPointerInputModule.Pointer as GvrBasePointer; + } + set { + GvrPointerInputModule.Pointer = value; + } + } + + public static void OnPointerCreated(GvrBasePointer createdPointer) { + GvrPointerInputModule.OnPointerCreated(createdPointer); + } +} diff --git a/Assets/GoogleVR/Legacy/Scripts/GvrPointerManager.cs.meta b/Assets/GoogleVR/Legacy/Scripts/GvrPointerManager.cs.meta new file mode 100644 index 0000000..64ab135 --- /dev/null +++ b/Assets/GoogleVR/Legacy/Scripts/GvrPointerManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 22a6dc478e59e4b35b25f9f26ddc4361 +timeCreated: 1472596899 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/prefabs.meta b/Assets/GoogleVR/Legacy/prefabs.meta new file mode 100644 index 0000000..e09f60b --- /dev/null +++ b/Assets/GoogleVR/Legacy/prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2a9a1ad95fb826c47adfa29ee490329e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/prefabs/Audio.meta b/Assets/GoogleVR/Legacy/prefabs/Audio.meta new file mode 100644 index 0000000..04c7581 --- /dev/null +++ b/Assets/GoogleVR/Legacy/prefabs/Audio.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3e69508062619a046858fc9a6723e33e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioRoom.prefab b/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioRoom.prefab new file mode 100644 index 0000000..92fc738 --- /dev/null +++ b/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioRoom.prefab @@ -0,0 +1,91 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &103798 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 497858} + - 114: {fileID: 11437632} + m_Layer: 0 + m_Name: GvrAudioRoom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &497858 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 103798} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 6, y: 4, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!114 &11437632 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 103798} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1d2722c2401e34d51bf5b473ef7aeefb, type: 3} + m_Name: + m_EditorClassIdentifier: + leftWall: 4 + rightWall: 4 + floor: 14 + ceiling: 15 + backWall: 4 + frontWall: 4 + reflectivity: 1 + reverbGainDb: 0 + reverbBrightness: 0 + reverbTime: 1 + size: {x: 1, y: 1, z: 1} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 0} + propertyPath: leftWall + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: rightWall + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: ceiling + value: 14 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: backWall + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: frontWall + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LocalScale.x + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LocalScale.z + value: 10 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 103798} + m_IsPrefabParent: 1 \ No newline at end of file diff --git a/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioRoom.prefab.meta b/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioRoom.prefab.meta new file mode 100644 index 0000000..b222e1b --- /dev/null +++ b/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioRoom.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c162c5667f1844e798189ae778eafc76 +timeCreated: 1448878013 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioSoundfield.prefab b/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioSoundfield.prefab new file mode 100644 index 0000000..1ec003e --- /dev/null +++ b/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioSoundfield.prefab @@ -0,0 +1,61 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &119012 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 440248} + - 114: {fileID: 11469856} + m_Layer: 0 + m_Name: GvrAudioSoundfield + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &440248 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119012} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!114 &11469856 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 119012} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d38f0664abc0c446a8fa0886ec2bcd12, type: 3} + m_Name: + m_EditorClassIdentifier: + gainDb: 0 + playOnAwake: 1 + soundfieldClip0102: {fileID: 0} + soundfieldClip0304: {fileID: 0} + soundfieldLoop: 1 + soundfieldMute: 0 + soundfieldPitch: 1 + soundfieldPriority: 32 + soundfieldVolume: 1 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 119012} + m_IsPrefabParent: 1 diff --git a/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioSoundfield.prefab.meta b/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioSoundfield.prefab.meta new file mode 100644 index 0000000..afe7974 --- /dev/null +++ b/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioSoundfield.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 33b1331235def4618ab66fa8dad6d443 +timeCreated: 1467224175 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioSource.prefab b/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioSource.prefab new file mode 100644 index 0000000..4804462 --- /dev/null +++ b/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioSource.prefab @@ -0,0 +1,66 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &106086 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 434824} + - 114: {fileID: 11461060} + m_Layer: 0 + m_Name: GvrAudioSource + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &434824 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106086} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!114 &11461060 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 106086} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6dbca64e524ea44f9b26142ec59aca8a, type: 3} + m_Name: + m_EditorClassIdentifier: + directivityAlpha: 0 + directivitySharpness: 1 + gainDb: 0 + occlusionEnabled: 0 + playOnAwake: 1 + rolloffMode: 0 + sourceClip: {fileID: 0} + sourceLoop: 1 + sourceMute: 0 + sourcePitch: 1 + sourceVolume: 1 + sourceMaxDistance: 500 + sourceMinDistance: 1 + hrtfEnabled: 1 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 106086} + m_IsPrefabParent: 1 diff --git a/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioSource.prefab.meta b/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioSource.prefab.meta new file mode 100644 index 0000000..4cd9f02 --- /dev/null +++ b/Assets/GoogleVR/Legacy/prefabs/Audio/GvrAudioSource.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 82b70a42d67ea49d4a2e3bd826e9a512 +timeCreated: 1448877677 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Materials.meta b/Assets/GoogleVR/Materials.meta new file mode 100644 index 0000000..bb19a52 --- /dev/null +++ b/Assets/GoogleVR/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1435053ff45415145bbd839fc80321ed +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Materials/ControllerBase.mat b/Assets/GoogleVR/Materials/ControllerBase.mat new file mode 100644 index 0000000..63f383e --- /dev/null +++ b/Assets/GoogleVR/Materials/ControllerBase.mat @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: ControllerBase + m_Shader: {fileID: 4800000, guid: fdbce15836bf64163856f689fdd67b2c, type: 3} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: 16bedee72525148848c1c905828661fb, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: + - _Color: {r: 0.61764705, g: 0.61764705, b: 0.61764705, a: 1} diff --git a/Assets/GoogleVR/Materials/ControllerBase.mat.meta b/Assets/GoogleVR/Materials/ControllerBase.mat.meta new file mode 100644 index 0000000..6df763d --- /dev/null +++ b/Assets/GoogleVR/Materials/ControllerBase.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b4f6031d569a624ba87b631c93a788a +timeCreated: 1472073995 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Materials/ControllerBaseTransparent.mat b/Assets/GoogleVR/Materials/ControllerBaseTransparent.mat new file mode 100644 index 0000000..65a61f4 --- /dev/null +++ b/Assets/GoogleVR/Materials/ControllerBaseTransparent.mat @@ -0,0 +1,28 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: ControllerBaseTransparent + m_Shader: {fileID: 4800000, guid: fdbce15836bf64163856f689fdd67b2c, type: 3} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: bf90d5db643cc45a8a8ea09172b0d000, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: + - first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/GoogleVR/Materials/ControllerBaseTransparent.mat.meta b/Assets/GoogleVR/Materials/ControllerBaseTransparent.mat.meta new file mode 100644 index 0000000..ff9864e --- /dev/null +++ b/Assets/GoogleVR/Materials/ControllerBaseTransparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22d5bb9dc35f641f3adaf464127b9507 +timeCreated: 1499785898 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Materials/ControllerLaser.mat b/Assets/GoogleVR/Materials/ControllerLaser.mat new file mode 100644 index 0000000..c883ffa --- /dev/null +++ b/Assets/GoogleVR/Materials/ControllerLaser.mat @@ -0,0 +1,25 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: ControllerLaser + m_Shader: {fileID: 4800000, guid: 66ce34a5829a64856be634609edd8912, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: e314ee0eb28e9ad4ba2950c17b95c25d, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] diff --git a/Assets/GoogleVR/Materials/ControllerLaser.mat.meta b/Assets/GoogleVR/Materials/ControllerLaser.mat.meta new file mode 100644 index 0000000..40cba21 --- /dev/null +++ b/Assets/GoogleVR/Materials/ControllerLaser.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a6329ec80f51d6049a5d00d86224003b +timeCreated: 1472081066 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Materials/ControllerReticle.mat b/Assets/GoogleVR/Materials/ControllerReticle.mat new file mode 100644 index 0000000..c74bed4 --- /dev/null +++ b/Assets/GoogleVR/Materials/ControllerReticle.mat @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: ControllerReticle + m_Shader: {fileID: 4800000, guid: 57e34a0b7bd8740c5922ce5840ba3ee8, type: 3} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 9be55a1c895d42a48a59cd0f2fedcb49, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _BumpScale + second: 1 + - first: + name: _Cutoff + second: 0.5 + - first: + name: _DetailNormalMapScale + second: 1 + - first: + name: _DstBlend + second: 0 + - first: + name: _GlossMapScale + second: 1 + - first: + name: _Glossiness + second: 0.5 + - first: + name: _GlossyReflections + second: 1 + - first: + name: _InvFade + second: 1 + - first: + name: _Metallic + second: 0 + - first: + name: _Mode + second: 0 + - first: + name: _OcclusionStrength + second: 1 + - first: + name: _Parallax + second: 0.02 + - first: + name: _SmoothnessTextureChannel + second: 0 + - first: + name: _SpecularHighlights + second: 1 + - first: + name: _SrcBlend + second: 1 + - first: + name: _UVSec + second: 0 + - first: + name: _ZWrite + second: 1 + m_Colors: + - first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + - first: + name: _EmisColor + second: {r: 0.2, g: 0.2, b: 0.2, a: 0} + - first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} + - first: + name: _TintColor + second: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/Assets/GoogleVR/Materials/ControllerReticle.mat.meta b/Assets/GoogleVR/Materials/ControllerReticle.mat.meta new file mode 100644 index 0000000..f7d2031 --- /dev/null +++ b/Assets/GoogleVR/Materials/ControllerReticle.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ebbccbcf1451ddf4199eab062dc6d367 +timeCreated: 1475515069 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Materials/ReticlePointer.mat b/Assets/GoogleVR/Materials/ReticlePointer.mat new file mode 100644 index 0000000..23d3fc5 --- /dev/null +++ b/Assets/GoogleVR/Materials/ReticlePointer.mat @@ -0,0 +1,130 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: ReticlePointer + m_Shader: {fileID: 4800000, guid: a3b352fc2ba734605a3df75466e600f0, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _Border + second: 0.015 + - first: + name: _BumpScale + second: 1 + - first: + name: _Cutoff + second: 0.5 + - first: + name: _DetailNormalMapScale + second: 1 + - first: + name: _DistanceInMeters + second: 2 + - first: + name: _DstBlend + second: 0 + - first: + name: _Glossiness + second: 0.5 + - first: + name: _InnerDiameter + second: 1.5 + - first: + name: _Metallic + second: 0 + - first: + name: _Mode + second: 0 + - first: + name: _OcclusionStrength + second: 1 + - first: + name: _OuterDiameter + second: 2 + - first: + name: _Parallax + second: 0.02 + - first: + name: _Radius + second: 0 + - first: + name: _SrcBlend + second: 1 + - first: + name: _UVSec + second: 0 + - first: + name: _ZWrite + second: 1 + m_Colors: + - first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + - first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/GoogleVR/Materials/ReticlePointer.mat.meta b/Assets/GoogleVR/Materials/ReticlePointer.mat.meta new file mode 100644 index 0000000..0fcf124 --- /dev/null +++ b/Assets/GoogleVR/Materials/ReticlePointer.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4cb1460f617514a888f47071314ccdae +timeCreated: 1446892072 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Materials/TooltipFont.mat b/Assets/GoogleVR/Materials/TooltipFont.mat new file mode 100644 index 0000000..8cb15d2 --- /dev/null +++ b/Assets/GoogleVR/Materials/TooltipFont.mat @@ -0,0 +1,148 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: TooltipFont + m_Shader: {fileID: 4800000, guid: c259eeb26e96b4f1d8eeb8871bcfdac5, type: 3} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _BumpScale + second: 1 + - first: + name: _ColorMask + second: 15 + - first: + name: _Cutoff + second: 0.5 + - first: + name: _DetailNormalMapScale + second: 1 + - first: + name: _DstBlend + second: 0 + - first: + name: _GlossMapScale + second: 1 + - first: + name: _Glossiness + second: 0.5 + - first: + name: _GlossyReflections + second: 1 + - first: + name: _Metallic + second: 0 + - first: + name: _Mode + second: 0 + - first: + name: _OcclusionStrength + second: 1 + - first: + name: _Parallax + second: 0.02 + - first: + name: _SmoothnessTextureChannel + second: 0 + - first: + name: _SpecularHighlights + second: 1 + - first: + name: _SrcBlend + second: 1 + - first: + name: _Stencil + second: 0 + - first: + name: _StencilComp + second: 8 + - first: + name: _StencilOp + second: 0 + - first: + name: _StencilReadMask + second: 255 + - first: + name: _StencilWriteMask + second: 255 + - first: + name: _UVSec + second: 0 + - first: + name: _UseUIAlphaClip + second: 0 + - first: + name: _ZWrite + second: 1 + m_Colors: + - first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + - first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/GoogleVR/Materials/TooltipFont.mat.meta b/Assets/GoogleVR/Materials/TooltipFont.mat.meta new file mode 100644 index 0000000..e491ff5 --- /dev/null +++ b/Assets/GoogleVR/Materials/TooltipFont.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8ff3914f115e149d49d001ed2cea77c8 +timeCreated: 1479426356 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Materials/TooltipImage.mat b/Assets/GoogleVR/Materials/TooltipImage.mat new file mode 100644 index 0000000..da6d64b --- /dev/null +++ b/Assets/GoogleVR/Materials/TooltipImage.mat @@ -0,0 +1,148 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: TooltipImage + m_Shader: {fileID: 4800000, guid: 36d276bd7b313441fbe34aadce7598ca, type: 3} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _BumpScale + second: 1 + - first: + name: _ColorMask + second: 15 + - first: + name: _Cutoff + second: 0.5 + - first: + name: _DetailNormalMapScale + second: 1 + - first: + name: _DstBlend + second: 0 + - first: + name: _GlossMapScale + second: 1 + - first: + name: _Glossiness + second: 0.5 + - first: + name: _GlossyReflections + second: 1 + - first: + name: _Metallic + second: 0 + - first: + name: _Mode + second: 0 + - first: + name: _OcclusionStrength + second: 1 + - first: + name: _Parallax + second: 0.02 + - first: + name: _SmoothnessTextureChannel + second: 0 + - first: + name: _SpecularHighlights + second: 1 + - first: + name: _SrcBlend + second: 1 + - first: + name: _Stencil + second: 0 + - first: + name: _StencilComp + second: 8 + - first: + name: _StencilOp + second: 0 + - first: + name: _StencilReadMask + second: 255 + - first: + name: _StencilWriteMask + second: 255 + - first: + name: _UVSec + second: 0 + - first: + name: _UseUIAlphaClip + second: 0 + - first: + name: _ZWrite + second: 1 + m_Colors: + - first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + - first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/GoogleVR/Materials/TooltipImage.mat.meta b/Assets/GoogleVR/Materials/TooltipImage.mat.meta new file mode 100644 index 0000000..c1647fb --- /dev/null +++ b/Assets/GoogleVR/Materials/TooltipImage.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0f457230f725f45c4b83b007ff7ca38e +timeCreated: 1479426356 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Materials/TooltipSimple.mat b/Assets/GoogleVR/Materials/TooltipSimple.mat new file mode 100644 index 0000000..84a8e99 --- /dev/null +++ b/Assets/GoogleVR/Materials/TooltipSimple.mat @@ -0,0 +1,83 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: TooltipSimple + m_Shader: {fileID: 4800000, guid: 06aa46b8e43675d43b204c3638e59767, type: 3} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 2ec36c18ef93e4d92ab61c818b298aac, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _ColorMask: 15 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/GoogleVR/Materials/TooltipSimple.mat.meta b/Assets/GoogleVR/Materials/TooltipSimple.mat.meta new file mode 100644 index 0000000..45e9941 --- /dev/null +++ b/Assets/GoogleVR/Materials/TooltipSimple.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ae4e711941ecc4590a09ae58653816ee +timeCreated: 1479426356 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Materials/Video.meta b/Assets/GoogleVR/Materials/Video.meta new file mode 100644 index 0000000..97ba5f1 --- /dev/null +++ b/Assets/GoogleVR/Materials/Video.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5e02f026898e9c94a85cff0bced1145d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Materials/Video/VideoMono.mat b/Assets/GoogleVR/Materials/Video/VideoMono.mat new file mode 100644 index 0000000..7ca7c9c --- /dev/null +++ b/Assets/GoogleVR/Materials/Video/VideoMono.mat @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: VideoMono + m_Shader: {fileID: 4800000, guid: 4b50a67a5a86e4093bf89c85cbc2c700, type: 3} + m_ShaderKeywords: _EMISSION _STEREOMODE_NONE + m_LightmapFlags: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: e4ecb698048ab455babea358c846d5f8, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _BumpScale + second: 1 + - first: + name: _Cutoff + second: 0.5 + - first: + name: _DetailNormalMapScale + second: 1 + - first: + name: _DstBlend + second: 0 + - first: + name: _FlipX + second: 0 + - first: + name: _Gamma + second: 1 + - first: + name: _GlossMapScale + second: 1 + - first: + name: _Glossiness + second: 0.5 + - first: + name: _GlossyReflections + second: 1 + - first: + name: _Metallic + second: 0 + - first: + name: _Mode + second: 0 + - first: + name: _OcclusionStrength + second: 1 + - first: + name: _Parallax + second: 0.02 + - first: + name: _SmoothnessTextureChannel + second: 0 + - first: + name: _SpecularHighlights + second: 1 + - first: + name: _SrcBlend + second: 1 + - first: + name: _StereoMode + second: 0 + - first: + name: _UVSec + second: 0 + - first: + name: _ZWrite + second: 1 + m_Colors: + - first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + - first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/GoogleVR/Materials/Video/VideoMono.mat.meta b/Assets/GoogleVR/Materials/Video/VideoMono.mat.meta new file mode 100644 index 0000000..bf18f80 --- /dev/null +++ b/Assets/GoogleVR/Materials/Video/VideoMono.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a6f8966fc281944c1a0e624a9fb657e4 +timeCreated: 1469833028 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Materials/Video/VideoStereo.mat b/Assets/GoogleVR/Materials/Video/VideoStereo.mat new file mode 100644 index 0000000..a9b5961 --- /dev/null +++ b/Assets/GoogleVR/Materials/Video/VideoStereo.mat @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: VideoStereo + m_Shader: {fileID: 4800000, guid: 4b50a67a5a86e4093bf89c85cbc2c700, type: 3} + m_ShaderKeywords: _EMISSION _STEREOMODE_TOPBOTTOM + m_LightmapFlags: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: e4ecb698048ab455babea358c846d5f8, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _BumpScale + second: 1 + - first: + name: _Cutoff + second: 0.5 + - first: + name: _DetailNormalMapScale + second: 1 + - first: + name: _DstBlend + second: 0 + - first: + name: _FlipX + second: 0 + - first: + name: _Gamma + second: 1 + - first: + name: _GlossMapScale + second: 1 + - first: + name: _Glossiness + second: 0.5 + - first: + name: _GlossyReflections + second: 1 + - first: + name: _Metallic + second: 0 + - first: + name: _Mode + second: 0 + - first: + name: _OcclusionStrength + second: 1 + - first: + name: _Parallax + second: 0.02 + - first: + name: _SmoothnessTextureChannel + second: 0 + - first: + name: _SpecularHighlights + second: 1 + - first: + name: _SrcBlend + second: 1 + - first: + name: _StereoMode + second: 1 + - first: + name: _UVSec + second: 0 + - first: + name: _ZWrite + second: 1 + m_Colors: + - first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + - first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/GoogleVR/Materials/Video/VideoStereo.mat.meta b/Assets/GoogleVR/Materials/Video/VideoStereo.mat.meta new file mode 100644 index 0000000..d209634 --- /dev/null +++ b/Assets/GoogleVR/Materials/Video/VideoStereo.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3bbe11c576194adba41e6f574dda321 +timeCreated: 1469833028 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Materials/Video/VideoStereoInside.mat b/Assets/GoogleVR/Materials/Video/VideoStereoInside.mat new file mode 100644 index 0000000..1cbb528 --- /dev/null +++ b/Assets/GoogleVR/Materials/Video/VideoStereoInside.mat @@ -0,0 +1,139 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: VideoStereoInside + m_Shader: {fileID: 4800000, guid: 4b50a67a5a86e4093bf89c85cbc2c700, type: 3} + m_ShaderKeywords: FLIP_X _ALPHABLEND_ON _EMISSION _STEREOMODE_TOPBOTTOM + m_LightmapFlags: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _BumpScale + second: 1 + - first: + name: _Cutoff + second: 0.5 + - first: + name: _DetailNormalMapScale + second: 1 + - first: + name: _DstBlend + second: 10 + - first: + name: _FlipX + second: 1 + - first: + name: _Gamma + second: 1 + - first: + name: _GlossMapScale + second: 1 + - first: + name: _Glossiness + second: 0.5 + - first: + name: _GlossyReflections + second: 1 + - first: + name: _Metallic + second: 0 + - first: + name: _Mode + second: 2 + - first: + name: _OcclusionStrength + second: 1 + - first: + name: _Parallax + second: 0.02 + - first: + name: _SmoothnessTextureChannel + second: 0 + - first: + name: _SpecularHighlights + second: 1 + - first: + name: _SrcBlend + second: 5 + - first: + name: _StereoMode + second: 1 + - first: + name: _StereoVideo + second: 1 + - first: + name: _UVSec + second: 0 + - first: + name: _ZWrite + second: 0 + m_Colors: + - first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + - first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/GoogleVR/Materials/Video/VideoStereoInside.mat.meta b/Assets/GoogleVR/Materials/Video/VideoStereoInside.mat.meta new file mode 100644 index 0000000..627f0c2 --- /dev/null +++ b/Assets/GoogleVR/Materials/Video/VideoStereoInside.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 38722f7e29e284a8bb3a91c83a5b8848 +timeCreated: 1470165632 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Models.meta b/Assets/GoogleVR/Models.meta new file mode 100644 index 0000000..a078ad4 --- /dev/null +++ b/Assets/GoogleVR/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d8ac078a27175f648a1e86b3382b2963 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Models/ddcontroller.fbx b/Assets/GoogleVR/Models/ddcontroller.fbx new file mode 100644 index 0000000..32e3e7f Binary files /dev/null and b/Assets/GoogleVR/Models/ddcontroller.fbx differ diff --git a/Assets/GoogleVR/Models/ddcontroller.fbx.meta b/Assets/GoogleVR/Models/ddcontroller.fbx.meta new file mode 100644 index 0000000..29b086e --- /dev/null +++ b/Assets/GoogleVR/Models/ddcontroller.fbx.meta @@ -0,0 +1,82 @@ +fileFormatVersion: 2 +guid: 581a0d1f069aa2d41b4112fb6b01244e +timeCreated: 1472073995 +licenseType: Pro +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: ddcontroller + materials: + importMaterials: 0 + materialName: 1 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 0 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 0 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Models/ddtooltips.fbx b/Assets/GoogleVR/Models/ddtooltips.fbx new file mode 100644 index 0000000..fc7574f Binary files /dev/null and b/Assets/GoogleVR/Models/ddtooltips.fbx differ diff --git a/Assets/GoogleVR/Models/ddtooltips.fbx.meta b/Assets/GoogleVR/Models/ddtooltips.fbx.meta new file mode 100644 index 0000000..efd29f5 --- /dev/null +++ b/Assets/GoogleVR/Models/ddtooltips.fbx.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: 65a5650feae944b8db4f666fa2354de4 +timeCreated: 1497972397 +licenseType: Pro +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: tooltips + 4300002: ddtooltips + 9500000: //RootNode + materials: + importMaterials: 0 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 0 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 2 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 0 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Models/hemisphere_18x18.fbx b/Assets/GoogleVR/Models/hemisphere_18x18.fbx new file mode 100644 index 0000000..c7e0188 Binary files /dev/null and b/Assets/GoogleVR/Models/hemisphere_18x18.fbx differ diff --git a/Assets/GoogleVR/Models/hemisphere_18x18.fbx.meta b/Assets/GoogleVR/Models/hemisphere_18x18.fbx.meta new file mode 100644 index 0000000..0963798 --- /dev/null +++ b/Assets/GoogleVR/Models/hemisphere_18x18.fbx.meta @@ -0,0 +1,77 @@ +fileFormatVersion: 2 +guid: 4bf0b5e6d505046d0ae41ea25c46a897 +timeCreated: 1499884154 +licenseType: Pro +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: hemisphere_18x18 + 9500000: //RootNode + materials: + importMaterials: 0 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 100 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 0 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 2 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + hasTranslationDoF: 0 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Models/sphere_36x18.fbx b/Assets/GoogleVR/Models/sphere_36x18.fbx new file mode 100644 index 0000000..44c7157 Binary files /dev/null and b/Assets/GoogleVR/Models/sphere_36x18.fbx differ diff --git a/Assets/GoogleVR/Models/sphere_36x18.fbx.meta b/Assets/GoogleVR/Models/sphere_36x18.fbx.meta new file mode 100644 index 0000000..76912aa --- /dev/null +++ b/Assets/GoogleVR/Models/sphere_36x18.fbx.meta @@ -0,0 +1,77 @@ +fileFormatVersion: 2 +guid: 4a941ed6f14aa451d94ed905031bbe00 +timeCreated: 1497901673 +licenseType: Pro +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: sphere_36x18 + 9500000: //RootNode + materials: + importMaterials: 0 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 100 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 0 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 2 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + hasTranslationDoF: 0 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins.meta b/Assets/GoogleVR/Plugins.meta new file mode 100644 index 0000000..198eef8 --- /dev/null +++ b/Assets/GoogleVR/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6f263884b37388a4f983457d5ec4d9d9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android.meta b/Assets/GoogleVR/Plugins/Android.meta new file mode 100644 index 0000000..c03dcbb --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 49fed70c023be42428dc2d89f1ed2777 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android/AndroidManifest-6DOF.xml b/Assets/GoogleVR/Plugins/Android/AndroidManifest-6DOF.xml new file mode 100644 index 0000000..f18f832 --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/AndroidManifest-6DOF.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + diff --git a/Assets/GoogleVR/Plugins/Android/AndroidManifest-6DOF.xml.meta b/Assets/GoogleVR/Plugins/Android/AndroidManifest-6DOF.xml.meta new file mode 100644 index 0000000..c996c71 --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/AndroidManifest-6DOF.xml.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a6a4dc79e16b24f91978bbf65972aebb +timeCreated: 1498446981 +licenseType: Pro +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android/AndroidManifest-Cardboard.xml b/Assets/GoogleVR/Plugins/Android/AndroidManifest-Cardboard.xml new file mode 100644 index 0000000..84f72cd --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/AndroidManifest-Cardboard.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Assets/GoogleVR/Plugins/Android/AndroidManifest-Cardboard.xml.meta b/Assets/GoogleVR/Plugins/Android/AndroidManifest-Cardboard.xml.meta new file mode 100644 index 0000000..c7c69eb --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/AndroidManifest-Cardboard.xml.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d58d208ecab3b4c68864333c61ffac7b +timeCreated: 1473365081 +licenseType: Pro +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android/AndroidManifest-Daydream.xml b/Assets/GoogleVR/Plugins/Android/AndroidManifest-Daydream.xml new file mode 100644 index 0000000..6655a31 --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/AndroidManifest-Daydream.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + diff --git a/Assets/GoogleVR/Plugins/Android/AndroidManifest-Daydream.xml.meta b/Assets/GoogleVR/Plugins/Android/AndroidManifest-Daydream.xml.meta new file mode 100644 index 0000000..c938707 --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/AndroidManifest-Daydream.xml.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 48f7ce7c2a1174ffdac9ebd5815bfa13 +timeCreated: 1473365498 +licenseType: Pro +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android/gvr-keyboard.aar b/Assets/GoogleVR/Plugins/Android/gvr-keyboard.aar new file mode 100644 index 0000000..e90f098 Binary files /dev/null and b/Assets/GoogleVR/Plugins/Android/gvr-keyboard.aar differ diff --git a/Assets/GoogleVR/Plugins/Android/gvr-keyboard.aar.meta b/Assets/GoogleVR/Plugins/Android/gvr-keyboard.aar.meta new file mode 100644 index 0000000..a5b2a90 --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/gvr-keyboard.aar.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: b15e9264b4be00b4081309189e69d16c +timeCreated: 1517512149 +licenseType: Pro +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Android: Android + second: + enabled: 1 + settings: {} + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android/gvr-keyboardsupport-release.aar b/Assets/GoogleVR/Plugins/Android/gvr-keyboardsupport-release.aar new file mode 100644 index 0000000..d887938 Binary files /dev/null and b/Assets/GoogleVR/Plugins/Android/gvr-keyboardsupport-release.aar differ diff --git a/Assets/GoogleVR/Plugins/Android/gvr-keyboardsupport-release.aar.meta b/Assets/GoogleVR/Plugins/Android/gvr-keyboardsupport-release.aar.meta new file mode 100644 index 0000000..588510a --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/gvr-keyboardsupport-release.aar.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: abfc5232453744fb49d723562dace4c9 +timeCreated: 1506951432 +licenseType: Pro +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Android: Android + second: + enabled: 1 + settings: {} + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android/gvr-permissionsupport-release.aar b/Assets/GoogleVR/Plugins/Android/gvr-permissionsupport-release.aar new file mode 100644 index 0000000..b6ba223 Binary files /dev/null and b/Assets/GoogleVR/Plugins/Android/gvr-permissionsupport-release.aar differ diff --git a/Assets/GoogleVR/Plugins/Android/gvr-permissionsupport-release.aar.meta b/Assets/GoogleVR/Plugins/Android/gvr-permissionsupport-release.aar.meta new file mode 100644 index 0000000..6e14a51 --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/gvr-permissionsupport-release.aar.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 86e690da1921442f6ab8af8891453583 +timeCreated: 1506951432 +licenseType: Pro +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Android: Android + second: + enabled: 1 + settings: {} + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android/gvr.aar b/Assets/GoogleVR/Plugins/Android/gvr.aar new file mode 100644 index 0000000..63688bf Binary files /dev/null and b/Assets/GoogleVR/Plugins/Android/gvr.aar differ diff --git a/Assets/GoogleVR/Plugins/Android/gvr.aar.meta b/Assets/GoogleVR/Plugins/Android/gvr.aar.meta new file mode 100644 index 0000000..47c63db --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/gvr.aar.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: bea8d7578c4bd412b85536ce494761c5 +timeCreated: 1508991741 +licenseType: Pro +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Android: Android + second: + enabled: 1 + settings: {} + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android/libs.meta b/Assets/GoogleVR/Plugins/Android/libs.meta new file mode 100644 index 0000000..d28bb9c --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/libs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2b0ebf2ae311a24489d84627fac506ee +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android/libs/armeabi-v7a.meta b/Assets/GoogleVR/Plugins/Android/libs/armeabi-v7a.meta new file mode 100644 index 0000000..256a4a0 --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/libs/armeabi-v7a.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 50b72addf35563d409897e5cf8aeb81b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android/libs/armeabi-v7a/libaudioplugingvrunity.so b/Assets/GoogleVR/Plugins/Android/libs/armeabi-v7a/libaudioplugingvrunity.so new file mode 100644 index 0000000..c517cc0 Binary files /dev/null and b/Assets/GoogleVR/Plugins/Android/libs/armeabi-v7a/libaudioplugingvrunity.so differ diff --git a/Assets/GoogleVR/Plugins/Android/libs/armeabi-v7a/libaudioplugingvrunity.so.meta b/Assets/GoogleVR/Plugins/Android/libs/armeabi-v7a/libaudioplugingvrunity.so.meta new file mode 100644 index 0000000..7ffe89b --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/libs/armeabi-v7a/libaudioplugingvrunity.so.meta @@ -0,0 +1,50 @@ +fileFormatVersion: 2 +guid: 784c4e479ec224417a77c264df4d818b +timeCreated: 1488236556 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 1 + platformData: + Android: + enabled: 1 + settings: + CPU: ARMv7 + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + Linux: + enabled: 0 + settings: + CPU: x86 + Linux64: + enabled: 0 + settings: + CPU: x86_64 + OSXIntel: + enabled: 0 + settings: + CPU: AnyCPU + OSXIntel64: + enabled: 0 + settings: + CPU: AnyCPU + Win: + enabled: 0 + settings: + CPU: AnyCPU + Win64: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android/libs/x86.meta b/Assets/GoogleVR/Plugins/Android/libs/x86.meta new file mode 100644 index 0000000..075f204 --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/libs/x86.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c8ab2cc71f42e6e488fa186d547f84a1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android/libs/x86/libaudioplugingvrunity.so b/Assets/GoogleVR/Plugins/Android/libs/x86/libaudioplugingvrunity.so new file mode 100644 index 0000000..19fb84b Binary files /dev/null and b/Assets/GoogleVR/Plugins/Android/libs/x86/libaudioplugingvrunity.so differ diff --git a/Assets/GoogleVR/Plugins/Android/libs/x86/libaudioplugingvrunity.so.meta b/Assets/GoogleVR/Plugins/Android/libs/x86/libaudioplugingvrunity.so.meta new file mode 100644 index 0000000..534829d --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/libs/x86/libaudioplugingvrunity.so.meta @@ -0,0 +1,50 @@ +fileFormatVersion: 2 +guid: 2372f8fed9f5548fd86a3e5ce0917655 +timeCreated: 1488236555 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 1 + platformData: + Android: + enabled: 1 + settings: + CPU: x86 + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + Linux: + enabled: 0 + settings: + CPU: x86 + Linux64: + enabled: 0 + settings: + CPU: x86_64 + OSXIntel: + enabled: 0 + settings: + CPU: AnyCPU + OSXIntel64: + enabled: 0 + settings: + CPU: AnyCPU + Win: + enabled: 0 + settings: + CPU: AnyCPU + Win64: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Android/proguard-gvr.txt b/Assets/GoogleVR/Plugins/Android/proguard-gvr.txt new file mode 100644 index 0000000..a7e75b8 --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/proguard-gvr.txt @@ -0,0 +1,34 @@ +# Don't obfuscate any NDK/SDK code. This makes the debugging of stack traces +# in release builds easier. +-keepnames class com.google.vr.ndk.** { *; } +-keepnames class com.google.vr.sdk.** { *; } + +# These are part of the Java <-> native interfaces for GVR. +-keepclasseswithmembernames,includedescriptorclasses class com.google.vr.** { + native ; +} + +# The SDK configuration class member names are useful for debugging client logs. +-keepclasseswithmembernames,allowoptimization class com.google.common.logging.nano.Vr$VREvent$SdkConfigurationParams** { + *; +} + +-keep class com.google.vr.cardboard.UsedByNative +-keep @com.google.vr.cardboard.UsedByNative class * +-keepclassmembers class * { + @com.google.vr.cardboard.UsedByNative *; +} + +-keep class com.google.vr.cardboard.annotations.UsedByNative +-keep @com.google.vr.cardboard.annotations.UsedByNative class * +-keepclassmembers class * { + @com.google.vr.cardboard.annotations.UsedByNative *; +} + +-keep class com.google.vr.cardboard.annotations.UsedByReflection +-keep @com.google.vr.cardboard.annotations.UsedByReflection class * +-keepclassmembers class * { + @com.google.vr.cardboard.annotations.UsedByReflection *; +} + +-dontwarn com.google.protobuf.nano.NanoEnumValue diff --git a/Assets/GoogleVR/Plugins/Android/proguard-gvr.txt.meta b/Assets/GoogleVR/Plugins/Android/proguard-gvr.txt.meta new file mode 100644 index 0000000..7dff8b9 --- /dev/null +++ b/Assets/GoogleVR/Plugins/Android/proguard-gvr.txt.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d6cef2ddf786f4c10a3c9424db54acf1 +timeCreated: 1507333197 +licenseType: Pro +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/Google.ProtocolBuffers.dll b/Assets/GoogleVR/Plugins/Google.ProtocolBuffers.dll new file mode 100644 index 0000000..7116ecb Binary files /dev/null and b/Assets/GoogleVR/Plugins/Google.ProtocolBuffers.dll differ diff --git a/Assets/GoogleVR/Plugins/Google.ProtocolBuffers.dll.meta b/Assets/GoogleVR/Plugins/Google.ProtocolBuffers.dll.meta new file mode 100644 index 0000000..512d453 --- /dev/null +++ b/Assets/GoogleVR/Plugins/Google.ProtocolBuffers.dll.meta @@ -0,0 +1,24 @@ +fileFormatVersion: 2 +guid: eb0b9a42141e349a6a47f93165aeca3f +timeCreated: 1462046662 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Any: + enabled: 1 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true + WindowsStoreApps: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/iOS.meta b/Assets/GoogleVR/Plugins/iOS.meta new file mode 100644 index 0000000..6fe5582 --- /dev/null +++ b/Assets/GoogleVR/Plugins/iOS.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b5c8582276326a647a25e229bfff1de4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/iOS/GvrAudioAppController.h b/Assets/GoogleVR/Plugins/iOS/GvrAudioAppController.h new file mode 100644 index 0000000..2c9c7e3 --- /dev/null +++ b/Assets/GoogleVR/Plugins/iOS/GvrAudioAppController.h @@ -0,0 +1,27 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +#import "UnityAppController.h" +#import "UnityAppController+ViewHandling.h" + +#import "UnityAppController+UnityInterface.h" +#include "PluginBase/UnityViewControllerListener.h" + +@interface GvrAudioAppController : UnityAppController + +- (UnityView *)createUnityView; + +- (UIViewController *)unityViewController; + +@end diff --git a/Assets/GoogleVR/Plugins/iOS/GvrAudioAppController.h.meta b/Assets/GoogleVR/Plugins/iOS/GvrAudioAppController.h.meta new file mode 100644 index 0000000..4b549f7 --- /dev/null +++ b/Assets/GoogleVR/Plugins/iOS/GvrAudioAppController.h.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: b764ba158c511407fbc195fb36b34bc6 +timeCreated: 1494024789 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true + iOS: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/iOS/GvrAudioAppController.mm b/Assets/GoogleVR/Plugins/iOS/GvrAudioAppController.mm new file mode 100644 index 0000000..e2ef09a --- /dev/null +++ b/Assets/GoogleVR/Plugins/iOS/GvrAudioAppController.mm @@ -0,0 +1,43 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +#import "GvrAudioAppController.h" + +extern "C" { + +// We have to manually register the Unity Audio Effect plugin. +struct UnityAudioEffectDefinition; +typedef int (*UnityPluginGetAudioEffectDefinitionsFunc)( + struct UnityAudioEffectDefinition*** descptr); +extern void UnityRegisterAudioPlugin( + UnityPluginGetAudioEffectDefinitionsFunc getAudioEffectDefinitions); +extern int UnityGetAudioEffectDefinitions(UnityAudioEffectDefinition*** definitionptr); + +} // extern "C" + +@implementation GvrAudioAppController + +- (UnityView *)createUnityView { + UnityRegisterViewControllerListener(self); + UnityRegisterAudioPlugin(UnityGetAudioEffectDefinitions); + return [super createUnityView]; +} + +- (UIViewController *)unityViewController { + return UnityGetGLViewController(); +} + +@end + +IMPL_APP_CONTROLLER_SUBCLASS(GvrAudioAppController) diff --git a/Assets/GoogleVR/Plugins/iOS/GvrAudioAppController.mm.meta b/Assets/GoogleVR/Plugins/iOS/GvrAudioAppController.mm.meta new file mode 100644 index 0000000..35dabc3 --- /dev/null +++ b/Assets/GoogleVR/Plugins/iOS/GvrAudioAppController.mm.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: f2a868822ddbb4ca6952f78be4bb4698 +timeCreated: 1494024789 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true + iOS: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/iOS/libaudioplugingvrunity.a b/Assets/GoogleVR/Plugins/iOS/libaudioplugingvrunity.a new file mode 100644 index 0000000..78444ff Binary files /dev/null and b/Assets/GoogleVR/Plugins/iOS/libaudioplugingvrunity.a differ diff --git a/Assets/GoogleVR/Plugins/iOS/libaudioplugingvrunity.a.meta b/Assets/GoogleVR/Plugins/iOS/libaudioplugingvrunity.a.meta new file mode 100644 index 0000000..f9bf37d --- /dev/null +++ b/Assets/GoogleVR/Plugins/iOS/libaudioplugingvrunity.a.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 94eb628c570e649bfac361e67f7fc6c3 +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true + iOS: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86.meta b/Assets/GoogleVR/Plugins/x86.meta new file mode 100644 index 0000000..00bdfa4 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2603df691c3bdf54094134be85ed49df +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86/audioplugingvrunity.dll b/Assets/GoogleVR/Plugins/x86/audioplugingvrunity.dll new file mode 100644 index 0000000..26f4e09 Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86/audioplugingvrunity.dll differ diff --git a/Assets/GoogleVR/Plugins/x86/audioplugingvrunity.dll.meta b/Assets/GoogleVR/Plugins/x86/audioplugingvrunity.dll.meta new file mode 100644 index 0000000..636452e --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86/audioplugingvrunity.dll.meta @@ -0,0 +1,67 @@ +fileFormatVersion: 2 +guid: 6042170e05c0148b998dc7fc4a2a151e +timeCreated: 1465328651 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 1 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86 + DefaultValueInitialized: true + OS: Windows + Linux: + enabled: 1 + settings: + CPU: x86 + Linux64: + enabled: 0 + settings: + CPU: None + LinuxUniversal: + enabled: 0 + settings: + CPU: x86 + OSXIntel: + enabled: 1 + settings: + CPU: AnyCPU + OSXIntel64: + enabled: 0 + settings: + CPU: None + OSXUniversal: + enabled: 0 + settings: + CPU: x86 + SamsungTV: + enabled: 0 + settings: + STV_MODEL: STANDARD_13 + Win: + enabled: 1 + settings: + CPU: AnyCPU + Win64: + enabled: 0 + settings: + CPU: None + iOS: + enabled: 0 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86/instant_preview_shared.dll b/Assets/GoogleVR/Plugins/x86/instant_preview_shared.dll new file mode 100644 index 0000000..ec9f05f Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86/instant_preview_shared.dll differ diff --git a/Assets/GoogleVR/Plugins/x86/instant_preview_shared.dll.meta b/Assets/GoogleVR/Plugins/x86/instant_preview_shared.dll.meta new file mode 100644 index 0000000..cd49ec0 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86/instant_preview_shared.dll.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 4cfd74634de364e7e844df8d06ed60d9 +timeCreated: 1503969906 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86 + DefaultValueInitialized: true + OS: Windows + Linux: + enabled: 0 + settings: + CPU: x86 + Linux64: + enabled: 0 + settings: + CPU: None + LinuxUniversal: + enabled: 0 + settings: + CPU: x86 + OSXIntel: + enabled: 0 + settings: + CPU: AnyCPU + OSXIntel64: + enabled: 0 + settings: + CPU: None + OSXUniversal: + enabled: 0 + settings: + CPU: x86 + Win: + enabled: 0 + settings: + CPU: AnyCPU + Win64: + enabled: 0 + settings: + CPU: None + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86/instant_preview_unity_plugin.dll b/Assets/GoogleVR/Plugins/x86/instant_preview_unity_plugin.dll new file mode 100644 index 0000000..f0d76e3 Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86/instant_preview_unity_plugin.dll differ diff --git a/Assets/GoogleVR/Plugins/x86/instant_preview_unity_plugin.dll.meta b/Assets/GoogleVR/Plugins/x86/instant_preview_unity_plugin.dll.meta new file mode 100644 index 0000000..5be5f64 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86/instant_preview_unity_plugin.dll.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 28d5dac5d3722404cbb8900e0cd82eb0 +timeCreated: 1503969906 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86 + DefaultValueInitialized: true + OS: Windows + Linux: + enabled: 0 + settings: + CPU: x86 + Linux64: + enabled: 0 + settings: + CPU: None + LinuxUniversal: + enabled: 0 + settings: + CPU: x86 + OSXIntel: + enabled: 0 + settings: + CPU: AnyCPU + OSXIntel64: + enabled: 0 + settings: + CPU: None + OSXUniversal: + enabled: 0 + settings: + CPU: x86 + Win: + enabled: 0 + settings: + CPU: AnyCPU + Win64: + enabled: 0 + settings: + CPU: None + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86/libeay32.dll b/Assets/GoogleVR/Plugins/x86/libeay32.dll new file mode 100644 index 0000000..80d81be Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86/libeay32.dll differ diff --git a/Assets/GoogleVR/Plugins/x86/libeay32.dll.meta b/Assets/GoogleVR/Plugins/x86/libeay32.dll.meta new file mode 100644 index 0000000..4767a07 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86/libeay32.dll.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 7a6fdbf12fe8d4d9b81bc1ca40d8ab12 +timeCreated: 1503969907 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86 + DefaultValueInitialized: true + OS: Windows + Linux: + enabled: 0 + settings: + CPU: x86 + Linux64: + enabled: 0 + settings: + CPU: None + LinuxUniversal: + enabled: 0 + settings: + CPU: x86 + OSXIntel: + enabled: 0 + settings: + CPU: AnyCPU + OSXIntel64: + enabled: 0 + settings: + CPU: None + OSXUniversal: + enabled: 0 + settings: + CPU: x86 + Win: + enabled: 0 + settings: + CPU: AnyCPU + Win64: + enabled: 0 + settings: + CPU: None + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86/ssleay32.dll b/Assets/GoogleVR/Plugins/x86/ssleay32.dll new file mode 100644 index 0000000..90f4848 Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86/ssleay32.dll differ diff --git a/Assets/GoogleVR/Plugins/x86/ssleay32.dll.meta b/Assets/GoogleVR/Plugins/x86/ssleay32.dll.meta new file mode 100644 index 0000000..60ca38c --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86/ssleay32.dll.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 9b6f93de72fcd41e887181f363442d6f +timeCreated: 1503969907 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86 + DefaultValueInitialized: true + OS: Windows + Linux: + enabled: 0 + settings: + CPU: x86 + Linux64: + enabled: 0 + settings: + CPU: None + LinuxUniversal: + enabled: 0 + settings: + CPU: x86 + OSXIntel: + enabled: 0 + settings: + CPU: AnyCPU + OSXIntel64: + enabled: 0 + settings: + CPU: None + OSXUniversal: + enabled: 0 + settings: + CPU: x86 + Win: + enabled: 0 + settings: + CPU: AnyCPU + Win64: + enabled: 0 + settings: + CPU: None + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86/zlib.dll b/Assets/GoogleVR/Plugins/x86/zlib.dll new file mode 100644 index 0000000..1e6634f Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86/zlib.dll differ diff --git a/Assets/GoogleVR/Plugins/x86/zlib.dll.meta b/Assets/GoogleVR/Plugins/x86/zlib.dll.meta new file mode 100644 index 0000000..87a1505 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86/zlib.dll.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: fc4616b32e59e4b29af4ffd55e2b22f2 +timeCreated: 1503969907 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86 + DefaultValueInitialized: true + OS: Windows + Linux: + enabled: 0 + settings: + CPU: x86 + Linux64: + enabled: 0 + settings: + CPU: None + LinuxUniversal: + enabled: 0 + settings: + CPU: x86 + OSXIntel: + enabled: 0 + settings: + CPU: AnyCPU + OSXIntel64: + enabled: 0 + settings: + CPU: None + OSXUniversal: + enabled: 0 + settings: + CPU: x86 + Win: + enabled: 0 + settings: + CPU: AnyCPU + Win64: + enabled: 0 + settings: + CPU: None + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64.meta b/Assets/GoogleVR/Plugins/x86_64.meta new file mode 100644 index 0000000..193c0d1 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 601b214872fa7e9498521fc31c36b048 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/audioplugingvrunity.bundle b/Assets/GoogleVR/Plugins/x86_64/audioplugingvrunity.bundle new file mode 100644 index 0000000..df120d5 Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86_64/audioplugingvrunity.bundle differ diff --git a/Assets/GoogleVR/Plugins/x86_64/audioplugingvrunity.bundle.meta b/Assets/GoogleVR/Plugins/x86_64/audioplugingvrunity.bundle.meta new file mode 100644 index 0000000..7b8730d --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/audioplugingvrunity.bundle.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 35720a8a08c674133815d46f8d3ad66a +folderAsset: yes +timeCreated: 1462387242 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 1 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + OS: OSX + Linux: + enabled: 0 + settings: + CPU: None + Linux64: + enabled: 1 + settings: + CPU: x86_64 + LinuxUniversal: + enabled: 0 + settings: + CPU: x86_64 + OSXIntel: + enabled: 0 + settings: + CPU: None + OSXIntel64: + enabled: 1 + settings: + CPU: AnyCPU + OSXUniversal: + enabled: 0 + settings: + CPU: x86_64 + SamsungTV: + enabled: 0 + settings: + STV_MODEL: STANDARD_13 + Win: + enabled: 0 + settings: + CPU: None + Win64: + enabled: 1 + settings: + CPU: AnyCPU + iOS: + enabled: 0 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/audioplugingvrunity.dll b/Assets/GoogleVR/Plugins/x86_64/audioplugingvrunity.dll new file mode 100644 index 0000000..5c30811 Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86_64/audioplugingvrunity.dll differ diff --git a/Assets/GoogleVR/Plugins/x86_64/audioplugingvrunity.dll.meta b/Assets/GoogleVR/Plugins/x86_64/audioplugingvrunity.dll.meta new file mode 100644 index 0000000..f137aca --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/audioplugingvrunity.dll.meta @@ -0,0 +1,67 @@ +fileFormatVersion: 2 +guid: 59177834662aa4ead89a6c07a4715165 +timeCreated: 1465328657 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 1 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + OS: Windows + Linux: + enabled: 0 + settings: + CPU: None + Linux64: + enabled: 1 + settings: + CPU: x86_64 + LinuxUniversal: + enabled: 0 + settings: + CPU: x86_64 + OSXIntel: + enabled: 0 + settings: + CPU: None + OSXIntel64: + enabled: 1 + settings: + CPU: AnyCPU + OSXUniversal: + enabled: 0 + settings: + CPU: x86_64 + SamsungTV: + enabled: 0 + settings: + STV_MODEL: STANDARD_13 + Win: + enabled: 0 + settings: + CPU: None + Win64: + enabled: 1 + settings: + CPU: AnyCPU + iOS: + enabled: 0 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_shared.dll b/Assets/GoogleVR/Plugins/x86_64/instant_preview_shared.dll new file mode 100644 index 0000000..4c21f24 Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86_64/instant_preview_shared.dll differ diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_shared.dll.meta b/Assets/GoogleVR/Plugins/x86_64/instant_preview_shared.dll.meta new file mode 100644 index 0000000..58473a2 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/instant_preview_shared.dll.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 249b97667d64740af9354546d1ff65b9 +timeCreated: 1503969906 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + OS: Windows + Linux: + enabled: 0 + settings: + CPU: None + Linux64: + enabled: 0 + settings: + CPU: x86_64 + LinuxUniversal: + enabled: 0 + settings: + CPU: x86_64 + OSXIntel: + enabled: 0 + settings: + CPU: None + OSXIntel64: + enabled: 0 + settings: + CPU: AnyCPU + OSXUniversal: + enabled: 0 + settings: + CPU: x86_64 + Win: + enabled: 0 + settings: + CPU: None + Win64: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle.meta b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle.meta new file mode 100644 index 0000000..679eb47 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle.meta @@ -0,0 +1,67 @@ +fileFormatVersion: 2 +guid: a3bec05f359bd476388c6d0c1e34237d +folderAsset: yes +timeCreated: 1503969895 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + OS: OSX + Linux: + enabled: 0 + settings: + CPU: None + Linux64: + enabled: 0 + settings: + CPU: x86_64 + LinuxUniversal: + enabled: 0 + settings: + CPU: None + OSXIntel: + enabled: 0 + settings: + CPU: None + OSXIntel64: + enabled: 0 + settings: + CPU: AnyCPU + OSXUniversal: + enabled: 0 + settings: + CPU: None + Win: + enabled: 0 + settings: + CPU: None + Win64: + enabled: 0 + settings: + CPU: AnyCPU + iOS: + enabled: 0 + settings: + CompileFlags: + FrameworkDependencies: + data: + enabled: 0 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents.meta b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents.meta new file mode 100644 index 0000000..2ae451e --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: eb05b49a78ed748bea54269e59bd3184 +folderAsset: yes +timeCreated: 1523356692 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS.meta b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS.meta new file mode 100644 index 0000000..70f162a --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2709622b8586a45e282dbc93c7e026f9 +folderAsset: yes +timeCreated: 1523356692 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/instant_preview_unity_plugin b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/instant_preview_unity_plugin new file mode 100644 index 0000000..9cdc319 Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/instant_preview_unity_plugin differ diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/instant_preview_unity_plugin.meta b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/instant_preview_unity_plugin.meta new file mode 100644 index 0000000..080318c --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/instant_preview_unity_plugin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4c384529221944e61942c06a628045d5 +timeCreated: 1523356692 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgpr.dylib b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgpr.dylib new file mode 100644 index 0000000..dacf2b4 Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgpr.dylib differ diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgpr.dylib.meta b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgpr.dylib.meta new file mode 100644 index 0000000..5243f79 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgpr.dylib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ea514fdbb66cd470da9d21468feb7f40 +timeCreated: 1523356692 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgrpc++.dylib b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgrpc++.dylib new file mode 100644 index 0000000..58f49b9 Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgrpc++.dylib differ diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgrpc++.dylib.meta b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgrpc++.dylib.meta new file mode 100644 index 0000000..39ab417 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgrpc++.dylib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7936e2329e93145e5b5b9b0525a04b0e +timeCreated: 1523356692 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgrpc.dylib b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgrpc.dylib new file mode 100644 index 0000000..77a78d7 Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgrpc.dylib differ diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgrpc.dylib.meta b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgrpc.dylib.meta new file mode 100644 index 0000000..16abe29 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libgrpc.dylib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b0d398507678c4380b80f9941f2fbba5 +timeCreated: 1523356692 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libinstant_preview_shared.dylib b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libinstant_preview_shared.dylib new file mode 100644 index 0000000..c8355af Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libinstant_preview_shared.dylib differ diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libinstant_preview_shared.dylib.meta b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libinstant_preview_shared.dylib.meta new file mode 100644 index 0000000..85ebb82 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.bundle/Contents/MacOS/libinstant_preview_shared.dylib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 60ec0b27224234d6f9c3f74349800b0c +timeCreated: 1523356692 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.dll b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.dll new file mode 100644 index 0000000..6c745be Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.dll differ diff --git a/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.dll.meta b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.dll.meta new file mode 100644 index 0000000..31a4f96 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/instant_preview_unity_plugin.dll.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 16e6b86de4a9e4f16b8a25b413d684d7 +timeCreated: 1503969906 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + OS: Windows + Linux: + enabled: 0 + settings: + CPU: None + Linux64: + enabled: 0 + settings: + CPU: x86_64 + LinuxUniversal: + enabled: 0 + settings: + CPU: x86_64 + OSXIntel: + enabled: 0 + settings: + CPU: None + OSXIntel64: + enabled: 0 + settings: + CPU: AnyCPU + OSXUniversal: + enabled: 0 + settings: + CPU: x86_64 + Win: + enabled: 0 + settings: + CPU: None + Win64: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/libaudioplugingvrunity.so b/Assets/GoogleVR/Plugins/x86_64/libaudioplugingvrunity.so new file mode 100644 index 0000000..fa86dc4 Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86_64/libaudioplugingvrunity.so differ diff --git a/Assets/GoogleVR/Plugins/x86_64/libaudioplugingvrunity.so.meta b/Assets/GoogleVR/Plugins/x86_64/libaudioplugingvrunity.so.meta new file mode 100644 index 0000000..b9e1055 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/libaudioplugingvrunity.so.meta @@ -0,0 +1,63 @@ +fileFormatVersion: 2 +guid: 7f9e0b92d39064f0283d9051029090e3 +timeCreated: 1467830057 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 1 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + OS: Linux + Linux: + enabled: 0 + settings: + CPU: None + Linux64: + enabled: 1 + settings: + CPU: x86_64 + LinuxUniversal: + enabled: 1 + settings: + CPU: x86_64 + OSXIntel: + enabled: 0 + settings: + CPU: None + OSXIntel64: + enabled: 0 + settings: + CPU: None + OSXUniversal: + enabled: 0 + settings: + CPU: None + Win: + enabled: 0 + settings: + CPU: None + Win64: + enabled: 1 + settings: + CPU: AnyCPU + iOS: + enabled: 0 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/libeay32.dll b/Assets/GoogleVR/Plugins/x86_64/libeay32.dll new file mode 100644 index 0000000..46e4f82 Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86_64/libeay32.dll differ diff --git a/Assets/GoogleVR/Plugins/x86_64/libeay32.dll.meta b/Assets/GoogleVR/Plugins/x86_64/libeay32.dll.meta new file mode 100644 index 0000000..53a8cb8 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/libeay32.dll.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 8d9b7ae7a11da4dc79be5a40ae8b09dd +timeCreated: 1503969907 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + OS: Windows + Linux: + enabled: 0 + settings: + CPU: None + Linux64: + enabled: 0 + settings: + CPU: x86_64 + LinuxUniversal: + enabled: 0 + settings: + CPU: x86_64 + OSXIntel: + enabled: 0 + settings: + CPU: None + OSXIntel64: + enabled: 0 + settings: + CPU: AnyCPU + OSXUniversal: + enabled: 0 + settings: + CPU: x86_64 + Win: + enabled: 0 + settings: + CPU: None + Win64: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/ssleay32.dll b/Assets/GoogleVR/Plugins/x86_64/ssleay32.dll new file mode 100644 index 0000000..305108b Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86_64/ssleay32.dll differ diff --git a/Assets/GoogleVR/Plugins/x86_64/ssleay32.dll.meta b/Assets/GoogleVR/Plugins/x86_64/ssleay32.dll.meta new file mode 100644 index 0000000..7ee88b2 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/ssleay32.dll.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 43017829bfcfd4575b426022d3cdd3f9 +timeCreated: 1503969906 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + OS: Windows + Linux: + enabled: 0 + settings: + CPU: None + Linux64: + enabled: 0 + settings: + CPU: x86_64 + LinuxUniversal: + enabled: 0 + settings: + CPU: x86_64 + OSXIntel: + enabled: 0 + settings: + CPU: None + OSXIntel64: + enabled: 0 + settings: + CPU: AnyCPU + OSXUniversal: + enabled: 0 + settings: + CPU: x86_64 + Win: + enabled: 0 + settings: + CPU: None + Win64: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Plugins/x86_64/zlib.dll b/Assets/GoogleVR/Plugins/x86_64/zlib.dll new file mode 100644 index 0000000..a75f47d Binary files /dev/null and b/Assets/GoogleVR/Plugins/x86_64/zlib.dll differ diff --git a/Assets/GoogleVR/Plugins/x86_64/zlib.dll.meta b/Assets/GoogleVR/Plugins/x86_64/zlib.dll.meta new file mode 100644 index 0000000..3f4f5e6 --- /dev/null +++ b/Assets/GoogleVR/Plugins/x86_64/zlib.dll.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: de6f5ee813f7b4d22a413d932a0316bf +timeCreated: 1503969907 +licenseType: Pro +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 0 + settings: + CPU: AnyCPU + Any: + enabled: 0 + settings: {} + Editor: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + OS: Windows + Linux: + enabled: 0 + settings: + CPU: None + Linux64: + enabled: 0 + settings: + CPU: x86_64 + LinuxUniversal: + enabled: 0 + settings: + CPU: x86_64 + OSXIntel: + enabled: 0 + settings: + CPU: None + OSXIntel64: + enabled: 0 + settings: + CPU: AnyCPU + OSXUniversal: + enabled: 0 + settings: + CPU: x86_64 + Win: + enabled: 0 + settings: + CPU: None + Win64: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs.meta b/Assets/GoogleVR/Prefabs.meta new file mode 100644 index 0000000..54b2ac5 --- /dev/null +++ b/Assets/GoogleVR/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 61eac1a80d16a14459329c9d8f4c9b2d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/Cardboard.meta b/Assets/GoogleVR/Prefabs/Cardboard.meta new file mode 100644 index 0000000..dd7ada2 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Cardboard.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e1be9d583c44e3e448d0dda8b5180d9c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/Cardboard/GvrReticlePointer.prefab b/Assets/GoogleVR/Prefabs/Cardboard/GvrReticlePointer.prefab new file mode 100644 index 0000000..0adb9f4 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Cardboard/GvrReticlePointer.prefab @@ -0,0 +1,93 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &171526 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 482300} + - component: {fileID: 723926960} + - component: {fileID: 2301146} + m_Layer: 2 + m_Name: GvrReticlePointer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &482300 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 171526} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2301146 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 171526} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 4cb1460f617514a888f47071314ccdae, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 171526} + m_IsPrefabParent: 1 +--- !u!114 &723926960 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 171526} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e7dcc90c2e60c4011896c7f21fc1f557, type: 3} + m_Name: + m_EditorClassIdentifier: + raycastMode: 0 + overridePointerCamera: {fileID: 0} + drawDebugRays: 0 + maxReticleDistance: 20 + reticleSegments: 20 + reticleGrowthSpeed: 8 + reticleSortingOrder: 32767 diff --git a/Assets/GoogleVR/Prefabs/Cardboard/GvrReticlePointer.prefab.meta b/Assets/GoogleVR/Prefabs/Cardboard/GvrReticlePointer.prefab.meta new file mode 100644 index 0000000..c9c7f48 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Cardboard/GvrReticlePointer.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 60270cf52a5e94998a5a335989159738 +timeCreated: 1446890072 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/Controller.meta b/Assets/GoogleVR/Prefabs/Controller.meta new file mode 100644 index 0000000..70fb73b --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e7361a3235d698f439be8baf1e0924f4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/Controller/GvrControllerMain.prefab b/Assets/GoogleVR/Prefabs/Controller/GvrControllerMain.prefab new file mode 100644 index 0000000..6e0e880 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Controller/GvrControllerMain.prefab @@ -0,0 +1,55 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &198490 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 424718} + - component: {fileID: 114063829130735768} + m_Layer: 0 + m_Name: GvrControllerMain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &424718 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198490} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 198490} + m_IsPrefabParent: 1 +--- !u!114 &114063829130735768 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 198490} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41251d5f89d5546bb9d8ba907686b71f, type: 3} + m_Name: + m_EditorClassIdentifier: + enablePositionalTracking: 1 + emulatorConnectionMode: 1 diff --git a/Assets/GoogleVR/Prefabs/Controller/GvrControllerMain.prefab.meta b/Assets/GoogleVR/Prefabs/Controller/GvrControllerMain.prefab.meta new file mode 100644 index 0000000..d66764c --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Controller/GvrControllerMain.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5ca80f4596fa44b87912a0592346d260 +timeCreated: 1462054136 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/Controller/GvrControllerPointer.prefab b/Assets/GoogleVR/Prefabs/Controller/GvrControllerPointer.prefab new file mode 100644 index 0000000..3f55068 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Controller/GvrControllerPointer.prefab @@ -0,0 +1,427 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 555767533} + m_IsPrefabParent: 1 +--- !u!23 &225929234 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1225896218} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 0 + m_Materials: + - {fileID: 2100000, guid: ebbccbcf1451ddf4199eab062dc6d367, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!4 &364184199 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 573318178} + 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_Children: [] + m_Father: {fileID: 1820761120} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &555767533 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 1820761120} + - component: {fileID: 114000013899574178} + - component: {fileID: 114000013128025656} + m_Layer: 0 + m_Name: GvrControllerPointer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &573318178 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 364184199} + - component: {fileID: 1775680152} + - component: {fileID: 1475472563} + - component: {fileID: 904534127} + m_Layer: 0 + m_Name: ControllerVisual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &573655681 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 771218441} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 51b65678ccdd949e9a58874d2880c0ef, type: 3} + m_Name: + m_EditorClassIdentifier: + raycastMode: 2 + overridePointerCamera: {fileID: 0} + drawDebugRays: 0 + maxPointerDistance: 20 + defaultReticleDistance: 20 + overrideCameraRayIntersectionDistance: 0 +--- !u!120 &750984299 +LineRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 771218441} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: a6329ec80f51d6049a5d00d86224003b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 0} + m_Parameters: + serializedVersion: 2 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0.01 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0.01 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + m_UseWorldSpace: 0 + m_Loop: 0 +--- !u!1 &771218441 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 1915109966} + - component: {fileID: 573655681} + - component: {fileID: 114000010349995660} + - component: {fileID: 750984299} + m_Layer: 2 + m_Name: Laser + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &904534127 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 573318178} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 3b4f6031d569a624ba87b631c93a788a, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!1 &1225896218 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 1412694727} + - component: {fileID: 114000013395929458} + - component: {fileID: 1583549455} + - component: {fileID: 225929234} + m_Layer: 2 + m_Name: Reticle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1412694727 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1225896218} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1915109966} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1475472563 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 573318178} + m_Mesh: {fileID: 4300000, guid: 581a0d1f069aa2d41b4112fb6b01244e, type: 3} +--- !u!33 &1583549455 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1225896218} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!114 &1775680152 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 573318178} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aa952cbcc0eb13d4ca558b6da550ff55, type: 3} + m_Name: + m_EditorClassIdentifier: + attachmentPrefabs: + - {fileID: 1000011375678268, guid: 6e5b693d0947f4a8b85a00d3965ba64c, type: 2} + touchPadColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + appButtonColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + systemButtonColor: {r: 0.078431375, g: 0.078431375, b: 0.078431375, a: 1} + readControllerState: 1 + displayState: + batteryLevel: -1 + batteryCharging: 0 + clickButton: 0 + appButton: 0 + homeButton: 0 + touching: 0 + touchPos: {x: 0.5, y: 0.5} + maximumAlpha: 1 +--- !u!4 &1820761120 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 555767533} + 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_Children: + - {fileID: 364184199} + - {fileID: 1915109966} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1915109966 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 771218441} + m_LocalRotation: {x: 0.13052616, y: 0, z: 0, w: 0.9914449} + m_LocalPosition: {x: 0, y: -0.009, z: 0.049} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1412694727} + m_Father: {fileID: 1820761120} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 15, y: 0, z: 0} +--- !u!114 &114000010349995660 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 771218441} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4ee199cdc1304b2090f019e4f488674, type: 3} + m_Name: + m_EditorClassIdentifier: + reticle: {fileID: 114000013395929458} + controller: {fileID: 364184199} + laserColor: {r: 1, g: 1, b: 1, a: 0.25} + laserColorEnd: {r: 1, g: 1, b: 1, a: 0} + maxLaserDistance: 1 + lerpSpeed: 20 + lerpThreshold: 1 + shrinkLaser: 1 + shrunkScale: 0.2 + beginShrinkAngleDegrees: 0 + endShrinkAngleDegrees: 2 +--- !u!114 &114000013128025656 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 555767533} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7dda4bb2d5509e44e978d2bf56e25d7c, type: 3} + m_Name: + m_EditorClassIdentifier: + elbowRestPosition: {x: 0.195, y: -0.5, z: 0.005} + wristRestPosition: {x: 0, y: 0, z: 0.25} + controllerRestPosition: {x: 0, y: 0, z: 0.05} + armExtensionOffset: {x: -0.13, y: 0.14, z: 0.08} + elbowBendRatio: 0.6 + fadeControllerOffset: 0 + fadeDistanceFromHeadForward: 0.25 + fadeDistanceFromHeadSide: 0.15 + tooltipMinDistanceFromFace: 0.45 + tooltipMaxAngleFromCamera: 80 + isLockedToNeck: 1 +--- !u!114 &114000013395929458 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1225896218} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b5cd7f7fcfc8a4c1fbc201ccc579556d, type: 3} + m_Name: + m_EditorClassIdentifier: + isSizeBasedOnCameraDistance: 1 + sizeMeters: 0.1 + doesReticleFaceCamera: + alongXAxis: 1 + alongYAxis: 1 + alongZAxis: 1 + sortingOrder: 0 +--- !u!114 &114000013899574178 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 555767533} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 311793381eb9d45149dc1a422000a9fd, type: 3} + m_Name: + m_EditorClassIdentifier: + armModel: {fileID: 114000013128025656} + isDeactivatedWhenDisconnected: 1 + controllerHand: 2 diff --git a/Assets/GoogleVR/Prefabs/Controller/GvrControllerPointer.prefab.meta b/Assets/GoogleVR/Prefabs/Controller/GvrControllerPointer.prefab.meta new file mode 100644 index 0000000..4b20855 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Controller/GvrControllerPointer.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 34c21f523e72f45509a4e37ed0293c3b +timeCreated: 1478632992 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/Controller/Tooltips.meta b/Assets/GoogleVR/Prefabs/Controller/Tooltips.meta new file mode 100644 index 0000000..b0931dc --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Controller/Tooltips.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3d228801578353d4097f30f33f2a8bd9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/Controller/Tooltips/GvrControllerTooltipsSimple.prefab b/Assets/GoogleVR/Prefabs/Controller/Tooltips/GvrControllerTooltipsSimple.prefab new file mode 100644 index 0000000..4e38e4a --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Controller/Tooltips/GvrControllerTooltipsSimple.prefab @@ -0,0 +1,94 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1000011375678268} + m_IsPrefabParent: 1 +--- !u!1 &1000011375678268 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4000011494766954} + - component: {fileID: 33000013054680736} + - component: {fileID: 23000010794089480} + - component: {fileID: 114000013927758722} + m_Layer: 0 + m_Name: GvrControllerTooltipsSimple + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000011494766954 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011375678268} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23000010794089480 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011375678268} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: ae4e711941ecc4590a09ae58653816ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!33 &33000013054680736 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011375678268} + m_Mesh: {fileID: 4300002, guid: 65a5650feae944b8db4f666fa2354de4, type: 3} +--- !u!114 &114000013927758722 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011375678268} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ef63f87a26b474e1c88f77dfc4f3aa3a, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/GoogleVR/Prefabs/Controller/Tooltips/GvrControllerTooltipsSimple.prefab.meta b/Assets/GoogleVR/Prefabs/Controller/Tooltips/GvrControllerTooltipsSimple.prefab.meta new file mode 100644 index 0000000..46b9bc2 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Controller/Tooltips/GvrControllerTooltipsSimple.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6e5b693d0947f4a8b85a00d3965ba64c +timeCreated: 1497972904 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/Controller/Tooltips/GvrControllerTooltipsTemplate.prefab b/Assets/GoogleVR/Prefabs/Controller/Tooltips/GvrControllerTooltipsTemplate.prefab new file mode 100644 index 0000000..0a0dc6f --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Controller/Tooltips/GvrControllerTooltipsTemplate.prefab @@ -0,0 +1,1473 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1000014026255024} + m_IsPrefabParent: 1 +--- !u!1 &1000010117049304 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000012768960036} + - component: {fileID: 222000012808108364} + - component: {fileID: 114000011176196512} + - component: {fileID: 114000010869331076} + - component: {fileID: 114000011188699466} + m_Layer: 0 + m_Name: TouchPadInsideBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000010169343406 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000010863598960} + - component: {fileID: 222000010909209886} + - component: {fileID: 114000011580402344} + - component: {fileID: 225000012820621760} + m_Layer: 0 + m_Name: TouchPadInside + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000010438086160 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000012359520306} + - component: {fileID: 222000010106475758} + - component: {fileID: 114000012078268460} + - component: {fileID: 225000011076046506} + m_Layer: 0 + m_Name: AppButtonOutside + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000010479422550 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000013997378420} + - component: {fileID: 222000011253309134} + - component: {fileID: 114000014244817588} + - component: {fileID: 114000013027124760} + m_Layer: 0 + m_Name: TouchPadOutsideText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000010804225292 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000011106670572} + - component: {fileID: 222000013131153604} + - component: {fileID: 114000013209411538} + m_Layer: 0 + m_Name: AppButtonInsideLink + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000010859805338 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000011019861458} + - component: {fileID: 222000014105096528} + - component: {fileID: 114000013348584900} + m_Layer: 0 + m_Name: AppButtonOutsideLink + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000010958673578 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000012606696782} + - component: {fileID: 222000013891077462} + - component: {fileID: 114000010969450678} + m_Layer: 0 + m_Name: TouchPadInsideLink + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011786898984 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000011447089756} + - component: {fileID: 222000012437868158} + - component: {fileID: 114000011316336172} + - component: {fileID: 114000013697563420} + - component: {fileID: 114000012220592728} + m_Layer: 0 + m_Name: AppButtonInsideBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011942071012 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000011516950696} + - component: {fileID: 222000013141467322} + - component: {fileID: 114000010912210270} + - component: {fileID: 114000011177837190} + m_Layer: 0 + m_Name: AppButtonOutsideText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011984777368 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000010204039768} + - component: {fileID: 222000012043245900} + - component: {fileID: 114000013171188330} + - component: {fileID: 114000011430816214} + - component: {fileID: 114000010811401956} + m_Layer: 0 + m_Name: TouchPadOutsideBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000012145126104 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000011117942852} + - component: {fileID: 223000012331054502} + - component: {fileID: 114000011722478518} + m_Layer: 0 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000012764796878 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000012408480780} + - component: {fileID: 222000012389677596} + - component: {fileID: 114000010527828958} + - component: {fileID: 225000013512810572} + m_Layer: 0 + m_Name: TouchPadOutside + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000012867645896 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000010506245928} + - component: {fileID: 222000010632227814} + - component: {fileID: 114000010645115024} + m_Layer: 0 + m_Name: TouchPadOutsideLink + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000012946596940 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000014173375178} + - component: {fileID: 222000014264444926} + - component: {fileID: 114000013812054888} + - component: {fileID: 114000010997937704} + - component: {fileID: 114000014226667966} + m_Layer: 0 + m_Name: AppButtonOutsideBackground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000013542615286 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000010344450016} + - component: {fileID: 222000011260161156} + - component: {fileID: 114000011552869662} + - component: {fileID: 114000014188439064} + m_Layer: 0 + m_Name: AppButtonInsideText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000013884754528 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000012254400656} + - component: {fileID: 222000014147650074} + - component: {fileID: 114000011165790600} + - component: {fileID: 114000010451190918} + - component: {fileID: 114000011134572026} + m_Layer: 0 + m_Name: TouchPadInsideText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000014026255024 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4000011664813386} + m_Layer: 0 + m_Name: GvrControllerTooltipsTemplate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000014090478646 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 224000013163560622} + - component: {fileID: 222000010959094516} + - component: {fileID: 114000013205958212} + - component: {fileID: 225000013204483048} + m_Layer: 0 + m_Name: AppButtonInside + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000011664813386 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000014026255024} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0.025, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000011117942852} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!114 &114000010451190918 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013884754528} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.09803922} + m_EffectDistance: {x: 1, y: 1} + m_UseGraphicAlpha: 0 +--- !u!114 &114000010527828958 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012764796878} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7c52851ea0de74a228fa29a84de008ba, type: 3} + m_Name: + m_EditorClassIdentifier: + location: 0 + text: {fileID: 114000014244817588} + alwaysVisible: 0 +--- !u!114 &114000010645115024 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012867645896} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 0f457230f725f45c4b83b007ff7ca38e, type: 2} + m_Color: {r: 0.12941177, g: 0.12941177, b: 0.12941177, a: 0.54901963} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114000010811401956 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011984777368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!114 &114000010869331076 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010117049304} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 42 + m_Right: 42 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &114000010912210270 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011942071012} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 8ff3914f115e149d49d001ed2cea77c8, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 0.866} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 4eedafad5084240419e649245c7b2093, type: 3} + m_FontSize: 17 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 30 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: App Button Outside +--- !u!114 &114000010969450678 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010958673578} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 0f457230f725f45c4b83b007ff7ca38e, type: 2} + m_Color: {r: 0.12941177, g: 0.12941177, b: 0.12941177, a: 0.54901963} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114000010997937704 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012946596940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 42 + m_Right: 42 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &114000011134572026 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013884754528} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &114000011165790600 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013884754528} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 8ff3914f115e149d49d001ed2cea77c8, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 0.866} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 4eedafad5084240419e649245c7b2093, type: 3} + m_FontSize: 17 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 30 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Touch Pad Inside +--- !u!114 &114000011176196512 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010117049304} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 0f457230f725f45c4b83b007ff7ca38e, type: 2} + m_Color: {r: 0.12941177, g: 0.12941177, b: 0.12941177, a: 0.54901963} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: d60ac4d1232f24cfd9193c9724ed0185, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114000011177837190 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011942071012} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.09803922} + m_EffectDistance: {x: 1, y: 1} + m_UseGraphicAlpha: 0 +--- !u!114 &114000011188699466 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010117049304} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!114 &114000011316336172 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011786898984} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 0f457230f725f45c4b83b007ff7ca38e, type: 2} + m_Color: {r: 0.12941177, g: 0.12941177, b: 0.12941177, a: 0.54901963} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: d60ac4d1232f24cfd9193c9724ed0185, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 0 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114000011430816214 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011984777368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 42 + m_Right: 42 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &114000011552869662 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013542615286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 8ff3914f115e149d49d001ed2cea77c8, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 0.866} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 4eedafad5084240419e649245c7b2093, type: 3} + m_FontSize: 17 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 30 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: App Button Inside +--- !u!114 &114000011580402344 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010169343406} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7c52851ea0de74a228fa29a84de008ba, type: 3} + m_Name: + m_EditorClassIdentifier: + location: 1 + text: {fileID: 114000011165790600} + alwaysVisible: 0 +--- !u!114 &114000011722478518 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012145126104} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!114 &114000012078268460 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010438086160} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7c52851ea0de74a228fa29a84de008ba, type: 3} + m_Name: + m_EditorClassIdentifier: + location: 2 + text: {fileID: 114000010912210270} + alwaysVisible: 0 +--- !u!114 &114000012220592728 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011786898984} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!114 &114000013027124760 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010479422550} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.09803922} + m_EffectDistance: {x: 1, y: 1} + m_UseGraphicAlpha: 0 +--- !u!114 &114000013171188330 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011984777368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 0f457230f725f45c4b83b007ff7ca38e, type: 2} + m_Color: {r: 0.12941177, g: 0.12941177, b: 0.12941177, a: 0.54901963} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: d60ac4d1232f24cfd9193c9724ed0185, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114000013205958212 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000014090478646} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7c52851ea0de74a228fa29a84de008ba, type: 3} + m_Name: + m_EditorClassIdentifier: + location: 3 + text: {fileID: 114000011552869662} + alwaysVisible: 0 +--- !u!114 &114000013209411538 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010804225292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 0f457230f725f45c4b83b007ff7ca38e, type: 2} + m_Color: {r: 0.12941177, g: 0.12941177, b: 0.12941177, a: 0.54901963} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114000013348584900 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010859805338} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 0f457230f725f45c4b83b007ff7ca38e, type: 2} + m_Color: {r: 0.12941177, g: 0.12941177, b: 0.12941177, a: 0.54901963} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114000013697563420 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011786898984} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 42 + m_Right: 42 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 +--- !u!114 &114000013812054888 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012946596940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 0f457230f725f45c4b83b007ff7ca38e, type: 2} + m_Color: {r: 0.12941177, g: 0.12941177, b: 0.12941177, a: 0.54901963} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: d60ac4d1232f24cfd9193c9724ed0185, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 0 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &114000014188439064 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013542615286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.09803922} + m_EffectDistance: {x: 1, y: 1} + m_UseGraphicAlpha: 0 +--- !u!114 &114000014226667966 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012946596940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!114 &114000014244817588 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010479422550} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 8ff3914f115e149d49d001ed2cea77c8, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 0.866} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 4eedafad5084240419e649245c7b2093, type: 3} + m_FontSize: 17 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 30 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: ' Touch Pad Outside' +--- !u!222 &222000010106475758 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010438086160} +--- !u!222 &222000010632227814 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012867645896} +--- !u!222 &222000010909209886 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010169343406} +--- !u!222 &222000010959094516 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000014090478646} +--- !u!222 &222000011253309134 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010479422550} +--- !u!222 &222000011260161156 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013542615286} +--- !u!222 &222000012043245900 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011984777368} +--- !u!222 &222000012389677596 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012764796878} +--- !u!222 &222000012437868158 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011786898984} +--- !u!222 &222000012808108364 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010117049304} +--- !u!222 &222000013131153604 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010804225292} +--- !u!222 &222000013141467322 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011942071012} +--- !u!222 &222000013891077462 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010958673578} +--- !u!222 &222000014105096528 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010859805338} +--- !u!222 &222000014147650074 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013884754528} +--- !u!222 &222000014264444926 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012946596940} +--- !u!223 &223000012331054502 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012145126104} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &224000010204039768 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011984777368} + 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_Children: + - {fileID: 224000013997378420} + m_Father: {fileID: 224000012408480780} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -32, y: 0} + m_SizeDelta: {x: 0, y: 56} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &224000010344450016 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013542615286} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000011447089756} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000010506245928 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012867645896} + 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_Children: [] + m_Father: {fileID: 224000012408480780} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -30, y: 0} + m_SizeDelta: {x: 45, y: 1.2} + m_Pivot: {x: 1, y: 0.5} +--- !u!224 &224000010863598960 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010169343406} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 28.000002} + m_LocalScale: {x: 1, y: 1.0000002, z: 1.0000002} + m_Children: + - {fileID: 224000012768960036} + - {fileID: 224000012606696782} + m_Father: {fileID: 224000011117942852} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 110} + m_SizeDelta: {x: 250, y: 50} + m_Pivot: {x: -0.5, y: 0.5} +--- !u!224 &224000011019861458 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010859805338} + m_LocalRotation: {x: -1.0164397e-20, y: -1.4210856e-14, z: -2.8421713e-14, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000012359520306} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -30, y: 0.4} + m_SizeDelta: {x: 75, y: 1.2} + m_Pivot: {x: 1, y: 0.5} +--- !u!224 &224000011106670572 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010804225292} + m_LocalRotation: {x: -1.0164397e-20, y: -1.4210856e-14, z: -2.8421713e-14, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000013163560622} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -30, y: 0.4} + m_SizeDelta: {x: 75, y: 1.2} + m_Pivot: {x: 1, y: 0.5} +--- !u!224 &224000011117942852 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012145126104} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.013000013} + m_LocalScale: {x: 0.00035, y: 0.00035000005, z: 0.00035000005} + m_Children: + - {fileID: 224000012408480780} + - {fileID: 224000012359520306} + - {fileID: 224000010863598960} + - {fileID: 224000013163560622} + m_Father: {fileID: 4000011664813386} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -0.000000036580836, y: -0.0030792095} + m_SizeDelta: {x: 0, y: 1080} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000011447089756 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011786898984} + 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_Children: + - {fileID: 224000010344450016} + m_Father: {fileID: 224000013163560622} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -32, y: 0} + m_SizeDelta: {x: 0, y: 56} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &224000011516950696 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011942071012} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000014173375178} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000012254400656 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013884754528} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000012768960036} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000012359520306 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010438086160} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 28.000002} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000014173375178} + - {fileID: 224000011019861458} + m_Father: {fileID: 224000011117942852} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 30} + m_SizeDelta: {x: 250, y: 50} + m_Pivot: {x: -0.5, y: 0.5} +--- !u!224 &224000012408480780 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012764796878} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 28.000002} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 224000010204039768} + - {fileID: 224000010506245928} + m_Father: {fileID: 224000011117942852} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 109.99998} + m_SizeDelta: {x: 250, y: 50} + m_Pivot: {x: -0.5, y: 0.5} +--- !u!224 &224000012606696782 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010958673578} + 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_Children: [] + m_Father: {fileID: 224000010863598960} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -30, y: 0} + m_SizeDelta: {x: 45, y: 1.2} + m_Pivot: {x: 1, y: 0.5} +--- !u!224 &224000012768960036 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010117049304} + 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_Children: + - {fileID: 224000012254400656} + m_Father: {fileID: 224000010863598960} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -32, y: 0} + m_SizeDelta: {x: 0, y: 56} + m_Pivot: {x: 0, y: 0.5} +--- !u!224 &224000013163560622 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000014090478646} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 28.000002} + m_LocalScale: {x: 1, y: 1.0000002, z: 1.0000002} + m_Children: + - {fileID: 224000011447089756} + - {fileID: 224000011106670572} + m_Father: {fileID: 224000011117942852} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 30} + m_SizeDelta: {x: 250, y: 50} + m_Pivot: {x: -0.5, y: 0.5} +--- !u!224 &224000013997378420 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010479422550} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 224000010204039768} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &224000014173375178 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012946596940} + 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_Children: + - {fileID: 224000011516950696} + m_Father: {fileID: 224000012359520306} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: -32, y: 0} + m_SizeDelta: {x: 0, y: 56} + m_Pivot: {x: 0, y: 0.5} +--- !u!225 &225000011076046506 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010438086160} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!225 &225000012820621760 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010169343406} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!225 &225000013204483048 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000014090478646} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!225 &225000013512810572 +CanvasGroup: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012764796878} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 diff --git a/Assets/GoogleVR/Prefabs/Controller/Tooltips/GvrControllerTooltipsTemplate.prefab.meta b/Assets/GoogleVR/Prefabs/Controller/Tooltips/GvrControllerTooltipsTemplate.prefab.meta new file mode 100644 index 0000000..6539206 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Controller/Tooltips/GvrControllerTooltipsTemplate.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f86870dc8a5b2476bb66abe6e43dfb0f +timeCreated: 1495732127 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/EventSystem.meta b/Assets/GoogleVR/Prefabs/EventSystem.meta new file mode 100644 index 0000000..69c06a9 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/EventSystem.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a4eb677e1dea95f43842d31b054b96ba +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/EventSystem/GvrEventSystem.prefab b/Assets/GoogleVR/Prefabs/EventSystem/GvrEventSystem.prefab new file mode 100644 index 0000000..58534a3 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/EventSystem/GvrEventSystem.prefab @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 761381335} + m_IsPrefabParent: 1 +--- !u!1 &761381335 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 766346198} + - 114: {fileID: 1816646545} + - 114: {fileID: 1422168469} + m_Layer: 0 + m_Name: GvrEventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &766346198 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 761381335} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!114 &1422168469 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 761381335} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fcd4baceb58cc40c98e500572bede6a6, type: 3} + m_Name: + m_EditorClassIdentifier: + vrModeOnly: 0 + scrollInput: + inertia: 1 + decelerationRate: 0.05 +--- !u!114 &1816646545 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 761381335} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 20 diff --git a/Assets/GoogleVR/Prefabs/EventSystem/GvrEventSystem.prefab.meta b/Assets/GoogleVR/Prefabs/EventSystem/GvrEventSystem.prefab.meta new file mode 100644 index 0000000..7ca21f9 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/EventSystem/GvrEventSystem.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 463285ecd6702471a909ba810832bf0e +timeCreated: 1481866398 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/GvrEditorEmulator.prefab b/Assets/GoogleVR/Prefabs/GvrEditorEmulator.prefab new file mode 100644 index 0000000..ed4ff58 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/GvrEditorEmulator.prefab @@ -0,0 +1,54 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &177758 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 498412} + - 114: {fileID: 114000013210091632} + m_Layer: 0 + m_Name: GvrEditorEmulator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &498412 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 177758} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 177758} + m_IsPrefabParent: 1 +--- !u!114 &114000013210091632 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 177758} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41679d3338266415f88d226e6bf3d0be, type: 3} + m_Name: + m_EditorClassIdentifier: + m_camera: {fileID: 0} diff --git a/Assets/GoogleVR/Prefabs/GvrEditorEmulator.prefab.meta b/Assets/GoogleVR/Prefabs/GvrEditorEmulator.prefab.meta new file mode 100644 index 0000000..a213526 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/GvrEditorEmulator.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 970dd4b9371394fb4890965f608d46fd +timeCreated: 1467065150 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/Headset.meta b/Assets/GoogleVR/Prefabs/Headset.meta new file mode 100644 index 0000000..b56ec8f --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Headset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c336cec995d332b43a69ce1b7b35764a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/Headset/GvrHeadset.prefab b/Assets/GoogleVR/Prefabs/Headset/GvrHeadset.prefab new file mode 100644 index 0000000..acf63e7 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Headset/GvrHeadset.prefab @@ -0,0 +1,55 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1000014104313712} + m_IsPrefabParent: 1 +--- !u!1 &1000014104313712 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000010886689084} + - 114: {fileID: 114000014150266774} + m_Layer: 0 + m_Name: GvrHeadset + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000010886689084 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000014104313712} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!114 &114000014150266774 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000014104313712} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ecd9463bbd7994be09b972947a085067, type: 3} + m_Name: + m_EditorClassIdentifier: + enableStandalone6dof: 0 + standaloneRequired: 0 diff --git a/Assets/GoogleVR/Prefabs/Headset/GvrHeadset.prefab.meta b/Assets/GoogleVR/Prefabs/Headset/GvrHeadset.prefab.meta new file mode 100644 index 0000000..5690700 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Headset/GvrHeadset.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d638298e697ca4e9b91853efadd0e6da +timeCreated: 1498436996 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/InstantPreview.meta b/Assets/GoogleVR/Prefabs/InstantPreview.meta new file mode 100644 index 0000000..079e6ae --- /dev/null +++ b/Assets/GoogleVR/Prefabs/InstantPreview.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51c0f82f9dce9094ca285c1b4446c0d0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/InstantPreview/GvrInstantPreviewMain.prefab b/Assets/GoogleVR/Prefabs/InstantPreview/GvrInstantPreviewMain.prefab new file mode 100644 index 0000000..6e88f52 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/InstantPreview/GvrInstantPreviewMain.prefab @@ -0,0 +1,105 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1000013061525784} + m_IsPrefabParent: 1 +--- !u!1 &1000013061525784 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4000012185119224} + - 20: {fileID: 20000012123226224} + - 114: {fileID: 114000011015867216} + - 114: {fileID: 114792940664812010} + m_Layer: 0 + m_Name: GvrInstantPreviewMain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000012185119224 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013061525784} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!20 &20000012123226224 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013061525784} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 4 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: -1 + far clip plane: 1 + field of view: 60 + orthographic: 1 + orthographic size: 1 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 0 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 0 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!114 &114000011015867216 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013061525784} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7528488988f9d48478da328909125dea, type: 3} + m_Name: + m_EditorClassIdentifier: + OutputResolution: 0 + MultisampleCount: 0 + BitRate: 3 + InstallApkOnRun: 1 + InstantPreviewApk: {fileID: 102900000, guid: dc278786e6540af428ccbf7825495004, type: 3} +--- !u!114 &114792940664812010 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013061525784} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1b78ffabb50d1e94ca164106f5444e34, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/GoogleVR/Prefabs/InstantPreview/GvrInstantPreviewMain.prefab.meta b/Assets/GoogleVR/Prefabs/InstantPreview/GvrInstantPreviewMain.prefab.meta new file mode 100644 index 0000000..61e4bb1 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/InstantPreview/GvrInstantPreviewMain.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ce7abbbeb276a1547bd8ce1069fdabb7 +timeCreated: 1494615578 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: -1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/Keyboard.meta b/Assets/GoogleVR/Prefabs/Keyboard.meta new file mode 100644 index 0000000..4f678d4 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Keyboard.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1eca009a82cb5674abcc0a85107c66dd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/Keyboard/GvrKeyboardCanvas.prefab b/Assets/GoogleVR/Prefabs/Keyboard/GvrKeyboardCanvas.prefab new file mode 100644 index 0000000..b8ef2d1 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Keyboard/GvrKeyboardCanvas.prefab @@ -0,0 +1,294 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1594779858} + m_IsPrefabParent: 1 +--- !u!114 &150179061 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1627538840} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.865, g: 0.888, b: 0.031, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 18 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 50 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Start Typing... +--- !u!224 &313390157 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1594779858} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 5} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1255186678} + - {fileID: 1279492093} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 1.51} + m_SizeDelta: {x: 450, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &890278573 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1594779858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: OnPointerClick + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + delegates: [] +--- !u!65 &1014590142 +BoxCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1594779858} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 450, y: 100, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &1054129942 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1594779858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!222 &1063622329 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1547164621} +--- !u!223 &1068040100 +Canvas: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1594779858} + m_Enabled: 1 + serializedVersion: 2 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &1131593892 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1547164621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!224 &1255186678 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1547164621} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 313390157} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &1279492093 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1627538840} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 313390157} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!1 &1547164621 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1255186678} + - 222: {fileID: 1063622329} + - 114: {fileID: 1131593892} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1594779858 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 313390157} + - 223: {fileID: 1068040100} + - 114: {fileID: 1054129942} + - 114: {fileID: 1704454756} + - 65: {fileID: 1014590142} + - 114: {fileID: 890278573} + m_Layer: 5 + m_Name: GvrKeyboardCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1627538840 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1279492093} + - 222: {fileID: 2023487032} + - 114: {fileID: 150179061} + m_Layer: 5 + m_Name: KeyboardText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1704454756 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1594779858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 739800cd36aba44e9b04ce977e5784bd, type: 3} + m_Name: + m_EditorClassIdentifier: + raycastMode: 0 + ignoreReversedGraphics: 1 + blockingObjects: 0 + blockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!222 &2023487032 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1627538840} diff --git a/Assets/GoogleVR/Prefabs/Keyboard/GvrKeyboardCanvas.prefab.meta b/Assets/GoogleVR/Prefabs/Keyboard/GvrKeyboardCanvas.prefab.meta new file mode 100644 index 0000000..456975a --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Keyboard/GvrKeyboardCanvas.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f4cf01cab04054926935acc7cb25b7f5 +timeCreated: 1479081996 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Prefabs/Keyboard/GvrKeyboardManager.prefab b/Assets/GoogleVR/Prefabs/Keyboard/GvrKeyboardManager.prefab new file mode 100644 index 0000000..ba1f408 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Keyboard/GvrKeyboardManager.prefab @@ -0,0 +1,57 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1217039644} + m_IsPrefabParent: 1 +--- !u!4 &642702418 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1217039644} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &1217039644 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 642702418} + - 114: {fileID: 1260534185} + m_Layer: 0 + m_Name: GvrKeyboardManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1260534185 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1217039644} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 573e2b04dc4734d68a2b6747421ce0bc, type: 3} + m_Name: + m_EditorClassIdentifier: + keyboardDelegate: {fileID: 0} + inputMode: 0 + useRecommended: 1 + distance: 3 diff --git a/Assets/GoogleVR/Prefabs/Keyboard/GvrKeyboardManager.prefab.meta b/Assets/GoogleVR/Prefabs/Keyboard/GvrKeyboardManager.prefab.meta new file mode 100644 index 0000000..81421c4 --- /dev/null +++ b/Assets/GoogleVR/Prefabs/Keyboard/GvrKeyboardManager.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6c99596fcbe574b168ae0faa3afe8546 +timeCreated: 1479082001 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/README b/Assets/GoogleVR/README new file mode 100644 index 0000000..f587e9f --- /dev/null +++ b/Assets/GoogleVR/README @@ -0,0 +1,7 @@ +Google VR SDK for Unity + +This SDK provides Android and iOS developers with the easiest way to add +Google VR support to their Unity projects. + +The latest version of this SDK, as well as version-specific release notes, +are available from https://github.com/googlevr/gvr-unity-sdk/releases. diff --git a/Assets/GoogleVR/README.meta b/Assets/GoogleVR/README.meta new file mode 100644 index 0000000..31652d1 --- /dev/null +++ b/Assets/GoogleVR/README.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: de961e46abe24453a81bf1c8576885b3 +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts.meta b/Assets/GoogleVR/Scripts.meta new file mode 100644 index 0000000..bb60e0f --- /dev/null +++ b/Assets/GoogleVR/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 265c58b30dcdf2e4cbb9880a9a8ed8c3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Cardboard.meta b/Assets/GoogleVR/Scripts/Cardboard.meta new file mode 100644 index 0000000..60ebb69 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Cardboard.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 91877f3f2369205449e99f23398ff1d0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Cardboard/GvrReticlePointer.cs b/Assets/GoogleVR/Scripts/Cardboard/GvrReticlePointer.cs new file mode 100644 index 0000000..0428e59 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Cardboard/GvrReticlePointer.cs @@ -0,0 +1,219 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.EventSystems; + +/// Draws a circular reticle in front of any object that the user points at. +/// The circle dilates if the object is clickable. +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrReticlePointer")] +public class GvrReticlePointer : GvrBasePointer { + /// The constants below are expsed for testing. Minimum inner angle of the reticle (in degrees). + public const float RETICLE_MIN_INNER_ANGLE = 0.0f; + + /// Minimum outer angle of the reticle (in degrees). + public const float RETICLE_MIN_OUTER_ANGLE = 0.5f; + + /// Angle at which to expand the reticle when intersecting with an object (in degrees). + public const float RETICLE_GROWTH_ANGLE = 1.5f; + + /// Minimum distance of the reticle (in meters). + public const float RETICLE_DISTANCE_MIN = 0.45f; + + /// Maximum distance of the reticle (in meters). + public float maxReticleDistance = 20.0f; + + /// Number of segments making the reticle circle. + public int reticleSegments = 20; + + /// Growth speed multiplier for the reticle/ + public float reticleGrowthSpeed = 8.0f; + + /// Sorting order to use for the reticle's renderer. + /// Range values come from https://docs.unity3d.com/ScriptReference/Renderer-sortingOrder.html. + /// Default value 32767 ensures gaze reticle is always rendered on top. + [Range(-32767, 32767)] + public int reticleSortingOrder = 32767; + + public Material MaterialComp { private get; set; } + + // Current inner angle of the reticle (in degrees). + // Exposed for testing. + public float ReticleInnerAngle { get; private set; } + + // Current outer angle of the reticle (in degrees). + // Exposed for testing. + public float ReticleOuterAngle { get; private set; } + + // Current distance of the reticle (in meters). + // Getter exposed for testing. + public float ReticleDistanceInMeters { get; private set; } + + // Current inner and outer diameters of the reticle, before distance multiplication. + // Getters exposed for testing. + public float ReticleInnerDiameter { get; private set; } + + public float ReticleOuterDiameter { get; private set; } + + public override float MaxPointerDistance { get { return maxReticleDistance; } } + + public override void OnPointerEnter(RaycastResult raycastResultResult, bool isInteractive) { + SetPointerTarget(raycastResultResult.worldPosition, isInteractive); + } + + public override void OnPointerHover(RaycastResult raycastResultResult, bool isInteractive) { + SetPointerTarget(raycastResultResult.worldPosition, isInteractive); + } + + public override void OnPointerExit(GameObject previousObject) { + ReticleDistanceInMeters = maxReticleDistance; + ReticleInnerAngle = RETICLE_MIN_INNER_ANGLE; + ReticleOuterAngle = RETICLE_MIN_OUTER_ANGLE; + } + + public override void OnPointerClickDown() {} + + public override void OnPointerClickUp() {} + + public override void GetPointerRadius(out float enterRadius, out float exitRadius) { + float min_inner_angle_radians = Mathf.Deg2Rad * RETICLE_MIN_INNER_ANGLE; + float max_inner_angle_radians = Mathf.Deg2Rad * (RETICLE_MIN_INNER_ANGLE + RETICLE_GROWTH_ANGLE); + + enterRadius = 2.0f * Mathf.Tan(min_inner_angle_radians); + exitRadius = 2.0f * Mathf.Tan(max_inner_angle_radians); + } + + public void UpdateDiameters() { + ReticleDistanceInMeters = + Mathf.Clamp(ReticleDistanceInMeters, RETICLE_DISTANCE_MIN, maxReticleDistance); + + if (ReticleInnerAngle < RETICLE_MIN_INNER_ANGLE) { + ReticleInnerAngle = RETICLE_MIN_INNER_ANGLE; + } + + if (ReticleOuterAngle < RETICLE_MIN_OUTER_ANGLE) { + ReticleOuterAngle = RETICLE_MIN_OUTER_ANGLE; + } + + float inner_half_angle_radians = Mathf.Deg2Rad * ReticleInnerAngle * 0.5f; + float outer_half_angle_radians = Mathf.Deg2Rad * ReticleOuterAngle * 0.5f; + + float inner_diameter = 2.0f * Mathf.Tan(inner_half_angle_radians); + float outer_diameter = 2.0f * Mathf.Tan(outer_half_angle_radians); + + ReticleInnerDiameter = + Mathf.Lerp(ReticleInnerDiameter, inner_diameter, Time.unscaledDeltaTime * reticleGrowthSpeed); + ReticleOuterDiameter = + Mathf.Lerp(ReticleOuterDiameter, outer_diameter, Time.unscaledDeltaTime * reticleGrowthSpeed); + + MaterialComp.SetFloat("_InnerDiameter", ReticleInnerDiameter * ReticleDistanceInMeters); + MaterialComp.SetFloat("_OuterDiameter", ReticleOuterDiameter * ReticleDistanceInMeters); + MaterialComp.SetFloat("_DistanceInMeters", ReticleDistanceInMeters); + } + + void Awake() { + ReticleInnerAngle = RETICLE_MIN_INNER_ANGLE; + ReticleOuterAngle = RETICLE_MIN_OUTER_ANGLE; + } + + protected override void Start() { + base.Start(); + + Renderer rendererComponent = GetComponent(); + rendererComponent.sortingOrder = reticleSortingOrder; + + MaterialComp = rendererComponent.material; + + CreateReticleVertices(); + } + + void Update() { + UpdateDiameters(); + } + + private bool SetPointerTarget(Vector3 target, bool interactive) { + if (base.PointerTransform == null) { + Debug.LogWarning("Cannot operate on a null pointer transform"); + return false; + } + + Vector3 targetLocalPosition = base.PointerTransform.InverseTransformPoint(target); + + ReticleDistanceInMeters = + Mathf.Clamp(targetLocalPosition.z, RETICLE_DISTANCE_MIN, maxReticleDistance); + if (interactive) { + ReticleInnerAngle = RETICLE_MIN_INNER_ANGLE + RETICLE_GROWTH_ANGLE; + ReticleOuterAngle = RETICLE_MIN_OUTER_ANGLE + RETICLE_GROWTH_ANGLE; + } else { + ReticleInnerAngle = RETICLE_MIN_INNER_ANGLE; + ReticleOuterAngle = RETICLE_MIN_OUTER_ANGLE; + } + return true; + } + + private void CreateReticleVertices() { + Mesh mesh = new Mesh(); + gameObject.AddComponent(); + GetComponent().mesh = mesh; + + int segments_count = reticleSegments; + int vertex_count = (segments_count+1)*2; + + #region Vertices + + Vector3[] vertices = new Vector3[vertex_count]; + + const float kTwoPi = Mathf.PI * 2.0f; + int vi = 0; + for (int si = 0; si <= segments_count; ++si) { + // Add two vertices for every circle segment: one at the beginning of the + // prism, and one at the end of the prism. + float angle = (float)si / (float)(segments_count) * kTwoPi; + + float x = Mathf.Sin(angle); + float y = Mathf.Cos(angle); + + vertices[vi++] = new Vector3(x, y, 0.0f); // Outer vertex. + vertices[vi++] = new Vector3(x, y, 1.0f); // Inner vertex. + } + #endregion + + #region Triangles + int indices_count = (segments_count+1)*3*2; + int[] indices = new int[indices_count]; + + int vert = 0; + int idx = 0; + for (int si = 0; si < segments_count; ++si) { + indices[idx++] = vert+1; + indices[idx++] = vert; + indices[idx++] = vert+2; + + indices[idx++] = vert+1; + indices[idx++] = vert+2; + indices[idx++] = vert+3; + + vert += 2; + } + #endregion + + mesh.vertices = vertices; + mesh.triangles = indices; + mesh.RecalculateBounds(); +#if !UNITY_5_5_OR_NEWER + // Optimize() is deprecated as of Unity 5.5.0p1. + mesh.Optimize(); +#endif // !UNITY_5_5_OR_NEWER + } +} diff --git a/Assets/GoogleVR/Scripts/Cardboard/GvrReticlePointer.cs.meta b/Assets/GoogleVR/Scripts/Cardboard/GvrReticlePointer.cs.meta new file mode 100644 index 0000000..076198c --- /dev/null +++ b/Assets/GoogleVR/Scripts/Cardboard/GvrReticlePointer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e7dcc90c2e60c4011896c7f21fc1f557 +timeCreated: 1446847641 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller.meta b/Assets/GoogleVR/Scripts/Controller.meta new file mode 100644 index 0000000..0f0e0f5 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 994be461bb83b934cbc35416f0dfae24 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/ArmModel.meta b/Assets/GoogleVR/Scripts/Controller/ArmModel.meta new file mode 100644 index 0000000..b6d94bc --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/ArmModel.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 86ebdf1723c09ee499974202114ef39d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/ArmModel/GvrArmModel.cs b/Assets/GoogleVR/Scripts/Controller/ArmModel/GvrArmModel.cs new file mode 100644 index 0000000..1051d72 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/ArmModel/GvrArmModel.cs @@ -0,0 +1,432 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System.Collections; + +/// Standard implementation for a mathematical model to make the virtual controller approximate the +/// physical location of the Daydream controller. +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrArmModel")] +public class GvrArmModel : GvrBaseArmModel, IGvrControllerInputDeviceReceiver { + /// Position of the elbow joint relative to the head before the arm model is applied. + public Vector3 elbowRestPosition = DEFAULT_ELBOW_REST_POSITION; + + /// Position of the wrist joint relative to the elbow before the arm model is applied. + public Vector3 wristRestPosition = DEFAULT_WRIST_REST_POSITION; + + /// Position of the controller joint relative to the wrist before the arm model is applied. + public Vector3 controllerRestPosition = DEFAULT_CONTROLLER_REST_POSITION; + + /// Offset applied to the elbow position as the controller is rotated upwards. + public Vector3 armExtensionOffset = DEFAULT_ARM_EXTENSION_OFFSET; + + /// Ratio of the controller's rotation to apply to the rotation of the elbow. + /// The remaining rotation is applied to the wrist's rotation. + [Range(0.0f, 1.0f)] + public float elbowBendRatio = DEFAULT_ELBOW_BEND_RATIO; + + /// Offset in front of the controller to determine what position to use when determing if the + /// controller should fade. This is useful when objects are attached to the controller. + [Range(0.0f, 0.4f)] + public float fadeControllerOffset = 0.0f; + + /// Controller distance from the front/back of the head after which the controller disappears (meters). + [Range(0.0f, 0.4f)] + public float fadeDistanceFromHeadForward = 0.25f; + + /// Controller distance from the left/right of the head after which the controller disappears (meters). + [Range(0.0f, 0.4f)] + public float fadeDistanceFromHeadSide = 0.15f; + + /// Controller distance from face after which the tooltips appear (meters). + [Range(0.4f, 0.6f)] + public float tooltipMinDistanceFromFace = 0.45f; + + /// When the angle (degrees) between the controller and the head is larger than + /// this value, the tooltips disappear. + /// If the value is 180, then the tooltips are always shown. + /// If the value is 90, the tooltips are only shown when they are facing the camera. + [Range(0, 180)] + public int tooltipMaxAngleFromCamera = 80; + + /// If true, the root of the pose is locked to the local position of the player's neck. + public bool isLockedToNeck = false; + + /// Represents the controller's position relative to the user's head. + public override Vector3 ControllerPositionFromHead { + get { + return controllerPosition; + } + } + + /// Represent the controller's rotation relative to the user's head. + public override Quaternion ControllerRotationFromHead { + get { + return controllerRotation; + } + } + + /// The suggested rendering alpha value of the controller. + /// This is to prevent the controller from intersecting the face. + /// The range is always 0 - 1. + public override float PreferredAlpha { + get { + return preferredAlpha; + } + } + + /// The suggested rendering alpha value of the controller tooltips. + /// This is to only display the tooltips when the player is looking + /// at the controller, and also to prevent the tooltips from intersecting the + /// player's face. + public override float TooltipAlphaValue { + get { + return tooltipAlphaValue; + } + } + + /// Represent the neck's position relative to the user's head. + /// If isLockedToNeck is true, this will be the InputTracking position of the Head node modified + /// by an inverse neck model to approximate the neck position. + /// Otherwise, it is always zero. + public Vector3 NeckPosition { + get { + return neckPosition; + } + } + + /// Represent the shoulder's position relative to the user's head. + /// This is not actually used as part of the arm model calculations, and exists for debugging. + public Vector3 ShoulderPosition { + get { + Vector3 shoulderPosition = neckPosition + torsoRotation * Vector3.Scale(SHOULDER_POSITION, handedMultiplier); + return shoulderPosition; + } + } + + /// Represent the shoulder's rotation relative to the user's head. + /// This is not actually used as part of the arm model calculations, and exists for debugging. + public Quaternion ShoulderRotation { + get { + return torsoRotation; + } + } + + /// Represent the elbow's position relative to the user's head. + public Vector3 ElbowPosition { + get { + return elbowPosition; + } + } + + /// Represent the elbow's rotation relative to the user's head. + public Quaternion ElbowRotation { + get { + return elbowRotation; + } + } + + /// Represent the wrist's position relative to the user's head. + public Vector3 WristPosition { + get { + return wristPosition; + } + } + + /// Represent the wrist's rotation relative to the user's head. + public Quaternion WristRotation { + get { + return wristRotation; + } + } + + public GvrControllerInputDevice ControllerInputDevice { get; set; } + + protected Vector3 neckPosition; + protected Vector3 elbowPosition; + protected Quaternion elbowRotation; + protected Vector3 wristPosition; + protected Quaternion wristRotation; + protected Vector3 controllerPosition; + protected Quaternion controllerRotation; + protected float preferredAlpha; + protected float tooltipAlphaValue; + + /// Multiplier for handedness such that 1 = Right, 0 = Center, -1 = left. + protected Vector3 handedMultiplier; + + /// Forward direction of user's torso. + protected Vector3 torsoDirection; + + /// Orientation of the user's torso. + protected Quaternion torsoRotation; + + // Default values for tuning variables. + public static readonly Vector3 DEFAULT_ELBOW_REST_POSITION = new Vector3(0.195f, -0.5f, 0.005f); + public static readonly Vector3 DEFAULT_WRIST_REST_POSITION = new Vector3(0.0f, 0.0f, 0.25f); + public static readonly Vector3 DEFAULT_CONTROLLER_REST_POSITION = new Vector3(0.0f, 0.0f, 0.05f); + public static readonly Vector3 DEFAULT_ARM_EXTENSION_OFFSET = new Vector3(-0.13f, 0.14f, 0.08f); + public const float DEFAULT_ELBOW_BEND_RATIO = 0.6f; + + /// Increases elbow bending as the controller moves up (unitless). + protected const float EXTENSION_WEIGHT = 0.4f; + + /// Rest position for shoulder joint. + protected static readonly Vector3 SHOULDER_POSITION = new Vector3(0.17f, -0.2f, -0.03f); + + /// Neck offset used to apply the inverse neck model when locked to the head. + protected static readonly Vector3 NECK_OFFSET = new Vector3(0.0f, 0.075f, 0.08f); + + /// Amount of normalized alpha transparency to change per second. + protected const float DELTA_ALPHA = 4.0f; + + /// Angle ranges the for arm extension offset to start and end (degrees). + protected const float MIN_EXTENSION_ANGLE = 7.0f; + protected const float MAX_EXTENSION_ANGLE = 60.0f; + + protected virtual void OnEnable() { + // Register the controller update listener. + GvrControllerInput.OnControllerInputUpdated += OnControllerInputUpdated; + + // Force the torso direction to match the gaze direction immediately. + // Otherwise, the controller will not be positioned correctly if the ArmModel was enabled + // when the user wasn't facing forward. + UpdateTorsoDirection(true); + + // Update immediately to avoid a frame delay before the arm model is applied. + OnControllerInputUpdated(); + } + + protected virtual void OnDisable() { + GvrControllerInput.OnControllerInputUpdated -= OnControllerInputUpdated; + } + + protected virtual void OnControllerInputUpdated() { + UpdateHandedness(); + UpdateTorsoDirection(false); + UpdateNeckPosition(); + ApplyArmModel(); + UpdateTransparency(); + } + + protected virtual void UpdateHandedness() { + // Update user handedness if the setting has changed. + if (ControllerInputDevice == null) { + return; + } + // Determine handedness multiplier. + handedMultiplier.Set(0, 1, 1); + if (ControllerInputDevice.IsRightHand) { + handedMultiplier.x = 1.0f; + } else { + handedMultiplier.x = -1.0f; + } + } + + protected virtual void UpdateTorsoDirection(bool forceImmediate) { + // Determine the gaze direction horizontally. + Vector3 gazeDirection = GvrVRHelpers.GetHeadForward(); + gazeDirection.y = 0.0f; + gazeDirection.Normalize(); + + // Use the gaze direction to update the forward direction. + if (forceImmediate || + (ControllerInputDevice != null && ControllerInputDevice.Recentered)) { + torsoDirection = gazeDirection; + } else { + float angularVelocity = ControllerInputDevice != null ? ControllerInputDevice.Gyro.magnitude : 0; + float gazeFilterStrength = Mathf.Clamp((angularVelocity - 0.2f) / 45.0f, 0.0f, 0.1f); + torsoDirection = Vector3.Slerp(torsoDirection, gazeDirection, gazeFilterStrength); + } + + // Calculate the torso rotation. + torsoRotation = Quaternion.FromToRotation(Vector3.forward, torsoDirection); + } + + protected virtual void UpdateNeckPosition() { + if (isLockedToNeck) { + // Returns the center of the eyes. + // However, we actually want to lock to the center of the head. + neckPosition = GvrVRHelpers.GetHeadPosition(); + + // Find the approximate neck position by Applying an inverse neck model. + // This transforms the head position to the center of the head and also accounts + // for the head's rotation so that the motion feels more natural. + neckPosition = ApplyInverseNeckModel(neckPosition); + } else { + neckPosition = Vector3.zero; + } + } + + protected virtual void ApplyArmModel() { + // Set the starting positions of the joints before they are transformed by the arm model. + SetUntransformedJointPositions(); + + // Get the controller's orientation. + Quaternion controllerOrientation; + Quaternion xyRotation; + float xAngle; + GetControllerRotation(out controllerOrientation, out xyRotation, out xAngle); + + // Offset the elbow by the extension offset. + float extensionRatio = CalculateExtensionRatio(xAngle); + ApplyExtensionOffset(extensionRatio); + + // Calculate the lerp rotation, which is used to control how much the rotation of the + // controller impacts each joint. + Quaternion lerpRotation = CalculateLerpRotation(xyRotation, extensionRatio); + + CalculateFinalJointRotations(controllerOrientation, xyRotation, lerpRotation); + ApplyRotationToJoints(); + } + + /// Set the starting positions of the joints before they are transformed by the arm model. + protected virtual void SetUntransformedJointPositions() { + elbowPosition = Vector3.Scale(elbowRestPosition, handedMultiplier); + wristPosition = Vector3.Scale(wristRestPosition, handedMultiplier); + controllerPosition = Vector3.Scale(controllerRestPosition, handedMultiplier); + } + + /// Calculate the extension ratio based on the angle of the controller along the x axis. + protected virtual float CalculateExtensionRatio(float xAngle) { + float normalizedAngle = (xAngle - MIN_EXTENSION_ANGLE) / (MAX_EXTENSION_ANGLE - MIN_EXTENSION_ANGLE); + float extensionRatio = Mathf.Clamp(normalizedAngle, 0.0f, 1.0f); + return extensionRatio; + } + + /// Offset the elbow by the extension offset. + protected virtual void ApplyExtensionOffset(float extensionRatio) { + Vector3 extensionOffset = Vector3.Scale(armExtensionOffset, handedMultiplier); + elbowPosition += extensionOffset * extensionRatio; + } + + /// Calculate the lerp rotation, which is used to control how much the rotation of the + /// controller impacts each joint. + protected virtual Quaternion CalculateLerpRotation(Quaternion xyRotation, float extensionRatio) { + float totalAngle = Quaternion.Angle(xyRotation, Quaternion.identity); + float lerpSuppresion = 1.0f - Mathf.Pow(totalAngle / 180.0f, 6.0f); + float inverseElbowBendRatio = 1.0f - elbowBendRatio; + float lerpValue = inverseElbowBendRatio + elbowBendRatio * extensionRatio * EXTENSION_WEIGHT; + lerpValue *= lerpSuppresion; + return Quaternion.Lerp(Quaternion.identity, xyRotation, lerpValue); + } + + /// Determine the final joint rotations relative to the head. + protected virtual void CalculateFinalJointRotations(Quaternion controllerOrientation, Quaternion xyRotation, Quaternion lerpRotation) { + elbowRotation = torsoRotation * Quaternion.Inverse(lerpRotation) * xyRotation; + wristRotation = elbowRotation * lerpRotation; + controllerRotation = torsoRotation * controllerOrientation; + } + + /// Apply the joint rotations to the positions of the joints to determine the final pose. + protected virtual void ApplyRotationToJoints() { + elbowPosition = neckPosition + torsoRotation * elbowPosition; + wristPosition = elbowPosition + elbowRotation * wristPosition; + controllerPosition = wristPosition + wristRotation * controllerPosition; + } + + /// Transform the head position into an approximate neck position. + protected virtual Vector3 ApplyInverseNeckModel(Vector3 headPosition) { + Quaternion headRotation = GvrVRHelpers.GetHeadRotation(); + Vector3 rotatedNeckOffset = + headRotation * NECK_OFFSET - NECK_OFFSET.y * Vector3.up; + headPosition -= rotatedNeckOffset; + + return headPosition; + } + + /// Controls the transparency of the controller to prevent the controller from clipping through + /// the user's head. Also, controls the transparency of the tooltips so they are only visible + /// when the controller is held up. + protected virtual void UpdateTransparency() { + Vector3 controllerForward = controllerRotation * Vector3.forward; + Vector3 offsetControllerPosition = controllerPosition + (controllerForward * fadeControllerOffset); + Vector3 controllerRelativeToHead = offsetControllerPosition - neckPosition; + + Vector3 headForward = GvrVRHelpers.GetHeadForward(); + float distanceToHeadForward = Vector3.Scale(controllerRelativeToHead, headForward).magnitude; + Vector3 headRight = Vector3.Cross(headForward, Vector3.up); + float distanceToHeadSide = Vector3.Scale(controllerRelativeToHead, headRight).magnitude; + float distanceToHeadUp = Mathf.Abs(controllerRelativeToHead.y); + + bool shouldFadeController = distanceToHeadForward < fadeDistanceFromHeadForward + && distanceToHeadUp < fadeDistanceFromHeadForward + && distanceToHeadSide < fadeDistanceFromHeadSide; + + // Determine how vertical the controller is pointing. + float animationDelta = DELTA_ALPHA * Time.unscaledDeltaTime; + if (shouldFadeController) { + preferredAlpha = Mathf.Max(0.0f, preferredAlpha - animationDelta); + } else { + preferredAlpha = Mathf.Min(1.0f, preferredAlpha + animationDelta); + } + + float dot = Vector3.Dot(controllerRotation * Vector3.up, -controllerRelativeToHead.normalized); + float minDot = (tooltipMaxAngleFromCamera - 90.0f) / -90.0f; + float distToFace = Vector3.Distance(controllerRelativeToHead, Vector3.zero); + if (shouldFadeController + || distToFace > tooltipMinDistanceFromFace + || dot < minDot) { + tooltipAlphaValue = Mathf.Max(0.0f, tooltipAlphaValue - animationDelta); + } else { + tooltipAlphaValue = Mathf.Min(1.0f, tooltipAlphaValue + animationDelta); + } + } + + /// Get the controller's orientation. + protected void GetControllerRotation(out Quaternion rotation, out Quaternion xyRotation, out float xAngle) { + // Find the controller's orientation relative to the player. + rotation = ControllerInputDevice != null ? ControllerInputDevice.Orientation : Quaternion.identity; + rotation = Quaternion.Inverse(torsoRotation) * rotation; + + // Extract just the x rotation angle. + Vector3 controllerForward = rotation * Vector3.forward; + xAngle = 90.0f - Vector3.Angle(controllerForward, Vector3.up); + + // Remove the z rotation from the controller. + xyRotation = Quaternion.FromToRotation(Vector3.forward, controllerForward); + } + +#if UNITY_EDITOR + protected virtual void OnDrawGizmosSelected() { + if (!enabled) { + return; + } + + if (transform.parent == null) { + return; + } + + Vector3 worldShoulder = transform.parent.TransformPoint(ShoulderPosition); + Vector3 worldElbow = transform.parent.TransformPoint(elbowPosition); + Vector3 worldwrist = transform.parent.TransformPoint(wristPosition); + Vector3 worldcontroller = transform.parent.TransformPoint(controllerPosition); + + + Gizmos.color = Color.red; + Gizmos.DrawSphere(worldShoulder, 0.02f); + Gizmos.DrawLine(worldShoulder, worldElbow); + + Gizmos.color = Color.green; + Gizmos.DrawSphere(worldElbow, 0.02f); + Gizmos.DrawLine(worldElbow, worldwrist); + + Gizmos.color = Color.cyan; + Gizmos.DrawSphere(worldwrist, 0.02f); + + Gizmos.color = Color.blue; + Gizmos.DrawSphere(worldcontroller, 0.02f); + } +#endif // UNITY_EDITOR +} diff --git a/Assets/GoogleVR/Scripts/Controller/ArmModel/GvrArmModel.cs.meta b/Assets/GoogleVR/Scripts/Controller/ArmModel/GvrArmModel.cs.meta new file mode 100644 index 0000000..6bf1c06 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/ArmModel/GvrArmModel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7dda4bb2d5509e44e978d2bf56e25d7c +timeCreated: 1471566115 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/ArmModel/GvrBaseArmModel.cs b/Assets/GoogleVR/Scripts/Controller/ArmModel/GvrBaseArmModel.cs new file mode 100644 index 0000000..472abd9 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/ArmModel/GvrBaseArmModel.cs @@ -0,0 +1,42 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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.Collections; +using System.Collections.Generic; +using UnityEngine; + +/// Interface for a mathematical model that uses the orientation and location +/// of the physical controller, and predicts the location of the controller and pointer +/// to determine where to place the controller model within the scene. +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrBaseArmModel")] +public abstract class GvrBaseArmModel : MonoBehaviour { + /// Vector to represent the controller's location relative to + /// the user's head position. + public abstract Vector3 ControllerPositionFromHead { get; } + + /// Quaternion to represent the controller's rotation relative to + /// the user's head position. + public abstract Quaternion ControllerRotationFromHead { get; } + + /// The suggested rendering alpha value of the controller. + /// This is to prevent the controller from intersecting the face. + /// The range is always 0 - 1. + public abstract float PreferredAlpha { get; } + + /// The suggested rendering alpha value of the controller tooltips. + /// This is to only display the tooltips when the player is looking + /// at the controller, and also to prevent the tooltips from intersecting the + /// player's face. + public abstract float TooltipAlphaValue { get; } +} diff --git a/Assets/GoogleVR/Scripts/Controller/ArmModel/GvrBaseArmModel.cs.meta b/Assets/GoogleVR/Scripts/Controller/ArmModel/GvrBaseArmModel.cs.meta new file mode 100644 index 0000000..f829059 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/ArmModel/GvrBaseArmModel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b621d217eade547b4841c4471106b6e5 +timeCreated: 1495573504 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/ArmModel/IGvrArmModelReceiver.cs b/Assets/GoogleVR/Scripts/Controller/ArmModel/IGvrArmModelReceiver.cs new file mode 100644 index 0000000..cde64dc --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/ArmModel/IGvrArmModelReceiver.cs @@ -0,0 +1,17 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +public interface IGvrArmModelReceiver { + GvrBaseArmModel ArmModel { get; set; } +} diff --git a/Assets/GoogleVR/Scripts/Controller/ArmModel/IGvrArmModelReceiver.cs.meta b/Assets/GoogleVR/Scripts/Controller/ArmModel/IGvrArmModelReceiver.cs.meta new file mode 100644 index 0000000..0e96058 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/ArmModel/IGvrArmModelReceiver.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cb01f40fa958548a5b1f92a685e6d46d +timeCreated: 1495576213 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/GvrControllerInput.cs b/Assets/GoogleVR/Scripts/Controller/GvrControllerInput.cs new file mode 100644 index 0000000..70cc834 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrControllerInput.cs @@ -0,0 +1,630 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System; +using System.Collections; + +using Gvr.Internal; + +/// Represents a controller's current connection state. +/// All values and semantics below (except for Error) are +/// from gvr_types.h in the GVR C API. +public enum GvrConnectionState { + /// Indicates that an error has occurred. + Error = -1, + + /// Indicates a controller is disconnected. + Disconnected = 0, + /// Indicates that the device is scanning for controllers. + Scanning = 1, + /// Indicates that the device is connecting to a controller. + Connecting = 2, + /// Indicates that the device is connected to a controller. + Connected = 3, +} + +/// Represents the status of the controller API. +/// Values and semantics from gvr_types.h in the GVR C API. +public enum GvrControllerApiStatus { + /// A Unity-localized error occurred. + /// This is the only value that isn't in gvr_types.h. + Error = -1, + + /// API is happy and healthy. This doesn't mean any controllers are + /// connected, it just means that the underlying service is working + /// properly. + Ok = 0, + + /// Any other status represents a permanent failure that requires + /// external action to fix: + + /// API failed because this device does not support controllers (API is too + /// low, or other required feature not present). + Unsupported = 1, + /// This app was not authorized to use the service (e.g., missing permissions, + /// the app is blacklisted by the underlying service, etc). + NotAuthorized = 2, + /// The underlying VR service is not present. + Unavailable = 3, + /// The underlying VR service is too old, needs upgrade. + ApiServiceObsolete = 4, + /// The underlying VR service is too new, is incompatible with current client. + ApiClientObsolete = 5, + /// The underlying VR service is malfunctioning. Try again later. + ApiMalfunction = 6, +} + +/// Represents a controller's current battery level. +/// Values and semantics from gvr_types.h in the GVR C API. +public enum GvrControllerBatteryLevel { + /// A Unity-localized error occurred. + /// This is the only value that isn't in gvr_types.h. + Error = -1, + + /// The battery state is currently unreported. + Unknown = 0, + + /// Equivalent to 1 out of 5 bars on the battery indicator. + CriticalLow = 1, + + /// Equivalent to 2 out of 5 bars on the battery indicator. + Low = 2, + + /// Equivalent to 3 out of 5 bars on the battery indicator. + Medium = 3, + + /// Equivalent to 4 out of 5 bars on the battery indicator. + AlmostFull = 4, + + /// Equivalent to 5 out of 5 bars on the battery indicator. + Full = 5, +} + +/// Represents controller buttons. +/// Values 0-9 from gvr_types.h in the GVR C API. +/// Value 31 not represented in the C API. +public enum GvrControllerButton { + /// Button under the touch pad. Formerly known as Click. + TouchPadButton = 1 << 1, + + /// Touch pad touching indicator. + TouchPadTouch = 1 << 31, + + /// General application button. + App = 1 << 3, + + /// System button. Formerly known as Home. + System = 1 << 2, + + /// Buttons reserved for future use. Subject to name change. + Reserved0 = 1 << 6, + Reserved1 = 1 << 7, + Reserved2 = 1 << 8, + +} + +/// Represents controller handedness. +public enum GvrControllerHand { + Right, + Left, + Dominant, // Alias for dominant hand as specified by `GvrSettings.Handedness`. + NonDominant, // Alias for non-dominant hand. +} + + +/// Main entry point for the Daydream controller API. +/// +/// To use this API, add this script to a game object in your scene, or use the +/// **GvrControllerMain** prefab. +/// +/// This is a singleton object. There can only be one object with this script in your scene. +/// +/// To access a controller's state, get a device from `GvrControllerInput.GetDevice` then +/// query it for state. For example, to the dominant controller's current orientation, use +/// `GvrControllerInput.GetDevice(GvrControllerHand.Dominant).Orientation`. +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrControllerInput")] +public class GvrControllerInput : MonoBehaviour { + private static GvrControllerInputDevice[] instances = new GvrControllerInputDevice[0]; + private static IControllerProvider controllerProvider; + private static GvrSettings.UserPrefsHandedness handedness; + private static Action onDevicesChangedInternal; + + /// Event handler for receiving button, touchpad, and IMU updates from the controllers. + /// Use this handler to update app state based on controller input. + public static event Action OnControllerInputUpdated; + + /// Event handler for receiving a second notification callback, after all + /// `OnControllerInputUpdated` events have fired. + public static event Action OnPostControllerInputUpdated; + + /// Event handler for when the connection state of a controller changes. + public delegate void OnStateChangedEvent(GvrConnectionState state, GvrConnectionState oldState); + + /// Event handler for when controller devices have changed. Any code that stores a + /// `GvrControllerInputDevice` should get a new device instance from `GetDevice`. + /// Existing `GvrControllerInputDevice`s will be marked invalid and will log errors + /// when used. Event handlers are called immediately when added. + public static event Action OnDevicesChanged { + add { + onDevicesChangedInternal += value; + value(); + } + remove { + onDevicesChangedInternal -= value; + } + } + + /// Event handler for when the connection state of the dominant controller changes. + [System.Obsolete("Replaced by GvrControllerInputDevice.OnStateChangedEvent.")] + public static event OnStateChangedEvent OnStateChanged { + add { + if (instances.Length > 0) { + instances[0].OnStateChanged += value; + } else { + Debug.LogError("GvrControllerInput: Adding OnStateChanged event before instance created."); + } + } + remove { + if (instances.Length > 0) { + instances[0].OnStateChanged -= value; + } else { + Debug.LogError("GvrControllerInput: Removing OnStateChanged event before instance created."); + } + } + } + + public enum EmulatorConnectionMode { + OFF, + USB, + WIFI, + } + /// Indicates how we connect to the controller emulator. + [GvrInfo("Hold Shift to use the Mouse as the dominant controller.\n\n" + + "Controls: Shift +\n" + + " • Move Mouse = Change Orientation\n" + + " • Left Mouse Button = ClickButton\n" + + " • Right Mouse Button = AppButton\n" + + " • Middle Mouse Button = HomeButton/Recenter\n" + + " • Ctrl = IsTouching\n" + + " • Ctrl + Move Mouse = Change TouchPos", 8)] + [Tooltip("How to connect to the emulator: USB cable (recommended) or WIFI.")] + + public EmulatorConnectionMode emulatorConnectionMode = EmulatorConnectionMode.USB; + + /// Returns a controller device for the specified hand. + public static GvrControllerInputDevice GetDevice(GvrControllerHand hand) { + if (instances.Length == 0) { + return null; + } + // Remap Right and Left to Dominant or NonDominant according to settings handedness. + if (hand == GvrControllerHand.Left || hand == GvrControllerHand.Right) { + if ((int)hand != (int)handedness) { + hand = GvrControllerHand.NonDominant; + } else { + hand = GvrControllerHand.Dominant; + } + } + + if (hand == GvrControllerHand.NonDominant) { + return instances[1]; + } else { + // Dominant is always controller 0. + return instances[0]; + } + } + + /// Returns the dominant controller's current connection state. Returns + /// `GvrConnectionState.Error` if `GvrControllerInput` is uninitialized. + [System.Obsolete("Replaced by GvrControllerInputDevice.State.")] + public static GvrConnectionState State { + get { + if (instances.Length == 0) { + return GvrConnectionState.Error; + } + return instances[0].State; + } + } + + /// Returns the status of the controller API. Returns + /// `GvrControllerApiStatus.Error` if `GvrControllerInput` is uninitialized. + public static GvrControllerApiStatus ApiStatus { + get { + if (instances.Length == 0) { + return GvrControllerApiStatus.Error; + } + return instances[0].ApiStatus; + } + } + + /// Returns true if battery status is supported. Returns false if + /// `GvrControllerInput` is uninitialized. + public static bool SupportsBatteryStatus { + get { + if (controllerProvider == null) { + return false; + } + return controllerProvider.SupportsBatteryStatus; + } + } + + /// Returns the dominant controller's current orientation in space, as a quaternion. + /// Returns `Quaternion.identity` if `GvrControllerInput` is uninitialized. + /// The rotation is provided in 'orientation space' which means the rotation is given relative + /// to the last time the user recentered their controllers. To make a game object in your scene + /// have the same orientation as the dominant controller, simply assign this quaternion to the + /// object's `transform.rotation`. To match the relative rotation, use `transform.localRotation` + /// instead. + [System.Obsolete("Replaced by GvrControllerInputDevice.Orientation.")] + public static Quaternion Orientation { + get { + if (instances.Length == 0) { + return Quaternion.identity; + } + return instances[0].Orientation; + } + } + + /// Returns the dominant controller's current angular speed in radians per second, using the right-hand + /// rule (positive means a right-hand rotation about the given axis), as measured by the + /// controller's gyroscope. Returns `Vector3.zero` if `GvrControllerInput` is uninitialized. + /// The controller's axes are: + /// - X points to the right, + /// - Y points perpendicularly up from the controller's top surface + /// - Z lies along the controller's body, pointing towards the front + [System.Obsolete("Replaced by GvrControllerInputDevice.Gyro.")] + public static Vector3 Gyro { + get { + if (instances.Length == 0) { + return Vector3.zero; + } + return instances[0].Gyro; + } + } + + /// Returns the dominant controller's current acceleration in meters per second squared. + /// Returns `Vector3.zero` if `GvrControllerInput` is uninitialized. + /// The controller's axes are: + /// - X points to the right, + /// - Y points perpendicularly up from the controller's top surface + /// - Z lies along the controller's body, pointing towards the front + /// Note that gravity is indistinguishable from acceleration, so when the controller is resting + /// on a surface, expect to measure an acceleration of 9.8 m/s^2 on the Y axis. The accelerometer + /// reading will be zero on all three axes only if the controller is in free fall, or if the user + /// is in a zero gravity environment like a space station. + [System.Obsolete("Replaced by GvrControllerInputDevice.Accel.")] + public static Vector3 Accel { + get { + if (instances.Length == 0) { + return Vector3.zero; + } + return instances[0].Accel; + } + } + + /// Returns true while the user is touching the dominant controller's touchpad. Returns + /// false if `GvrControllerInput` is uninitialized. + [System.Obsolete("Replaced by GvrControllerInputDevice.GetButton(GvrControllerButton.TouchPadTouch).")] + public static bool IsTouching { + get { + if (instances.Length == 0) { + return false; + } + return instances[0].GetButton(GvrControllerButton.TouchPadTouch); + } + } + + /// Returns true in the frame the user starts touching the dominant controller's touchpad. + /// Returns false if `GvrControllerInput` is uninitialized. + /// Every TouchDown event is guaranteed to be followed by exactly one TouchUp event in a + /// later frame. Also, TouchDown and TouchUp will never both be true in the same frame. + [System.Obsolete("Replaced by GvrControllerInputDevice.GetButtonDown(GvrControllerButton.TouchPadTouch).")] + public static bool TouchDown { + get { + if (instances.Length == 0) { + return false; + } + return instances[0].GetButtonDown(GvrControllerButton.TouchPadTouch); + } + } + + /// Returns true the frame after the user stops touching the dominant controller's touchpad. + /// Returns false if `GvrControllerInput` is uninitialized. + /// Every TouchUp event is guaranteed to be preceded by exactly one TouchDown event in an + /// earlier frame. Also, TouchDown and TouchUp will never both be true in the same frame. + [System.Obsolete("Replaced by GvrControllerInputDevice.GetButtonUp(GvrControllerButton.TouchPadTouch).")] + public static bool TouchUp { + get { + if (instances.Length == 0) { + return false; + } + return instances[0].GetButtonUp(GvrControllerButton.TouchPadTouch); + } + } + + /// Position of the dominant controller's current touch, if touching the touchpad. + /// Returns `Vector2(0.5f, 0.5f)` if `GvrControllerInput` is uninitialized. + /// If not touching, this is the position of the last touch (when the finger left the touchpad). + /// The X and Y range is from 0 to 1. + /// (0, 0) is the top left of the touchpad and (1, 1) is the bottom right of the touchpad. + [System.Obsolete("Obsolete. Migrate to the center-relative GvrControllerInputDevice.TouchPos.")] + public static Vector2 TouchPos { + get { + if (instances.Length == 0) { + return new Vector2(0.5f,0.5f); + } + Vector2 touchPos = instances[0].TouchPos; + touchPos.x = (touchPos.x / 2.0f) + 0.5f; + touchPos.y = (-touchPos.y / 2.0f) + 0.5f; + return touchPos; + } + } + + /// Position of the dominant controller's current touch, if touching the touchpad. + /// Returns `Vector2.zero` if `GvrControllerInput` is uninitialized. + /// If not touching, this is the position of the last touch (when the finger left the touchpad). + /// The X and Y range is from -1 to 1. (-.707,-.707) is bottom left, (.707,.707) is upper right. + /// (0, 0) is the center of the touchpad. + /// The magnitude of the touch vector is guaranteed to be <= 1. + [System.Obsolete("Replaced by GvrControllerInputDevice.TouchPos.")] + public static Vector2 TouchPosCentered { + get { + if (instances.Length == 0) { + return Vector2.zero; + } + return instances[0].TouchPos; + } + } + + [System.Obsolete("Use Recentered to detect when user has completed the recenter gesture.")] + public static bool Recentering { + get { + return false; + } + } + + /// Returns true if the user just completed the recenter gesture. Returns false if + /// `GvrControllerInput` is uninitialized. The headset and the dominant controller's + /// orientation are now being reported in the new recentered coordinate system. This + /// is an event flag (it is true for only one frame after the event happens, then + /// reverts to false). + public static bool Recentered { + get { + if (instances.Length == 0) { + return false; + } + return instances[0].Recentered; + } + } + + /// Returns true while the user holds down the dominant controller's touchpad button. + /// Returns false if `GvrControllerInput` is uninitialized. + [System.Obsolete("Replaced by GvrControllerInputDevice.GetButton(GvrControllerButton.TouchPadButton).")] + public static bool ClickButton { + get { + if (instances.Length == 0) { + return false; + } + return instances[0].GetButton(GvrControllerButton.TouchPadButton); + } + } + + /// Returns true in the frame the user starts pressing down the dominant controller's + /// touchpad button. Returns false if `GvrControllerInput` is uninitialized. Every + /// ClickButtonDown event is guaranteed to be followed by exactly one ClickButtonUp + /// event in a later frame. Also, ClickButtonDown and ClickButtonUp will never both be + /// true in the same frame. + [System.Obsolete("Replaced by GvrControllerInputDevice.GetButtonDown(GvrControllerButton.TouchPadButton).")] + public static bool ClickButtonDown { + get { + if (instances.Length == 0) { + return false; + } + return instances[0].GetButtonDown(GvrControllerButton.TouchPadButton); + } + } + + /// Returns true the frame after the user stops pressing down the dominant controller's + /// touchpad button. Returns false if `GvrControllerInput` is uninitialized. Every + /// ClickButtonUp event is guaranteed to be preceded by exactly one ClickButtonDown + /// event in an earlier frame. Also, ClickButtonDown and ClickButtonUp will never both + /// be true in the same frame. + [System.Obsolete("Replaced by GvrControllerInputDevice.GetButtonUp(GvrControllerButton.TouchPadButton).")] + public static bool ClickButtonUp { + get { + if (instances.Length == 0) { + return false; + } + return instances[0].GetButtonUp(GvrControllerButton.TouchPadButton); + } + } + + /// Returns true while the user holds down the dominant controller's app button. Returns + /// false if `GvrControllerInput` is uninitialized. + [System.Obsolete("Replaced by GvrControllerInputDevice.GetButton(GvrControllerButton.App).")] + public static bool AppButton { + get { + if (instances.Length == 0) { + return false; + } + return instances[0].GetButton(GvrControllerButton.App); + } + } + + /// Returns true in the frame the user starts pressing down the dominant controller's app button. + /// Returns false if `GvrControllerInput` is uninitialized. Every AppButtonDown event is + /// guaranteed to be followed by exactly one AppButtonUp event in a later frame. + /// Also, AppButtonDown and AppButtonUp will never both be true in the same frame. + [System.Obsolete("Replaced by GvrControllerInputDevice.GetButtonDown(GvrControllerButton.App).")] + public static bool AppButtonDown { + get { + if (instances.Length == 0) { + return false; + } + return instances[0].GetButtonDown(GvrControllerButton.App); + } + } + + /// Returns true the frame after the user stops pressing down the dominant controller's app button. + /// Returns false if `GvrControllerInput` is uninitialized. Every AppButtonUp event is guaranteed + /// to be preceded by exactly one AppButtonDown event in an earlier frame. Also, AppButtonDown + /// and AppButtonUp will never both be true in the same frame. + [System.Obsolete("Replaced by GvrControllerInputDevice.GetButtonUp(GvrControllerButton.App).")] + public static bool AppButtonUp { + get { + if (instances.Length == 0) { + return false; + } + return instances[0].GetButtonUp(GvrControllerButton.App); + } + } + + /// Returns true in the frame the user starts pressing down the dominant controller's system button. + /// Returns false if `GvrControllerInput` is uninitialized. + [System.Obsolete("Replaced by GvrControllerInputDevice.GetButtonDown(GvrControllerButton.System).")] + public static bool HomeButtonDown { + get { + if (instances.Length == 0) { + return false; + } + return instances[0].GetButtonDown(GvrControllerButton.System); + } + } + + /// Returns true while the user holds down the dominant controller's system button. + /// Returns false if `GvrControllerInput` is uninitialized. + [System.Obsolete("Replaced by GvrControllerInputDevice.GetButton(GvrControllerButton.System).")] + public static bool HomeButtonState { + get { + if (instances.Length == 0) { + return false; + } + return instances[0].GetButton(GvrControllerButton.System); + } + } + + /// If the dominant controller's state == GvrConnectionState.Error, this contains details about + /// the error. If `GvrControllerInput` is uninitialized this returns an error string describing + /// the uninitialized state. + [System.Obsolete("Replaced by GvrControllerInputDevice.ErrorDetails.")] + public static string ErrorDetails { + get { + if (instances.Length > 0) { + return instances[0].ErrorDetails; + } else { + return "No GvrControllerInput initialized instance found in scene. It may be missing, or it might " + + "not have initialized yet."; + } + } + } + + /// Returns the GVR C library controller state pointer (gvr_controller_state*) for the dominant + /// controller. Returns `IntPtr.Zero` if `GvrControllerInput` is uninitialized. + [System.Obsolete("Replaced by GvrControllerInputDevice.StatePtr.")] + public static IntPtr StatePtr { + get { + if (instances.Length == 0) { + return IntPtr.Zero; + } + return instances[0].StatePtr; + } + } + + /// Returns true if the dominant controller is currently being charged. Returns false if + /// `GvrControllerInput` is uninitialized. + [System.Obsolete("Replaced by GvrControllerInputDevice.IsCharging.")] + public static bool IsCharging { + get { + if (instances.Length == 0) { + return false; + } + return instances[0].IsCharging; + } + } + + /// Returns the dominant controller's current battery charge level. Returns + /// `GvrControllerBatteryLevel.Error` if `GvrControllerInput` is uninitialized. + [System.Obsolete("Replaced by GvrControllerInputDevice.BatteryLevel.")] + public static GvrControllerBatteryLevel BatteryLevel { + get { + if (instances.Length == 0) { + return GvrControllerBatteryLevel.Error; + } + return instances[0].BatteryLevel; + } + } + + void Awake() { + if (instances.Length > 0) { + Debug.LogError("More than one active GvrControllerInput instance was found in your scene. " + + "Ensure that there is only one GvrControllerInput."); + this.enabled = false; + return; + } + if (controllerProvider == null) { + controllerProvider = ControllerProviderFactory.CreateControllerProvider(this); + } + + handedness = GvrSettings.Handedness; + int controllerCount = 2; + instances = new GvrControllerInputDevice[controllerCount]; + for (int i=0; i 1) { + touchPosCentered.x /= magnitude; + touchPosCentered.y /= magnitude; + } + } +} diff --git a/Assets/GoogleVR/Scripts/Controller/GvrControllerInputDevice.cs.meta b/Assets/GoogleVR/Scripts/Controller/GvrControllerInputDevice.cs.meta new file mode 100644 index 0000000..090e31b --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrControllerInputDevice.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7b912427c85634a3fa13020a8d93c38a +timeCreated: 1519780588 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/GvrControllerReticleVisual.cs b/Assets/GoogleVR/Scripts/Controller/GvrControllerReticleVisual.cs new file mode 100644 index 0000000..d0aa16b --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrControllerReticleVisual.cs @@ -0,0 +1,163 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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 UnityEngine; +using UnityEngine.Assertions; + +/// Visualizes a reticle using a Quad. +/// Provides tuning options to control how the reticle scales and rotates based +/// on distance from the camera. +[RequireComponent(typeof(MeshRenderer))] +[RequireComponent(typeof(MeshFilter))] +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrControllerReticleVisual")] +public class GvrControllerReticleVisual : MonoBehaviour { + [Serializable] + public struct FaceCameraData { + public bool alongXAxis; + public bool alongYAxis; + public bool alongZAxis; + + public bool IsAnyAxisOff { + get { + return !alongXAxis || !alongYAxis || !alongZAxis; + } + } + + public FaceCameraData(bool startEnabled) { + alongXAxis = startEnabled; + alongYAxis = startEnabled; + alongZAxis = startEnabled; + } + } + + /// If set to false, the scale is simply set to the sizeMeters value. + [Tooltip("Determines if the size of the reticle is based on the distance from the camera.")] + public bool isSizeBasedOnCameraDistance = true; + + /// The reticle will be scaled based on the size of the mesh so that it's size matches this size. + [Tooltip("Final size of the reticle in meters when it is 1 meter from the camera.")] + public float sizeMeters = 0.1f; + + [Tooltip("Determines if the reticle will always face the camera and along what axes.")] + public FaceCameraData doesReticleFaceCamera = new FaceCameraData(true); + + /// Sorting order to use for the reticle's renderer. + /// Range values come from https://docs.unity3d.com/ScriptReference/Renderer-sortingOrder.html. + [Range(-32767, 32767)] + public int sortingOrder = 0; + + /// The size of the reticle's mesh in meters. + public float ReticleMeshSizeMeters { get; private set; } + + /// The ratio of the reticleMeshSizeMeters to 1 meter. + /// If reticleMeshSizeMeters is 10, then reticleMeshSizeRatio is 0.1. + public float ReticleMeshSizeRatio { get; private set; } + + protected MeshRenderer meshRenderer; + protected MeshFilter meshFilter; + + private Vector3 preRenderLocalScale; + private Quaternion preRenderLocalRotation; + + public void RefreshMesh() { + ReticleMeshSizeMeters = 1.0f; + ReticleMeshSizeRatio = 1.0f; + + if (meshFilter != null && meshFilter.mesh != null) { + ReticleMeshSizeMeters = meshFilter.mesh.bounds.size.x; + if (ReticleMeshSizeMeters != 0.0f) { + ReticleMeshSizeRatio = 1.0f / ReticleMeshSizeMeters; + } + } + + if (meshRenderer != null) { + meshRenderer.sortingOrder = sortingOrder; + } + } + + protected virtual void Awake() { + meshRenderer = GetComponent(); + meshFilter = GetComponent(); + } + + protected virtual void OnEnable() { + RefreshMesh(); + } + + protected virtual void OnWillRenderObject() { + preRenderLocalScale = transform.localScale; + preRenderLocalRotation = transform.localRotation; + + Camera camera = Camera.current; + UpdateReticleSize(camera); + UpdateReticleOrientation(camera); + } + + protected virtual void OnRenderObject() { + // It is possible for paired calls to OnWillRenderObject/OnRenderObject to be nested if + // Camera.Render is explicitly called for any special effects. To avoid the reticle being + // rotated/scaled incorrectly in that case, the reticle is reset to it's pre-OnWillRenderObject + // after a render has finished. + transform.localScale = preRenderLocalScale; + transform.localRotation = preRenderLocalRotation; + } + + protected virtual void UpdateReticleSize(Camera camera) { + if (camera == null) { + return; + } + + float scale = sizeMeters; + + if (isSizeBasedOnCameraDistance) { + float reticleDistanceFromCamera = (transform.position - camera.transform.position).magnitude; + scale *= ReticleMeshSizeRatio * reticleDistanceFromCamera; + } + + transform.localScale = new Vector3(scale, scale, scale); + } + + protected virtual void UpdateReticleOrientation(Camera camera) { + if (camera == null) { + return; + } + + Vector3 direction = transform.position - camera.transform.position; + transform.rotation = Quaternion.LookRotation(direction, Vector3.up); + + if (doesReticleFaceCamera.IsAnyAxisOff) { + Vector3 euler = transform.localEulerAngles; + if (!doesReticleFaceCamera.alongXAxis) { + euler.x = 0.0f; + } + + if (!doesReticleFaceCamera.alongYAxis) { + euler.y = 0.0f; + } + + if (!doesReticleFaceCamera.alongZAxis) { + euler.z = 0.0f; + } + + transform.localEulerAngles = euler; + } + } + + protected virtual void OnValidate() { + if (Application.isPlaying && isActiveAndEnabled) { + RefreshMesh(); + } + } +} diff --git a/Assets/GoogleVR/Scripts/Controller/GvrControllerReticleVisual.cs.meta b/Assets/GoogleVR/Scripts/Controller/GvrControllerReticleVisual.cs.meta new file mode 100644 index 0000000..06bdd4f --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrControllerReticleVisual.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b5cd7f7fcfc8a4c1fbc201ccc579556d +timeCreated: 1495649159 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/GvrControllerVisual.cs b/Assets/GoogleVR/Scripts/Controller/GvrControllerVisual.cs new file mode 100644 index 0000000..a10eb95 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrControllerVisual.cs @@ -0,0 +1,347 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// The controller is not available for versions of Unity without the +// GVR native integration. + +using UnityEngine; +using System.Collections; + +/// Provides visual feedback for the daydream controller. +[RequireComponent(typeof(Renderer))] +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrControllerVisual")] +public class GvrControllerVisual : MonoBehaviour, IGvrArmModelReceiver, IGvrControllerInputDeviceReceiver { + [System.Serializable] + public struct ControllerDisplayState { + + public GvrControllerBatteryLevel batteryLevel; + public bool batteryCharging; + + public bool clickButton; + public bool appButton; + public bool homeButton; + public bool touching; + public Vector2 touchPos; + } + + /// An array of prefabs that will be instantiated and added as children + /// of the controller visual when the controller is created. Used to + /// attach tooltips or other additional visual elements to the control dynamically. + [SerializeField] + private GameObject[] attachmentPrefabs; + [SerializeField] private Color touchPadColor = + new Color(200f / 255f, 200f / 255f, 200f / 255f, 1); + [SerializeField] private Color appButtonColor = + new Color(200f / 255f, 200f / 255f, 200f / 255f, 1); + [SerializeField] private Color systemButtonColor = + new Color(20f / 255f, 20f / 255f, 20f / 255f, 1); + + /// Determines if the displayState is set from GvrControllerInputDevice. + [Tooltip("Determines if the displayState is set from GvrControllerInputDevice.")] + public bool readControllerState = true; + + /// Used to set the display state of the controller visual. + /// This can be used for tutorials that visualize the controller or other use-cases that require + /// displaying the controller visual without the state being determined by controller input. + /// Additionally, it can be used to preview the controller visual in the editor. + /// NOTE: readControllerState must be disabled to set the display state. + public ControllerDisplayState displayState; + + /// This is the preferred, maximum alpha value the object should have + /// when it is a comfortable distance from the head. + [Range(0.0f, 1.0f)] + public float maximumAlpha = 1.0f; + + public GvrBaseArmModel ArmModel { get; set; } + + public GvrControllerInputDevice ControllerInputDevice { get; set; } + + public float PreferredAlpha{ + get{ + return ArmModel != null ? maximumAlpha * ArmModel.PreferredAlpha : maximumAlpha; + } + } + + public Color TouchPadColor { + get { + return touchPadColor; + } + set { + touchPadColor = value; + if(materialPropertyBlock != null) { + materialPropertyBlock.SetColor(touchPadId, touchPadColor); + } + } + } + + public Color AppButtonColor { + get { + return appButtonColor; + } + set { + appButtonColor = value; + if(materialPropertyBlock != null){ + materialPropertyBlock.SetColor(appButtonId, appButtonColor); + } + } + } + + public Color SystemButtonColor { + get { + return systemButtonColor; + } + set { + systemButtonColor = value; + if(materialPropertyBlock != null) { + materialPropertyBlock.SetColor(systemButtonId, systemButtonColor); + } + } + } + + private Renderer controllerRenderer; + private MaterialPropertyBlock materialPropertyBlock; + + private int alphaId; + private int touchId; + private int touchPadId; + private int appButtonId; + private int systemButtonId; + private int batteryColorId; + + private bool wasTouching; + private float touchTime; + + // Data passed to shader, (xy) touch position, (z) touch duration, (w) battery state. + private Vector4 controllerShaderData; + // Data passed to shader, (x) overall alpha, (y) touchpad click duration, + // (z) app button click duration, (w) system button click duration. + private Vector4 controllerShaderData2; + private Color currentBatteryColor; + + // These values control animation times for the controller buttons + public const float APP_BUTTON_ACTIVE_DURATION_SECONDS = 0.111f; + public const float APP_BUTTON_RELEASE_DURATION_SECONDS = 0.0909f; + + public const float SYSTEM_BUTTON_ACTIVE_DURATION_SECONDS = 0.111f; + public const float SYSTEM_BUTTON_RELEASE_DURATION_SECONDS = 0.0909f; + + public const float TOUCHPAD_CLICK_DURATION_SECONDS = 0.111f; + public const float TOUCHPAD_RELEASE_DURATION_SECONDS = 0.0909f; + + public const float TOUCHPAD_CLICK_SCALE_DURATION_SECONDS = 0.075f; + public const float TOUCHPAD_POINT_SCALE_DURATION_SECONDS = 0.15f; + + // These values are used by the shader to control battery display + // Only modify these values if you are also modifying the shader. + private const float BATTERY_FULL = 0; + private const float BATTERY_ALMOST_FULL = .125f; + private const float BATTERY_MEDIUM = .225f; + private const float BATTERY_LOW = .325f; + private const float BATTERY_CRITICAL = .425f; + private const float BATTERY_HIDDEN = .525f; + + private readonly Color GVR_BATTERY_CRITICAL_COLOR = new Color(1,0,0,1); + private readonly Color GVR_BATTERY_LOW_COLOR = new Color(1,0.6823f,0,1); + private readonly Color GVR_BATTERY_MED_COLOR = new Color(0,1,0.588f,1); + private readonly Color GVR_BATTERY_FULL_COLOR = new Color(0,1,0.588f,1); + + // How much time to use as an 'immediate update'. + // Any value large enough to instantly update all visual animations. + private const float IMMEDIATE_UPDATE_TIME = 10f; + + void Awake() { + Initialize(); + CreateAttachments(); + } + + void OnEnable() { + GvrControllerInput.OnPostControllerInputUpdated += OnPostControllerInputUpdated; + } + + void OnDisable() { + GvrControllerInput.OnPostControllerInputUpdated -= OnPostControllerInputUpdated; + } + + void OnValidate() { + if (!Application.isPlaying) { + Initialize(); + OnVisualUpdate(true); + } + } + + private void OnPostControllerInputUpdated() { + OnVisualUpdate(); + } + + private void CreateAttachments() { + if (attachmentPrefabs == null) { + return; + } + + for (int i = 0; i < attachmentPrefabs.Length; i++) { + GameObject prefab = attachmentPrefabs[i]; + GameObject attachment = Instantiate(prefab); + attachment.transform.SetParent(transform, false); + } + } + + private void Initialize() { + if(controllerRenderer == null) { + controllerRenderer = GetComponent(); + } + if(materialPropertyBlock == null) { + materialPropertyBlock = new MaterialPropertyBlock(); + } + + alphaId = Shader.PropertyToID("_GvrControllerAlpha"); + touchId = Shader.PropertyToID("_GvrTouchInfo"); + touchPadId = Shader.PropertyToID("_GvrTouchPadColor"); + appButtonId = Shader.PropertyToID("_GvrAppButtonColor"); + systemButtonId = Shader.PropertyToID("_GvrSystemButtonColor"); + batteryColorId = Shader.PropertyToID("_GvrBatteryColor"); + + materialPropertyBlock.SetColor(appButtonId, appButtonColor); + materialPropertyBlock.SetColor(systemButtonId, systemButtonColor); + materialPropertyBlock.SetColor(touchPadId, touchPadColor); + controllerRenderer.SetPropertyBlock(materialPropertyBlock); + } + + private void UpdateControllerState() { + // Return early when the application isn't playing to ensure that the serialized displayState + // is used to preview the controller visual instead of the default GvrControllerInputDevice + // values. +#if UNITY_EDITOR + if (!Application.isPlaying) { + return; + } +#endif + + if(ControllerInputDevice != null) { + displayState.batteryLevel = ControllerInputDevice.BatteryLevel; + displayState.batteryCharging = ControllerInputDevice.IsCharging; + + displayState.clickButton = ControllerInputDevice.GetButton(GvrControllerButton.TouchPadButton); + displayState.appButton = ControllerInputDevice.GetButton(GvrControllerButton.App); + displayState.homeButton = ControllerInputDevice.GetButton(GvrControllerButton.System); + displayState.touching = ControllerInputDevice.GetButton(GvrControllerButton.TouchPadTouch); + displayState.touchPos = ControllerInputDevice.TouchPos; + } + } + + private void OnVisualUpdate(bool updateImmediately = false) { + + // Update the visual display based on the controller state + if(readControllerState) { + UpdateControllerState(); + } + + float deltaTime = Time.deltaTime; + + // If flagged to update immediately, set deltaTime to an arbitrarily large value + // This is particularly useful in editor, but also for resetting state quickly + if(updateImmediately) { + deltaTime = IMMEDIATE_UPDATE_TIME; + } + + if (displayState.clickButton) { + controllerShaderData2.y = Mathf.Min(1, controllerShaderData2.y + deltaTime / TOUCHPAD_CLICK_DURATION_SECONDS); + } else{ + controllerShaderData2.y = Mathf.Max(0, controllerShaderData2.y - deltaTime / TOUCHPAD_RELEASE_DURATION_SECONDS); + } + + if (displayState.appButton) { + controllerShaderData2.z = Mathf.Min(1, controllerShaderData2.z + deltaTime / APP_BUTTON_ACTIVE_DURATION_SECONDS); + } else{ + controllerShaderData2.z = Mathf.Max(0, controllerShaderData2.z - deltaTime / APP_BUTTON_RELEASE_DURATION_SECONDS); + } + + if (displayState.homeButton) { + controllerShaderData2.w = Mathf.Min(1, controllerShaderData2.w + deltaTime / SYSTEM_BUTTON_ACTIVE_DURATION_SECONDS); + } else { + controllerShaderData2.w = Mathf.Max(0, controllerShaderData2.w - deltaTime / SYSTEM_BUTTON_RELEASE_DURATION_SECONDS); + } + + // Set the material's alpha to the multiplied preferred alpha. + controllerShaderData2.x = PreferredAlpha; + materialPropertyBlock.SetVector(alphaId, controllerShaderData2); + + controllerShaderData.x = displayState.touchPos.x; + controllerShaderData.y = displayState.touchPos.y; + + if (displayState.touching || displayState.clickButton) { + if (!wasTouching) { + wasTouching = true; + } + if(touchTime < 1) { + touchTime = Mathf.Min(touchTime + deltaTime / TOUCHPAD_POINT_SCALE_DURATION_SECONDS, 1); + } + } else { + wasTouching = false; + if(touchTime > 0) { + touchTime = Mathf.Max(touchTime - deltaTime / TOUCHPAD_POINT_SCALE_DURATION_SECONDS, 0); + } + } + + controllerShaderData.z = touchTime; + + UpdateBatteryIndicator(); + + materialPropertyBlock.SetVector(touchId, controllerShaderData); + materialPropertyBlock.SetColor(batteryColorId, currentBatteryColor); + // Update the renderer + controllerRenderer.SetPropertyBlock(materialPropertyBlock); + } + + private void UpdateBatteryIndicator() { + + GvrControllerBatteryLevel level = displayState.batteryLevel; + bool charging = displayState.batteryCharging; + + switch (level) { + case GvrControllerBatteryLevel.Full: + controllerShaderData.w = BATTERY_FULL; + currentBatteryColor = GVR_BATTERY_FULL_COLOR; + break; + case GvrControllerBatteryLevel.AlmostFull: + controllerShaderData.w = BATTERY_ALMOST_FULL; + currentBatteryColor = GVR_BATTERY_FULL_COLOR; + break; + case GvrControllerBatteryLevel.Medium: + controllerShaderData.w = BATTERY_MEDIUM; + currentBatteryColor = GVR_BATTERY_MED_COLOR; + break; + case GvrControllerBatteryLevel.Low: + controllerShaderData.w = BATTERY_LOW; + currentBatteryColor = GVR_BATTERY_LOW_COLOR; + break; + case GvrControllerBatteryLevel.CriticalLow: + controllerShaderData.w = BATTERY_CRITICAL; + currentBatteryColor = GVR_BATTERY_CRITICAL_COLOR; + break; + default: + controllerShaderData.w = BATTERY_HIDDEN; + currentBatteryColor.a = 0; + break; + } + + if (charging) { + controllerShaderData.w = -controllerShaderData.w; + currentBatteryColor = GVR_BATTERY_FULL_COLOR; + } + } + + public void SetControllerTexture(Texture newTexture) { + controllerRenderer.material.mainTexture = newTexture; + } +} diff --git a/Assets/GoogleVR/Scripts/Controller/GvrControllerVisual.cs.meta b/Assets/GoogleVR/Scripts/Controller/GvrControllerVisual.cs.meta new file mode 100644 index 0000000..e4fcfa8 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrControllerVisual.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aa952cbcc0eb13d4ca558b6da550ff55 +timeCreated: 1472074640 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/GvrLaserPointer.cs b/Assets/GoogleVR/Scripts/Controller/GvrLaserPointer.cs new file mode 100644 index 0000000..29b7b2a --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrLaserPointer.cs @@ -0,0 +1,123 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// The controller is not available for versions of Unity without the +// GVR native integration. + +using UnityEngine; +using UnityEngine.EventSystems; + +/// Implementation of GvrBasePointer for a laser pointer visual. +/// This script should be attached to the controller object. +/// The laser visual is important to help users locate their cursor +/// when its not directly in their field of view. +[RequireComponent(typeof(GvrLaserVisual))] +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrLaserPointer")] +public class GvrLaserPointer : GvrBasePointer { + [Tooltip("Distance from the pointer that raycast hits will be detected.")] + public float maxPointerDistance = 20.0f; + + [Tooltip("Distance from the pointer that the reticle will be drawn at when hitting nothing.")] + public float defaultReticleDistance = 20.0f; + + [Tooltip("By default, the length of the laser is used as the CameraRayIntersectionDistance. " + + "Set this field to a non-zero value to override it.")] + public float overrideCameraRayIntersectionDistance; + + /// The percentage of the reticle mesh that shows the reticle. + /// The rest of the reticle mesh is transparent. + private const float RETICLE_VISUAL_RATIO = 0.1f; + + public GvrLaserVisual LaserVisual { get; private set; } + + private bool isHittingTarget; + + public override float MaxPointerDistance { + get { + return maxPointerDistance; + } + } + + public override float CameraRayIntersectionDistance { + get { + if (overrideCameraRayIntersectionDistance != 0.0f) { + return overrideCameraRayIntersectionDistance; + } + + return LaserVisual != null ? + LaserVisual.maxLaserDistance : overrideCameraRayIntersectionDistance; + } + } + + public override void OnPointerEnter(RaycastResult raycastResult, bool isInteractive) { + LaserVisual.SetDistance(raycastResult.distance); + isHittingTarget = true; + } + + public override void OnPointerHover(RaycastResult raycastResult, bool isInteractive) { + LaserVisual.SetDistance(raycastResult.distance); + isHittingTarget = true; + } + + public override void OnPointerExit(GameObject previousObject) { + // Don't set the distance immediately. + // If we exit/enter an object on the same frame, then SetDistance + // will be called twice which could cause an issue with lerping the reticle. + // If we don't re-enter a new object, the distance will be set in Update. + isHittingTarget = false; + } + + public override void OnPointerClickDown() { + } + + public override void OnPointerClickUp() { + } + + public override void GetPointerRadius(out float enterRadius, out float exitRadius) { + if (LaserVisual.reticle != null) { + float reticleScale = LaserVisual.reticle.transform.localScale.x; + + // Fixed size for enter radius to avoid flickering. + // This will cause some slight variability based on the distance of the object + // from the camera, and is optimized for the average case. + enterRadius = LaserVisual.reticle.sizeMeters * 0.5f * RETICLE_VISUAL_RATIO; + + // Dynamic size for exit radius. + // Always correct because we know the intersection point of the object and can + // therefore use the correct radius based on the object's distance from the camera. + exitRadius = reticleScale * LaserVisual.reticle.ReticleMeshSizeMeters * RETICLE_VISUAL_RATIO; + } else { + enterRadius = 0.0f; + exitRadius = 0.0f; + } + } + + void Awake() { + LaserVisual = GetComponent(); + } + + protected override void Start() { + base.Start(); + LaserVisual.GetPointForDistanceFunction = GetPointAlongPointer; + LaserVisual.SetDistance(defaultReticleDistance, true); + } + + void Update() { + if (isHittingTarget) { + return; + } + + LaserVisual.SetDistance(defaultReticleDistance); + } +} diff --git a/Assets/GoogleVR/Scripts/Controller/GvrLaserPointer.cs.meta b/Assets/GoogleVR/Scripts/Controller/GvrLaserPointer.cs.meta new file mode 100644 index 0000000..04ead5b --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrLaserPointer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 51b65678ccdd949e9a58874d2880c0ef +timeCreated: 1472486489 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/GvrLaserVisual.cs b/Assets/GoogleVR/Scripts/Controller/GvrLaserVisual.cs new file mode 100644 index 0000000..bb10d19 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrLaserVisual.cs @@ -0,0 +1,240 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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 UnityEngine; +using UnityEngine.Assertions; + +/// Visualizes a laser and a reticle using a LineRenderer and a Quad. +/// Provides functions for settings the end point of the laser, +/// and clamps the laser and reticle based on max distances. +[RequireComponent(typeof(LineRenderer))] +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrLaserVisual")] +public class GvrLaserVisual : MonoBehaviour, IGvrArmModelReceiver { + /// Used to position the reticle at the current position. + [Tooltip("Used to position the reticle at the current position.")] + public GvrControllerReticleVisual reticle; + + /// The end point of the visual will not necessarily be along the forward direction of the laser. + /// This is particularly true in both Camera and Hybrid Raycast Modes. In that case, both the + /// laser and the controller are rotated to face the end point. This reference is used to control + /// the rotation of the controller. + [Tooltip("Used to rotate the controller to face the current position.")] + public Transform controller; + + /// Color of the laser pointer including alpha transparency. + [Tooltip("Start color of the laser pointer including alpha transparency.")] + public Color laserColor = new Color(1.0f, 1.0f, 1.0f, 0.25f); + + /// Color of the laser pointer including alpha transparency. + [Tooltip("End color of the laser pointer including alpha transparency.")] + public Color laserColorEnd = new Color(1.0f, 1.0f, 1.0f, 0.0f); + + /// Maximum distance of the laser (meters). + [Tooltip("Maximum distance of the laser (meters).")] + [Range(0.0f, 20.0f)] + public float maxLaserDistance = 1.0f; + + /// The rate that the current position moves towards the target position. + [Tooltip("The rate that the current position moves towards the target position.")] + public float lerpSpeed = 20.0f; + + /// If the targetPosition is greater than this threshold, then + /// the position changes immediately instead of lerping. + [Tooltip("If the target position is greater than this threshold, then the position changes " + + "immediately instead of lerping.")] + public float lerpThreshold = 1.0f; + + /// This is primarily used for Hybrid Raycast mode (details in _GvrBasePointer_) to prevent + /// mismatches between the laser and the reticle when the "camera" component of the ray is used. + [Tooltip("Determines if the laser will shrink when it isn't facing in the forward direction " + + "of the transform.")] + public bool shrinkLaser = true; + + /// Amount to shrink the laser when it is fully shrunk. + [Range(0.0f, 1.0f)] + [Tooltip("Amount to shrink the laser when it is fully shrunk.")] + public float shrunkScale = 0.2f; + + /// Begin shrinking the laser when the angle between transform.forward and the reticle + /// is greater than this value. + [Range(0.0f, 15.0f)] + [Tooltip("Begin shrinking the laser when the angle between transform.forward and the reticle " + + "is greater than this value.")] + public float beginShrinkAngleDegrees = 0.0f; + + /// Finish shrinking the laser when the angle between transform.forward and the reticle is + /// greater than this value. + [Range(0.0f, 15.0f)] + [Tooltip("Finish shrinking the laser when the angle between transform.forward and the reticle " + + "is greater than this value.")] + public float endShrinkAngleDegrees = 2.0f; + + private const float LERP_CLAMP_THRESHOLD = 0.02f; + + public GvrBaseArmModel ArmModel { get; set; } + + /// Reference to the laser's line renderer. + public LineRenderer Laser { get; private set; } + + /// Optional delegate for customizing how the currentPosition is calculated based on the distance. + /// If not set, the currentPosition is determined based on the distance multiplied by the forward + /// direction of the transform added to the position of the transform. + public delegate Vector3 GetPointForDistanceDelegate(float distance); + + public GetPointForDistanceDelegate GetPointForDistanceFunction { get; set; } + + protected float shrinkRatio; + protected float targetDistance; + protected float currentDistance; + protected Vector3 currentPosition; + protected Vector3 currentLocalPosition; + protected Quaternion currentLocalRotation; + + /// Set the distance of the laser. + /// Clamps the distance of the laser and reticle. + /// + /// **distance** target distance from the pointer to draw the visual at. + /// **immediate** If true, the distance is changed immediately. Otherwise, it will lerp. + public virtual void SetDistance(float distance, bool immediate = false) { + targetDistance = distance; + if (immediate) { + currentDistance = targetDistance; + } + + if (targetDistance > lerpThreshold) { + currentDistance = targetDistance; + } + } + + public float CurrentDistance { + get { return currentDistance; } + } + + protected virtual void Awake() { + Laser = GetComponent(); + } + + protected virtual void LateUpdate() { + UpdateCurrentPosition(); + UpdateControllerOrientation(); + UpdateReticlePosition(); + UpdateLaserEndPoint(); + UpdateLaserAlpha(); + } + + protected virtual void UpdateCurrentPosition() { + if (currentDistance != targetDistance) { + float speed = GetSpeed(); + currentDistance = Mathf.Lerp(currentDistance, targetDistance, speed); + float diff = Mathf.Abs(targetDistance - currentDistance); + if (diff < LERP_CLAMP_THRESHOLD) { + currentDistance = targetDistance; + } + } + + if (GetPointForDistanceFunction != null) { + currentPosition = GetPointForDistanceFunction(currentDistance); + } else { + Vector3 origin = transform.position; + currentPosition = origin + (transform.forward * currentDistance); + } + + currentLocalPosition = transform.InverseTransformPoint(currentPosition); + currentLocalRotation = Quaternion.FromToRotation(Vector3.forward, currentLocalPosition); + } + + protected virtual void UpdateControllerOrientation() { + if (controller == null) { + return; + } + + controller.localRotation = currentLocalRotation; + } + + protected virtual void UpdateReticlePosition() { + if (reticle == null) { + return; + } + + reticle.transform.position = currentPosition; + } + + protected virtual void UpdateLaserEndPoint() { + if (Laser == null) { + return; + } + + Vector3 laserStartPoint = Vector3.zero; + Vector3 laserEndPoint; + + if (controller != null) { + Vector3 worldPosition = transform.position; + Vector3 rotatedPosition = controller.InverseTransformPoint(worldPosition); + rotatedPosition = currentLocalRotation * rotatedPosition; + laserStartPoint = controller.TransformPoint(rotatedPosition); + laserStartPoint = transform.InverseTransformPoint(laserStartPoint); + } + + laserEndPoint = Vector3.ClampMagnitude(currentLocalPosition, maxLaserDistance); + + if (shrinkLaser) { + // Calculate the angle of rotation in degrees. + float angle = Vector3.Angle(Vector3.forward, currentLocalPosition); + + // Calculate the shrink ratio based on the angle. + float shrinkAngleDelta = endShrinkAngleDegrees - beginShrinkAngleDegrees; + float clampedAngle = Mathf.Clamp(angle - beginShrinkAngleDegrees, 0.0f, shrinkAngleDelta); + shrinkRatio = clampedAngle / shrinkAngleDelta; + + // Calculate the shrink coeff. + float shrinkCoeff = GvrMathHelpers.EaseOutCubic(shrunkScale, 1.0f, 1.0f - shrinkRatio); + + // Calculate the final distance of the laser. + Vector3 diff = laserStartPoint - currentLocalPosition; + Vector3 dir = diff.normalized; + float dist = Mathf.Min(diff.magnitude, maxLaserDistance) * shrinkCoeff; + + // Update the laser start and end points. + laserEndPoint = currentLocalPosition; + laserStartPoint = laserEndPoint + (dir * dist); + } + + Laser.useWorldSpace = false; + Laser.SetPosition(0, laserStartPoint); + Laser.SetPosition(1, laserEndPoint); + } + + protected virtual void UpdateLaserAlpha() { + float alpha = ArmModel != null ? ArmModel.PreferredAlpha : 1.0f; + + Color finalStartColor = Color.Lerp(Color.clear, laserColor, alpha); + Color finalEndColor = laserColorEnd; + + // If shrinking the laser, the colors are inversed based on the shrink ratio. + // This is to ensure that the feathering of the laser goes in the right direction. + if (shrinkLaser) { + float colorRatio = GvrMathHelpers.EaseOutCubic(0.0f, 1.0f, shrinkRatio); + finalEndColor = Color.Lerp(finalEndColor, finalStartColor, colorRatio); + finalStartColor = Color.Lerp(finalStartColor, laserColorEnd, colorRatio); + } + + Laser.startColor = finalStartColor; + Laser.endColor = finalEndColor; + } + + protected virtual float GetSpeed() { + return lerpSpeed > 0.0f ? lerpSpeed * Time.unscaledDeltaTime : 1.0f; + } +} diff --git a/Assets/GoogleVR/Scripts/Controller/GvrLaserVisual.cs.meta b/Assets/GoogleVR/Scripts/Controller/GvrLaserVisual.cs.meta new file mode 100644 index 0000000..1af51f2 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrLaserVisual.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f4ee199cdc1304b2090f019e4f488674 +timeCreated: 1495649159 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/GvrRecenterOnlyController.cs b/Assets/GoogleVR/Scripts/Controller/GvrRecenterOnlyController.cs new file mode 100644 index 0000000..bae6057 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrRecenterOnlyController.cs @@ -0,0 +1,98 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +#if UNITY_2017_2_OR_NEWER +using UnityEngine.XR; +#else +using XRSettings = UnityEngine.VR.VRSettings; +#endif // UNITY_2017_2_OR_NEWER + +/// Used to recenter only the controllers, required for scenes that have no clear forward direction. +/// Details: https://developers.google.com/vr/distribute/daydream/design-requirements#UX-D6 +/// +/// Works by offsetting the orientation of the transform when a recenter occurs to correct for the +/// orientation change caused by the recenter event. +/// +/// Usage: Place on the parent of the camera that should have it's orientation corrected. +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrRecenterOnlyController")] +public class GvrRecenterOnlyController : MonoBehaviour { + private Quaternion lastAppliedYawCorrection = Quaternion.identity; + private Quaternion yawCorrection = Quaternion.identity; + + void Update() { + bool connected = false; + foreach (var hand in Gvr.Internal.ControllerUtils.AllHands) { + GvrControllerInputDevice device = GvrControllerInput.GetDevice(hand); + if (device.State == GvrConnectionState.Connected) { + connected = true; + break; + } + } + if (!connected) { + return; + } + + // Daydream is loaded only on deivce, not in editor. +#if UNITY_ANDROID && !UNITY_EDITOR + if (XRSettings.loadedDeviceName != GvrSettings.VR_SDK_DAYDREAM) { + return; + } +#endif + + if (GvrControllerInput.Recentered) { + ApplyYawCorrection(); + return; + } + +#if UNITY_EDITOR + // Compatibility for Instant Preview. + if (Gvr.Internal.InstantPreview.Instance != null && + Gvr.Internal.InstantPreview.Instance.enabled && + Gvr.Internal.ControllerUtils.AnyButton(GvrControllerButton.System)) { + return; + } +#else // !UNITY_EDITOR + if (Gvr.Internal.ControllerUtils.AnyButton(GvrControllerButton.System)) { + return; + } +#endif // UNITY_EDITOR + + yawCorrection = GetYawCorrection(); + } + + void OnDisable() { + yawCorrection = Quaternion.identity; + RemoveLastYawCorrection(); + } + + private void ApplyYawCorrection() { + RemoveLastYawCorrection(); + transform.localRotation = transform.localRotation * yawCorrection; + lastAppliedYawCorrection = yawCorrection; + } + + private void RemoveLastYawCorrection() { + transform.localRotation = + transform.localRotation * Quaternion.Inverse(lastAppliedYawCorrection); + lastAppliedYawCorrection = Quaternion.identity; + } + + private Quaternion GetYawCorrection() { + Quaternion headRotation = GvrVRHelpers.GetHeadRotation(); + Vector3 euler = headRotation.eulerAngles; + return lastAppliedYawCorrection * Quaternion.Euler(0.0f, euler.y, 0.0f); + } +} diff --git a/Assets/GoogleVR/Scripts/Controller/GvrRecenterOnlyController.cs.meta b/Assets/GoogleVR/Scripts/Controller/GvrRecenterOnlyController.cs.meta new file mode 100644 index 0000000..e6abe2a --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrRecenterOnlyController.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a5d8d09b9e5d2437aa022780a2ce8c83 +timeCreated: 1487015053 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/GvrTrackedController.cs b/Assets/GoogleVR/Scripts/Controller/GvrTrackedController.cs new file mode 100644 index 0000000..cdd6e3d --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrTrackedController.cs @@ -0,0 +1,238 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System.Collections; + +/// Represents an object tracked by controller input. +/// Manages the active status of the tracked controller based on controller connection status. +/// Fetches a `GvrControllerInputDevice` for the configured `GvrControllerHand` and propagates +/// the device instance to all `IGvrControllerInputDeviceReceiver`s underneath this object on +/// Start and if the controller handedness changes. If the controller is not positionally +/// tracked, position of the object is updated to approximate arm mechanics by using a +/// `GvrBaseArmModel`. `GvrBaseArmModel`s are also propagated to all `IGvrArmModelReceiver`s +/// underneath this object. +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrTrackedController")] +public class GvrTrackedController : MonoBehaviour { + [SerializeField] + [Tooltip("Arm model used to control the pose (position and rotation) of the object, " + + "and to propagate to children that implement IGvrArmModelReceiver.")] + private GvrBaseArmModel armModel; + private GvrControllerInputDevice controllerInputDevice; + + [SerializeField] + [Tooltip("Is the object's active status determined by the controller connection status.")] + private bool isDeactivatedWhenDisconnected = true; + + [SerializeField] + [Tooltip("Controller Hand")] + private GvrControllerHand controllerHand = GvrControllerHand.Dominant; + + public GvrControllerInputDevice ControllerInputDevice { + get { + return controllerInputDevice; + } + } + + public GvrControllerHand ControllerHand { + get { + return controllerHand; + } + set { + if (value != controllerHand) { + controllerHand = value; + SetupControllerInputDevice(); + } + } + } + + /// Arm model used to control the pose (position and rotation) of the object, and to propagate to + /// children that implement IGvrArmModelReceiver. + public GvrBaseArmModel ArmModel { + get { + return armModel; + } + set { + if (armModel == value) { + return; + } + + armModel = value; + PropagateControllerInputDeviceToArmModel(); + PropagateArmModel(); + } + } + + /// Is the object's active status determined by the controller connection status. + public bool IsDeactivatedWhenDisconnected { + get { + return isDeactivatedWhenDisconnected; + } + set { + if (isDeactivatedWhenDisconnected == value) { + return; + } + + isDeactivatedWhenDisconnected = value; + + if (isDeactivatedWhenDisconnected) { + OnControllerStateChanged(controllerInputDevice.State, controllerInputDevice.State); + } + } + } + + public void PropagateArmModel() { + IGvrArmModelReceiver[] receivers = + GetComponentsInChildren(true); + + for (int i = 0; i < receivers.Length; i++) { + IGvrArmModelReceiver receiver = receivers[i]; + receiver.ArmModel = armModel; + } + } + + void Awake() { + // Adding this event handler calls it immediately. + GvrControllerInput.OnDevicesChanged += SetupControllerInputDevice; + } + + void OnEnable() { + // Print an error to console if no GvrControllerInput is found. + if (controllerInputDevice.State == GvrConnectionState.Error) { + Debug.LogWarning(controllerInputDevice.ErrorDetails); + } + + // Update the position using OnPostControllerInputUpdated. + // This way, the position and rotation will be correct for the entire frame + // so that it doesn't matter what order Updates get called in. + GvrControllerInput.OnPostControllerInputUpdated += OnPostControllerInputUpdated; + + /// Force the pose to update immediately in case the controller isn't updated before the next + /// time a frame is rendered. + UpdatePose(); + + /// Check the controller state immediately whenever this script is enabled. + OnControllerStateChanged(controllerInputDevice.State, controllerInputDevice.State); + } + + void OnDisable() { + GvrControllerInput.OnPostControllerInputUpdated -= OnPostControllerInputUpdated; + } + + void Start() { + PropagateArmModel(); + if (controllerInputDevice != null) { + PropagateControllerInputDevice(); + OnControllerStateChanged(controllerInputDevice.State, controllerInputDevice.State); + } + } + + void OnDestroy() { + GvrControllerInput.OnDevicesChanged -= SetupControllerInputDevice; + if (controllerInputDevice != null) { + controllerInputDevice.OnStateChanged -= OnControllerStateChanged; + controllerInputDevice = null; + PropagateControllerInputDevice(); + } + } + + private void PropagateControllerInputDevice() { + IGvrControllerInputDeviceReceiver[] receivers = + GetComponentsInChildren(true); + + foreach (var receiver in receivers) { + receiver.ControllerInputDevice = controllerInputDevice; + } + PropagateControllerInputDeviceToArmModel(); + } + + private void PropagateControllerInputDeviceToArmModel() { + // Propagate the controller input device to everything in the arm model's object's + // hierarchy in case it is not a child of the tracked controller. + if (armModel != null) { + IGvrControllerInputDeviceReceiver[] receivers = + armModel.GetComponentsInChildren(true); + + foreach (var receiver in receivers) { + receiver.ControllerInputDevice = controllerInputDevice; + } + } + } + + private void SetupControllerInputDevice() { + GvrControllerInputDevice newDevice = GvrControllerInput.GetDevice(controllerHand); + if (controllerInputDevice == newDevice) { + return; + } + if (controllerInputDevice != null) { + controllerInputDevice.OnStateChanged -= OnControllerStateChanged; + controllerInputDevice = null; + } + + controllerInputDevice = newDevice; + if (controllerInputDevice != null) { + controllerInputDevice.OnStateChanged += OnControllerStateChanged; + OnControllerStateChanged(controllerInputDevice.State, controllerInputDevice.State); + } else { + OnControllerStateChanged(GvrConnectionState.Disconnected, GvrConnectionState.Disconnected); + } + PropagateControllerInputDevice(); + } + + private void OnPostControllerInputUpdated() { + UpdatePose(); + } + + private void OnControllerStateChanged(GvrConnectionState state, GvrConnectionState oldState) { + if (isDeactivatedWhenDisconnected && enabled) { + gameObject.SetActive(state == GvrConnectionState.Connected); + } + } + + private void UpdatePose() { + if (controllerInputDevice == null) { + return; + } + + // Non-positionally tracked controllers always return Position of Vector3.zero. + if (controllerInputDevice.Position != Vector3.zero) { + transform.localPosition = controllerInputDevice.Position; + transform.localRotation = controllerInputDevice.Orientation; + } else { + if (armModel == null || !controllerInputDevice.IsDominantHand) { + return; + } + + transform.localPosition = ArmModel.ControllerPositionFromHead; + transform.localRotation = ArmModel.ControllerRotationFromHead; + } + } + +#if UNITY_EDITOR + /// If the "armModel" serialized field is changed while the application is playing + /// by using the inspector in the editor, then we need to call the PropagateArmModel + /// to ensure all children IGvrArmModelReceiver are updated. + /// Outside of the editor, this can't happen because the arm model can only change when + /// a Setter is called that automatically calls PropagateArmModel. + void OnValidate() { + if (Application.isPlaying && isActiveAndEnabled) { + PropagateArmModel(); + if (controllerInputDevice != null) { + OnControllerStateChanged(controllerInputDevice.State, controllerInputDevice.State); + } + } + } +#endif // UNITY_EDITOR + +} diff --git a/Assets/GoogleVR/Scripts/Controller/GvrTrackedController.cs.meta b/Assets/GoogleVR/Scripts/Controller/GvrTrackedController.cs.meta new file mode 100644 index 0000000..a928aaf --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/GvrTrackedController.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 311793381eb9d45149dc1a422000a9fd +timeCreated: 1481762795 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/IGvrControllerInputDeviceReceiver.cs b/Assets/GoogleVR/Scripts/Controller/IGvrControllerInputDeviceReceiver.cs new file mode 100644 index 0000000..2d495ca --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/IGvrControllerInputDeviceReceiver.cs @@ -0,0 +1,21 @@ +// Copyright 2018 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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.Collections; +using System.Collections.Generic; +using UnityEngine; + +public interface IGvrControllerInputDeviceReceiver { + GvrControllerInputDevice ControllerInputDevice { set; } +} diff --git a/Assets/GoogleVR/Scripts/Controller/IGvrControllerInputDeviceReceiver.cs.meta b/Assets/GoogleVR/Scripts/Controller/IGvrControllerInputDeviceReceiver.cs.meta new file mode 100644 index 0000000..f89d9a0 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/IGvrControllerInputDeviceReceiver.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2a4fdc21aee934d82baa564e797da921 +timeCreated: 1519951901 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal.meta b/Assets/GoogleVR/Scripts/Controller/Internal.meta new file mode 100644 index 0000000..ac89b23 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e8d1351fa06562347ad7429db4b16b7c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviderFactory.cs b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviderFactory.cs new file mode 100644 index 0000000..18ff1d8 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviderFactory.cs @@ -0,0 +1,43 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +/// @cond +namespace Gvr.Internal { + /// Factory that provides a concrete implementation of IControllerProvider for the + /// current platform. + static class ControllerProviderFactory { + /// Provides a concrete implementation of IControllerProvider appropriate for the current + /// platform. This method never returns null. In the worst case, it might return a dummy + /// provider if the platform is not supported. For demo purposes the emulator controller + /// is returned in the editor and in Standalone buids, for use inside the desktop player. + static internal IControllerProvider CreateControllerProvider(GvrControllerInput owner) { +// Use emualtor in editor, and in Standalone builds (for demo purposes). +#if UNITY_EDITOR + // Use the Editor controller provider that supports the controller emulator and the mouse. + return new EditorControllerProvider(owner.emulatorConnectionMode); +#elif UNITY_ANDROID + // Use the GVR C API. + return new AndroidNativeControllerProvider(); +#else + // Platform not supported. + Debug.LogWarning("No controller support on this platform."); + return new DummyControllerProvider(); +#endif // UNITY_EDITOR || UNITY_ANDROID + } + } +} +/// @endcond + diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviderFactory.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviderFactory.cs.meta new file mode 100644 index 0000000..dca5048 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviderFactory.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9f9210011b71142d5966eec2db6cc696 +timeCreated: 1462043669 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders.meta b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders.meta new file mode 100644 index 0000000..d14ec76 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8adfc793bee33b24b861e195c2b5b483 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/AndroidNativeControllerProvider.cs b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/AndroidNativeControllerProvider.cs new file mode 100644 index 0000000..b121255 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/AndroidNativeControllerProvider.cs @@ -0,0 +1,459 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// This provider is only available on an Android device. +#if UNITY_ANDROID && !UNITY_EDITOR +using UnityEngine; + +using System; +using System.Runtime.InteropServices; + +/// @cond +namespace Gvr.Internal { + /// Controller Provider that uses the native GVR C API to communicate with controllers + /// via Google VR Services on Android. + class AndroidNativeControllerProvider : IControllerProvider { + // Note: keep structs and function signatures in sync with the C header file (gvr_controller.h). + // GVR controller option flags. + private const int GVR_CONTROLLER_ENABLE_ORIENTATION = 1 << 0; + private const int GVR_CONTROLLER_ENABLE_TOUCH = 1 << 1; + private const int GVR_CONTROLLER_ENABLE_GYRO = 1 << 2; + private const int GVR_CONTROLLER_ENABLE_ACCEL = 1 << 3; + private const int GVR_CONTROLLER_ENABLE_GESTURES = 1 << 4; + private const int GVR_CONTROLLER_ENABLE_POSE_PREDICTION = 1 << 5; + private const int GVR_CONTROLLER_ENABLE_POSITION = 1 << 6; + private const int GVR_CONTROLLER_ENABLE_BATTERY = 1 << 7; + private const int GVR_CONTROLLER_ENABLE_ARM_MODEL = 1 << 8; + + // enum gvr_controller_button: + private const int GVR_CONTROLLER_BUTTON_NONE = 0; + private const int GVR_CONTROLLER_BUTTON_CLICK = 1; + private const int GVR_CONTROLLER_BUTTON_HOME = 2; + private const int GVR_CONTROLLER_BUTTON_APP = 3; + private const int GVR_CONTROLLER_BUTTON_VOLUME_UP = 4; + private const int GVR_CONTROLLER_BUTTON_VOLUME_DOWN = 5; + private const int GVR_CONTROLLER_BUTTON_RESERVED0 = 6; + private const int GVR_CONTROLLER_BUTTON_RESERVED1 = 7; + private const int GVR_CONTROLLER_BUTTON_RESERVED2 = 8; + private const int GVR_CONTROLLER_BUTTON_COUNT = 9; + + // enum gvr_controller_connection_state: + private const int GVR_CONTROLLER_DISCONNECTED = 0; + private const int GVR_CONTROLLER_SCANNING = 1; + private const int GVR_CONTROLLER_CONNECTING = 2; + private const int GVR_CONTROLLER_CONNECTED = 3; + + // enum gvr_controller_api_status + private const int GVR_CONTROLLER_API_OK = 0; + private const int GVR_CONTROLLER_API_UNSUPPORTED = 1; + private const int GVR_CONTROLLER_API_NOT_AUTHORIZED = 2; + private const int GVR_CONTROLLER_API_UNAVAILABLE = 3; + private const int GVR_CONTROLLER_API_SERVICE_OBSOLETE = 4; + private const int GVR_CONTROLLER_API_CLIENT_OBSOLETE = 5; + private const int GVR_CONTROLLER_API_MALFUNCTION = 6; + + // The serialization of button-state used to determine which buttons are being pressed. + private readonly GvrControllerButton[] GVR_UNITY_BUTTONS = new GvrControllerButton[] { + GvrControllerButton.App, + GvrControllerButton.System, + GvrControllerButton.TouchPadButton, + GvrControllerButton.Reserved0, + GvrControllerButton.Reserved1, + GvrControllerButton.Reserved2 + }; + private readonly int[] GVR_BUTTONS = new int[] { + GVR_CONTROLLER_BUTTON_APP, + GVR_CONTROLLER_BUTTON_HOME, + GVR_CONTROLLER_BUTTON_CLICK, + GVR_CONTROLLER_BUTTON_RESERVED0, + GVR_CONTROLLER_BUTTON_RESERVED1, + GVR_CONTROLLER_BUTTON_RESERVED2 + }; + + [StructLayout(LayoutKind.Sequential)] + private struct gvr_quat { + internal float x; + internal float y; + internal float z; + internal float w; + } + + [StructLayout(LayoutKind.Sequential)] + private struct gvr_vec3 { + internal float x; + internal float y; + internal float z; + } + + [StructLayout(LayoutKind.Sequential)] + private struct gvr_vec2 { + internal float x; + internal float y; + } + + private const string dllName = GvrActivityHelper.GVR_DLL_NAME; + + [DllImport(dllName)] + private static extern int gvr_controller_get_default_options(); + + [DllImport(dllName)] + private static extern IntPtr gvr_controller_create_and_init_android( + IntPtr jniEnv, IntPtr androidContext, IntPtr classLoader, + int options, IntPtr context); + + [DllImport(dllName)] + private static extern void gvr_controller_destroy(ref IntPtr api); + + [DllImport(dllName)] + private static extern void gvr_controller_pause(IntPtr api); + + [DllImport(dllName)] + private static extern void gvr_controller_resume(IntPtr api); + + [DllImport(dllName)] + private static extern IntPtr gvr_controller_state_create(); + + [DllImport(dllName)] + private static extern void gvr_controller_state_destroy(ref IntPtr state); + + [DllImport(dllName)] + private static extern void gvr_controller_state_update(IntPtr api, int flags, IntPtr out_state); + + [DllImport(dllName)] + private static extern int gvr_controller_state_get_api_status(IntPtr state); + + [DllImport(dllName)] + private static extern int gvr_controller_state_get_connection_state(IntPtr state); + + [DllImport(dllName)] + private static extern gvr_quat gvr_controller_state_get_orientation(IntPtr state); + + [DllImport(dllName)] + private static extern gvr_vec3 gvr_controller_state_get_position(IntPtr state); + + [DllImport(dllName)] + private static extern gvr_vec3 gvr_controller_state_get_gyro(IntPtr state); + + [DllImport(dllName)] + private static extern gvr_vec3 gvr_controller_state_get_accel(IntPtr state); + + [DllImport(dllName)] + private static extern byte gvr_controller_state_is_touching(IntPtr state); + + [DllImport(dllName)] + private static extern gvr_vec2 gvr_controller_state_get_touch_pos(IntPtr state); + + [DllImport(dllName)] + private static extern byte gvr_controller_state_get_touch_down(IntPtr state); + + [DllImport(dllName)] + private static extern byte gvr_controller_state_get_touch_up(IntPtr state); + + [DllImport(dllName)] + private static extern byte gvr_controller_state_get_recentered(IntPtr state); + + [DllImport(dllName)] + private static extern byte gvr_controller_state_get_button_state(IntPtr state, int button); + + [DllImport(dllName)] + private static extern byte gvr_controller_state_get_button_down(IntPtr state, int button); + + [DllImport(dllName)] + private static extern byte gvr_controller_state_get_button_up(IntPtr state, int button); + + [DllImport(dllName)] + private static extern long gvr_controller_state_get_last_orientation_timestamp(IntPtr state); + + [DllImport(dllName)] + private static extern long gvr_controller_state_get_last_gyro_timestamp(IntPtr state); + + [DllImport(dllName)] + private static extern long gvr_controller_state_get_last_accel_timestamp(IntPtr state); + + [DllImport(dllName)] + private static extern long gvr_controller_state_get_last_touch_timestamp(IntPtr state); + + [DllImport(dllName)] + private static extern long gvr_controller_state_get_last_button_timestamp(IntPtr state); + + [DllImport(dllName)] + private static extern byte gvr_controller_state_get_battery_charging(IntPtr state); + + [DllImport(dllName)] + private static extern int gvr_controller_state_get_battery_level(IntPtr state); + + [DllImport(dllName)] + private static extern long gvr_controller_state_get_last_battery_timestamp(IntPtr state); + + [DllImport(dllName)] + private static extern int gvr_controller_get_count(IntPtr api); + + private const string VRCORE_UTILS_CLASS = "com.google.vr.vrcore.base.api.VrCoreUtils"; + + private IntPtr api; + private bool hasBatteryMethods = false; + + private AndroidJavaObject androidContext; + private AndroidJavaObject classLoader; + + private bool error = false; + private string errorDetails = string.Empty; + + private IntPtr statePtr; + + private MutablePose3D pose3d = new MutablePose3D(); + + private GvrControllerButton[] lastButtonsState = new GvrControllerButton[2]; + + public bool SupportsBatteryStatus { + get { return hasBatteryMethods; } + } + + public int MaxControllerCount { + get { + if (api == IntPtr.Zero) { + return 0; + } + return gvr_controller_get_count(api); + } + } + + internal AndroidNativeControllerProvider() { + // Debug.Log("Initializing Daydream controller API."); + + int options = gvr_controller_get_default_options(); + options |= GVR_CONTROLLER_ENABLE_ACCEL; + options |= GVR_CONTROLLER_ENABLE_GYRO; + options |= GVR_CONTROLLER_ENABLE_POSITION; + + statePtr = gvr_controller_state_create(); + // Get a hold of the activity, context and class loader. + AndroidJavaObject activity = GvrActivityHelper.GetActivity(); + if (activity == null) { + error = true; + errorDetails = "Failed to get Activity from Unity Player."; + return; + } + androidContext = GvrActivityHelper.GetApplicationContext(activity); + if (androidContext == null) { + error = true; + errorDetails = "Failed to get Android application context from Activity."; + return; + } + classLoader = GetClassLoaderFromActivity(activity); + if (classLoader == null) { + error = true; + errorDetails = "Failed to get class loader from Activity."; + return; + } + + // Use IntPtr instead of GetRawObject() so that Unity can shut down gracefully on + // Application.Quit(). Note that GetRawObject() is not pinned by the receiver so it's not + // cleaned up appropriately on shutdown, which is a known bug in Unity. + IntPtr androidContextPtr = AndroidJNI.NewLocalRef(androidContext.GetRawObject()); + IntPtr classLoaderPtr = AndroidJNI.NewLocalRef(classLoader.GetRawObject()); + Debug.Log ("Creating and initializing GVR API controller object."); + api = gvr_controller_create_and_init_android (IntPtr.Zero, androidContextPtr, classLoaderPtr, + options, IntPtr.Zero); + AndroidJNI.DeleteLocalRef(androidContextPtr); + AndroidJNI.DeleteLocalRef(classLoaderPtr); + if (IntPtr.Zero == api) { + Debug.LogError("Error creating/initializing Daydream controller API."); + error = true; + errorDetails = "Failed to initialize Daydream controller API."; + return; + } + + try { + gvr_controller_state_get_battery_charging(statePtr); + gvr_controller_state_get_battery_level(statePtr); + hasBatteryMethods = true; + } catch (EntryPointNotFoundException) { + // Older VrCore version. Does not support battery indicator. + // Note that controller API is not dynamically loaded as of June 2017 (b/35662043), + // so we'll need to support this case indefinitely... + } + + // Debug.Log("GVR API successfully initialized. Now resuming it."); + gvr_controller_resume(api); + // Debug.Log("GVR API resumed."); + } + + public void Dispose() { + Dispose(true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) { + if (disposing) { + // Debug.Log("Destroying GVR API structures."); + gvr_controller_state_destroy(ref statePtr); + gvr_controller_destroy(ref api); + if (statePtr != IntPtr.Zero) { + Debug.LogError("gvr_controller_state not zeroed after destroy"); + } + if (api != IntPtr.Zero) { + Debug.LogError("gvr_controller_api not zeroed after destroy"); + } + // Debug.Log("AndroidNativeControllerProvider destroyed."); + } + } + + public void ReadState(ControllerState outState, int controller_id) { + if (error) { + outState.connectionState = GvrConnectionState.Error; + outState.apiStatus = GvrControllerApiStatus.Error; + outState.errorDetails = errorDetails; + return; + } + if (api == IntPtr.Zero || statePtr == IntPtr.Zero) { + Debug.LogError("AndroidNativeControllerProvider used after dispose."); + return; + } + gvr_controller_state_update(api, controller_id, statePtr); + + outState.connectionState = ConvertConnectionState( + gvr_controller_state_get_connection_state(statePtr)); + outState.apiStatus = ConvertControllerApiStatus( + gvr_controller_state_get_api_status(statePtr)); + + gvr_quat rawOri = gvr_controller_state_get_orientation(statePtr); + gvr_vec3 rawAccel = gvr_controller_state_get_accel(statePtr); + gvr_vec3 rawGyro = gvr_controller_state_get_gyro(statePtr); + gvr_vec3 rawPos = gvr_controller_state_get_position(statePtr); + + // Convert GVR API orientation (right-handed) into Unity axis system (left-handed). + pose3d.Set(new Vector3(rawPos.x,rawPos.y,rawPos.z), new Quaternion(rawOri.x, rawOri.y, rawOri.z, rawOri.w)); + pose3d.SetRightHanded(pose3d.Matrix); + outState.orientation = pose3d.Orientation; + outState.position = pose3d.Position; + + // For accelerometer, we have to flip Z because the GVR API has Z pointing backwards + // and Unity has Z pointing forward. + outState.accel = new Vector3(rawAccel.x, rawAccel.y, -rawAccel.z); + + // Gyro in GVR represents a right-handed angular velocity about each axis (positive means + // clockwise when sighting along axis). Since Unity uses a left-handed system, we flip the + // signs to adjust the sign of the rotational velocity (so that positive means + // counter-clockwise). In addition, since in Unity the Z axis points forward while GVR + // has Z pointing backwards, we flip the Z axis sign again. So the result is that + // we should use -X, -Y, +Z: + outState.gyro = new Vector3(-rawGyro.x, -rawGyro.y, rawGyro.z); + + gvr_vec2 touchPos = gvr_controller_state_get_touch_pos(statePtr); + outState.touchPos = new Vector2(touchPos.x, touchPos.y); + + outState.buttonsState = 0; + for (int i=0; i("getClassLoader"); + if (result == null) { + Debug.LogErrorFormat("Failed to get class loader from Activity."); + return null; + } + return result; + } + + private static int GetVrCoreClientApiVersion(AndroidJavaObject activity) { + try { + AndroidJavaClass utilsClass = new AndroidJavaClass(VRCORE_UTILS_CLASS); + int apiVersion = utilsClass.CallStatic("getVrCoreClientApiVersion", activity); + // Debug.LogFormat("VrCore client API version: " + apiVersion); + return apiVersion; + } catch (Exception exc) { + // Even though a catch-all block is normally frowned upon, in this case we really + // need it because this method has to be robust to unpredictable circumstances: + // VrCore might not exist in the device, the Java layer might be broken, etc, etc. + // None of those should abort the app. + Debug.LogError("Error obtaining VrCore client API version: " + exc); + return 0; + } + } + } +} +/// @endcond +#endif // UNITY_ANDROID && !UNITY_EDITOR diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/AndroidNativeControllerProvider.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/AndroidNativeControllerProvider.cs.meta new file mode 100644 index 0000000..b54b41c --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/AndroidNativeControllerProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3fda152dc25154b4a9cccb75fd77f018 +timeCreated: 1462060442 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/DummyControllerProvider.cs b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/DummyControllerProvider.cs new file mode 100644 index 0000000..47c51e6 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/DummyControllerProvider.cs @@ -0,0 +1,39 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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 Gvr; + +/// @cond +namespace Gvr.Internal { + /// Dummy controller provider. + /// Used in platforms that do not support controllers. + class DummyControllerProvider : IControllerProvider { + private ControllerState dummyState = new ControllerState(); + public bool SupportsBatteryStatus { + get { return false; } + } + public int MaxControllerCount { + get { return 1; } + } + internal DummyControllerProvider() {} + public void Dispose() {} + public void ReadState(ControllerState outState,int controller_id) { + outState.CopyFrom(dummyState); + } + public void OnPause() {} + public void OnResume() {} + } +} +/// @endcond + diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/DummyControllerProvider.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/DummyControllerProvider.cs.meta new file mode 100644 index 0000000..aae426f --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/DummyControllerProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0f791be37caef48c79f72011276ab16a +timeCreated: 1462043669 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/EditorControllerProvider.cs b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/EditorControllerProvider.cs new file mode 100644 index 0000000..f99f394 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/EditorControllerProvider.cs @@ -0,0 +1,89 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// This provider is only available in the editor. +#if UNITY_EDITOR + +using Gvr; + +namespace Gvr.Internal { + /// Controller provider used when playing in the Unity Editor. + /// Supports the Controller Emulator and Mouse input to mock the controller. + class EditorControllerProvider : IControllerProvider { + private EmulatorControllerProvider emulatorControllerProvider; + private MouseControllerProvider mouseControllerProvider; +#if UNITY_HAS_GOOGLEVR + /// Helper class to get Instant Preview controller events if connected. + private InstantPreviewControllerProvider instantPreviewControllerProvider = + new InstantPreviewControllerProvider(); +#endif // UNITY_HAS_GOOGLEVR + + ControllerState emulatorState = new ControllerState(); + ControllerState mouseState = new ControllerState(); + + public bool SupportsBatteryStatus { + get { return emulatorControllerProvider.SupportsBatteryStatus; } + } + public int MaxControllerCount { + get { return 1; } + } + + internal EditorControllerProvider(GvrControllerInput.EmulatorConnectionMode connectionMode) { + emulatorControllerProvider = new EmulatorControllerProvider(connectionMode); + mouseControllerProvider = new MouseControllerProvider(); + } + + public void Dispose() {} + + public void ReadState(ControllerState outState, int controller_id) { + if (controller_id != 0) { + return; + } +#if UNITY_HAS_GOOGLEVR + if (InstantPreview.Instance != null + && InstantPreview.Instance.IsCurrentlyConnected + && !EmulatorManager.Instance.Connected) { + // Uses Instant Preview to get controller state if connected. + instantPreviewControllerProvider.ReadState(outState); + return; + } +#endif // UNITY_HAS_GOOGLEVR + + // If Instant Preview is not connected, tries to use the emulator or + // mouse. + emulatorControllerProvider.ReadState(emulatorState, controller_id); + mouseControllerProvider.ReadState(mouseState, controller_id); + + // Defaults to mouse state if the emulator isn't available. + if (emulatorState.connectionState != GvrConnectionState.Connected + && mouseState.connectionState == GvrConnectionState.Connected) { + outState.CopyFrom(mouseState); + } else { + outState.CopyFrom(emulatorState); + } + } + + public void OnPause() { + emulatorControllerProvider.OnPause(); + mouseControllerProvider.OnPause(); + } + + public void OnResume() { + emulatorControllerProvider.OnResume(); + mouseControllerProvider.OnResume(); + } + } +} + +#endif // UNITY_EDITOR diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/EditorControllerProvider.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/EditorControllerProvider.cs.meta new file mode 100644 index 0000000..5ac905c --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/EditorControllerProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e0a32f2191dec4e1b8e05acab6002be6 +timeCreated: 1496354837 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/EmulatorControllerProvider.cs b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/EmulatorControllerProvider.cs new file mode 100644 index 0000000..a5c804f --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/EmulatorControllerProvider.cs @@ -0,0 +1,191 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// This class is only used in the Editor, so make sure to only compile it on that platform. +// Additionally, it depends on EmulatorManager which is only compiled in the editor. +#if UNITY_EDITOR + +using UnityEngine; + +/// @cond +namespace Gvr.Internal { + /// Controller provider that connects to the controller emulator to obtain controller events. + class EmulatorControllerProvider : IControllerProvider { + private ControllerState state = new ControllerState(); + + /// Yaw correction due to recentering. + private Quaternion yawCorrection = Quaternion.identity; + + /// True if we performed the initial recenter. + private bool initialRecenterDone = false; + + /// The last (uncorrected) orientation received from the emulator. + private Quaternion lastRawOrientation = Quaternion.identity; + private GvrControllerButton lastButtonsState; + + public bool SupportsBatteryStatus { + get { return true; } + } + public int MaxControllerCount { + get { return 1; } + } + + /// Creates a new EmulatorControllerProvider with the specified settings. + internal EmulatorControllerProvider(GvrControllerInput.EmulatorConnectionMode connectionMode) { + if (connectionMode == GvrControllerInput.EmulatorConnectionMode.USB) { + EmulatorConfig.Instance.PHONE_EVENT_MODE = EmulatorConfig.Mode.USB; + } else if (connectionMode == GvrControllerInput.EmulatorConnectionMode.WIFI) { + EmulatorConfig.Instance.PHONE_EVENT_MODE = EmulatorConfig.Mode.WIFI; + } else { + EmulatorConfig.Instance.PHONE_EVENT_MODE = EmulatorConfig.Mode.OFF; + } + + EmulatorManager.Instance.touchEventListeners += HandleTouchEvent; + EmulatorManager.Instance.orientationEventListeners += HandleOrientationEvent; + EmulatorManager.Instance.buttonEventListeners += HandleButtonEvent; + EmulatorManager.Instance.gyroEventListeners += HandleGyroEvent; + EmulatorManager.Instance.accelEventListeners += HandleAccelEvent; + } + + public void Dispose() {} + + public void ReadState(ControllerState outState, int controller_id) { + if (controller_id != 0) { + return; + } + lock (state) { + state.connectionState = GvrConnectionState.Connected; + if (!EmulatorManager.Instance.Connected) { + state.connectionState = EmulatorManager.Instance.Connecting ? + GvrConnectionState.Connecting : GvrConnectionState.Disconnected; + } + state.apiStatus = EmulatorManager.Instance.Connected ? GvrControllerApiStatus.Ok : + GvrControllerApiStatus.Unavailable; + + // During emulation, just assume the controller is fully charged + state.isCharging = false; + state.batteryLevel = GvrControllerBatteryLevel.Full; + + state.SetButtonsUpDownFromPrevious(lastButtonsState); + lastButtonsState = state.buttonsState; + + outState.CopyFrom(state); + } + state.ClearTransientState(); + } + + public void OnPause() {} + public void OnResume() {} + + private void HandleTouchEvent(EmulatorTouchEvent touchEvent) { + if (touchEvent.pointers.Count < 1) return; + EmulatorTouchEvent.Pointer pointer = touchEvent.pointers[0]; + + lock (state) { + state.touchPos = new Vector2(pointer.normalizedX, pointer.normalizedY); + switch (touchEvent.getActionMasked()) { + case EmulatorTouchEvent.Action.kActionDown: + state.buttonsState |= GvrControllerButton.TouchPadTouch; + break; + case EmulatorTouchEvent.Action.kActionMove: + state.buttonsState |= GvrControllerButton.TouchPadTouch; + break; + case EmulatorTouchEvent.Action.kActionUp: + state.buttonsState &= ~GvrControllerButton.TouchPadTouch; + break; + } + } + } + + private void HandleOrientationEvent(EmulatorOrientationEvent orientationEvent) { + lastRawOrientation = ConvertEmulatorQuaternion(orientationEvent.orientation); + if (!initialRecenterDone) { + Recenter(); + initialRecenterDone = true; + } + lock (state) { + state.orientation = yawCorrection * lastRawOrientation; + } + } + + private void HandleButtonEvent(EmulatorButtonEvent buttonEvent) { + GvrControllerButton buttonMask = 0; + switch (buttonEvent.code) { + case EmulatorButtonEvent.ButtonCode.kApp: + buttonMask = GvrControllerButton.App; + break; + case EmulatorButtonEvent.ButtonCode.kHome: + buttonMask = GvrControllerButton.System; + break; + case EmulatorButtonEvent.ButtonCode.kClick: + buttonMask = GvrControllerButton.TouchPadButton; + break; + } + if (buttonMask != 0) { + lock (state) { + state.buttonsState &= ~buttonMask; + if (buttonEvent.down) { + state.buttonsState |= buttonMask; + } + } + if (buttonMask == GvrControllerButton.System) { + if (!buttonEvent.down) { + // Finished the recentering gesture. Recenter controller. + Recenter(); + } + } + } + } + + private void HandleGyroEvent(EmulatorGyroEvent gyroEvent) { + lock (state) { + state.gyro = ConvertEmulatorGyro(gyroEvent.value); + } + } + + private void HandleAccelEvent(EmulatorAccelEvent accelEvent) { + lock (state) { + state.accel = ConvertEmulatorAccel(accelEvent.value); + } + } + + private static Quaternion ConvertEmulatorQuaternion(Quaternion emulatorQuat) { + // Convert from the emulator's coordinate space to Unity's standard coordinate space. + return new Quaternion(emulatorQuat.x, -emulatorQuat.z, emulatorQuat.y, emulatorQuat.w); + } + + private static Vector3 ConvertEmulatorGyro(Vector3 emulatorGyro) { + // Convert from the emulator's coordinate space to Unity's standard coordinate space. + return new Vector3(-emulatorGyro.x, -emulatorGyro.z, -emulatorGyro.y); + } + + private static Vector3 ConvertEmulatorAccel(Vector3 emulatorAccel) { + // Convert from the emulator's coordinate space to Unity's standard coordinate space. + return new Vector3(emulatorAccel.x, emulatorAccel.z, emulatorAccel.y); + } + + private void Recenter() { + lock (state) { + // We want the current orientation to be "forward" so, we set the yaw correction + // to undo the current rotation's yaw. + yawCorrection = Quaternion.AngleAxis(-lastRawOrientation.eulerAngles.y, Vector3.up); + state.orientation = Quaternion.identity; + state.recentered = true; + } + } + } +} +/// @endcond + +#endif // UNITY_EDITOR diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/EmulatorControllerProvider.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/EmulatorControllerProvider.cs.meta new file mode 100644 index 0000000..b27dd4b --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/EmulatorControllerProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0ca644865f5f4479fb50471605078cf0 +timeCreated: 1462051657 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/MouseControllerProvider.cs b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/MouseControllerProvider.cs new file mode 100644 index 0000000..6629c35 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/MouseControllerProvider.cs @@ -0,0 +1,198 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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 Gvr; +using UnityEngine; + +namespace Gvr.Internal { + /// Mocks controller input by using the mouse. + /// The controller is connected when holding left shift. + /// Move the mouse to control gyroscope and orientation. + /// The left mouse button is used for the clickButton. + /// The right mouse button is used for the appButton. + /// The middle mouse button is used for the homeButton. + class MouseControllerProvider : IControllerProvider { + private const string AXIS_MOUSE_X = "Mouse X"; + private const string AXIS_MOUSE_Y = "Mouse Y"; + + private ControllerState state = new ControllerState(); + + private Vector2 mouseDelta = new Vector2(); + + /// Need to store the state of the buttons from the previous frame. + /// This is because Input.GetMouseButtonDown and Input.GetMouseButtonUp + /// don't work when called after WaitForEndOfFrame, which is when ReadState is called. + private bool wasTouching; + private GvrControllerButton lastButtonsState; + + private const float ROTATE_SENSITIVITY = 4.5f; + private const float TOUCH_SENSITIVITY = .12f; + private static readonly Vector3 INVERT_Y = new Vector3(1, -1, 1); + + public static bool IsMouseAvailable { + get { + return Input.mousePresent && IsActivateButtonPressed; + } + } + + public static bool IsActivateButtonPressed { + get { + return Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift); + } + } + + public static bool IsClickButtonPressed { + get { + return Input.GetMouseButton(0); + } + } + + public static bool IsAppButtonPressed { + get { + return Input.GetMouseButton(1); + } + } + + public static bool IsHomeButtonPressed { + get { + return Input.GetMouseButton(2); + } + } + + public static bool IsTouching { + get { + return Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl); + } + } + + public bool SupportsBatteryStatus { + get { return false; } + } + + public int MaxControllerCount { + get { return 1; } + } + + internal MouseControllerProvider() {} + + public void Dispose() {} + + public void ReadState(ControllerState outState, int controller_id) { + if (controller_id != 0) { + return; + } + lock (state) { + UpdateState(); + + outState.CopyFrom(state); + } + state.ClearTransientState(); + } + + public void OnPause() {} + public void OnResume() {} + + private void UpdateState() { + GvrCursorHelper.ControllerEmulationActive = IsMouseAvailable; + + if (!IsMouseAvailable) { + ClearState(); + return; + } + + state.connectionState = GvrConnectionState.Connected; + state.apiStatus = GvrControllerApiStatus.Ok; + state.isCharging = false; + state.batteryLevel = GvrControllerBatteryLevel.Full; + + UpdateButtonStates(); + + mouseDelta.Set( + Input.GetAxis(AXIS_MOUSE_X), + Input.GetAxis(AXIS_MOUSE_Y) + ); + + if (0 != (state.buttonsState & GvrControllerButton.TouchPadTouch)) { + UpdateTouchPos(); + } else { + UpdateOrientation(); + } + } + + private void UpdateTouchPos() { + Vector3 currentMousePosition = Input.mousePosition; + Vector2 touchDelta = mouseDelta * TOUCH_SENSITIVITY; + touchDelta.y *= -1.0f; + + state.touchPos += touchDelta; + state.touchPos.x = Mathf.Clamp01(state.touchPos.x); + state.touchPos.y = Mathf.Clamp01(state.touchPos.y); + } + + private void UpdateOrientation() { + Vector3 deltaDegrees = Vector3.Scale(mouseDelta, INVERT_Y) * ROTATE_SENSITIVITY; + + state.gyro = deltaDegrees * (Mathf.Deg2Rad / Time.deltaTime); + + Quaternion yaw = Quaternion.AngleAxis(deltaDegrees.x, Vector3.up); + Quaternion pitch = Quaternion.AngleAxis(deltaDegrees.y, Vector3.right); + state.orientation = state.orientation * yaw * pitch; + } + + private void UpdateButtonStates() { + state.buttonsState = 0; + if (IsClickButtonPressed) { + state.buttonsState |= GvrControllerButton.TouchPadButton; + } + if (IsAppButtonPressed) { + state.buttonsState |= GvrControllerButton.App; + } + if (IsHomeButtonPressed) { + state.buttonsState |= GvrControllerButton.System; + } + if (IsTouching) { + state.buttonsState |= GvrControllerButton.TouchPadTouch; + } + + state.SetButtonsUpDownFromPrevious(lastButtonsState); + lastButtonsState = state.buttonsState; + + if (0 != (state.buttonsUp & GvrControllerButton.TouchPadTouch)) { + ClearTouchPos(); + } + + if (0 != (state.buttonsUp & GvrControllerButton.System)) { + Recenter(); + } + } + + private void Recenter() { + Quaternion yawCorrection = Quaternion.AngleAxis(-state.orientation.eulerAngles.y, Vector3.up); + state.orientation = state.orientation * yawCorrection; + state.recentered = true; + } + + private void ClearTouchPos() { + state.touchPos = new Vector2(0.5f, 0.5f); + } + + private void ClearState() { + state.connectionState = GvrConnectionState.Disconnected; + state.buttonsState = 0; + state.buttonsDown = 0; + state.buttonsUp = 0; + ClearTouchPos(); + } + } +} diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/MouseControllerProvider.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/MouseControllerProvider.cs.meta new file mode 100644 index 0000000..89d44e7 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerProviders/MouseControllerProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d8b9c789363a44b1e87727b1c4d085f6 +timeCreated: 1496352344 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerState.cs b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerState.cs new file mode 100644 index 0000000..a80b714 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerState.cs @@ -0,0 +1,81 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System; + +using Gvr; + +/// @cond +namespace Gvr.Internal { + /// Internal representation of the controller's current state. + /// This representation is used by controller providers to represent the controller's state. + /// + /// The fields in this class have identical meanings to their correspondents in the GVR C API, + /// so they are not redundantly documented here. + class ControllerState { + internal GvrConnectionState connectionState = GvrConnectionState.Disconnected; + internal GvrControllerApiStatus apiStatus = GvrControllerApiStatus.Unavailable; + internal Quaternion orientation = Quaternion.identity; + internal Vector3 position = Vector3.zero; + internal Vector3 gyro = Vector3.zero; + internal Vector3 accel = Vector3.zero; + internal Vector2 touchPos = Vector2.zero; + internal bool recentered = false; + + internal GvrControllerButton buttonsState; + internal GvrControllerButton buttonsDown; + internal GvrControllerButton buttonsUp; + + internal string errorDetails = ""; + internal IntPtr gvrPtr = IntPtr.Zero; + + internal bool isCharging = false; + internal GvrControllerBatteryLevel batteryLevel = GvrControllerBatteryLevel.Unknown; + + public void CopyFrom(ControllerState other) { + connectionState = other.connectionState; + apiStatus = other.apiStatus; + orientation = other.orientation; + position = other.position; + gyro = other.gyro; + accel = other.accel; + touchPos = other.touchPos; + recentered = other.recentered; + buttonsState = other.buttonsState; + buttonsDown = other.buttonsDown; + buttonsUp = other.buttonsUp; + errorDetails = other.errorDetails; + gvrPtr = other.gvrPtr; + isCharging = other.isCharging; + batteryLevel = other.batteryLevel; + } + + /// Resets the transient state (the state variables that represent events, and which are true + /// for only one frame). + public void ClearTransientState() { + recentered = false; + buttonsState = 0; + buttonsDown = 0; + buttonsUp = 0; + } + + public void SetButtonsUpDownFromPrevious(GvrControllerButton prevButtonsState) { + buttonsDown = ~prevButtonsState & buttonsState; + buttonsUp = prevButtonsState & ~buttonsState; + } + } +} +/// @endcond + diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerState.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerState.cs.meta new file mode 100644 index 0000000..280f786 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerState.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9159532a8a3d946aa9df74e771243e5b +timeCreated: 1462043669 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerUtils.cs b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerUtils.cs new file mode 100644 index 0000000..0c8924b --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerUtils.cs @@ -0,0 +1,66 @@ +// Copyright 2018 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System; + +using Gvr; + +/// @cond +namespace Gvr.Internal { + class ControllerUtils { + + /// Convenience array of all hands. + public static GvrControllerHand[] AllHands = { + GvrControllerHand.Right, + GvrControllerHand.Left, + }; + + /// Returns true while the user holds down any of buttons specified in `buttons` on + /// any controller. + public static bool AnyButton(GvrControllerButton buttons) { + bool ret = false; + foreach (var hand in AllHands) { + GvrControllerInputDevice device = GvrControllerInput.GetDevice(hand); + ret |= device.GetButton(buttons); + } + return ret; + } + + /// Returns true in the frame the user starts pressing down any of buttons specified + /// in `buttons` on any controller. + public static bool AnyButtonDown(GvrControllerButton buttons) { + bool ret = false; + foreach (var hand in AllHands) { + GvrControllerInputDevice device = GvrControllerInput.GetDevice(hand); + ret |= device.GetButtonDown(buttons); + } + return ret; + } + + /// Returns true the frame after the user stops pressing down any of buttons specified + /// in `buttons` on any controller. + public static bool AnyButtonUp(GvrControllerButton buttons) { + bool ret = false; + foreach (var hand in AllHands) { + GvrControllerInputDevice device = GvrControllerInput.GetDevice(hand); + ret |= device.GetButtonUp(buttons); + } + return ret; + } + + } +} +/// @endcond + diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/ControllerUtils.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerUtils.cs.meta new file mode 100644 index 0000000..638f6df --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/ControllerUtils.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8358cf789a848412fbb10ba05c4f3fce +timeCreated: 1524508137 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/Emulator.meta b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator.meta new file mode 100644 index 0000000..e0dad12 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9c82eb0d7ee68d344bd339cec427a446 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorClientSocket.cs b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorClientSocket.cs new file mode 100644 index 0000000..bfc29fa --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorClientSocket.cs @@ -0,0 +1,258 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// This class is only used in the Editor, so make sure to only compile it on that platform. +// Additionally, If this class is compiled on Android then Unity will insert the INTERNET permission +// into the manifest because of the reference to the type TCPClient. Excluding this class in the android +// build ensures that it is only included if the developer using the SDK actually uses INTERNET related services. +// This MonoBehaviour is only ever instantiated dynamically, so it is fine that it is only compiled in the Editor, +// Otherwise it would cause serialization issues. +#if UNITY_EDITOR + +using UnityEngine; +using System; +using System.IO; +using System.Net.Sockets; +using System.Threading; + +using proto; + +/// @cond +namespace Gvr.Internal { + + public enum EmulatorClientSocketConnectionState { + Disconnected = 0, + Connecting = 1, + Connected = 2, + }; + + class EmulatorClientSocket : MonoBehaviour { + private static readonly int kPhoneEventPort = 7003; + private const int kSocketReadTimeoutMillis = 5000; + + // Minimum interval, in seconds, between attempts to reconnect the socket. + private const float kMinReconnectInterval = 1f; + + private TcpClient phoneMirroringSocket; + + private Thread phoneEventThread; + + private volatile bool shouldStop = false; + + // Flag used to limit connection state logging to initial failure and successful reconnects. + private volatile bool lastConnectionAttemptWasSuccessful = true; + + private EmulatorManager phoneRemote; + public EmulatorClientSocketConnectionState connected { get; private set; } + + public void Init(EmulatorManager remote) { + phoneRemote = remote; + + if (EmulatorConfig.Instance.PHONE_EVENT_MODE != EmulatorConfig.Mode.OFF) { + phoneEventThread = new Thread(phoneEventSocketLoop); + phoneEventThread.IsBackground = true; + phoneEventThread.Start(); + } + } + + private void phoneEventSocketLoop() { + while (!shouldStop) { + long lastConnectionAttemptTime = DateTime.Now.Ticks; + try { + phoneConnect(); + } catch(Exception e) { + if (lastConnectionAttemptWasSuccessful) { + Debug.LogWarningFormat("{0}\n{1}", e.Message, e.StackTrace); + // Suppress additional failures until we have successfully reconnected. + lastConnectionAttemptWasSuccessful = false; + } + } + + // Wait a while in order to enforce the minimum time between connection attempts. + TimeSpan elapsed = new TimeSpan(DateTime.Now.Ticks - lastConnectionAttemptTime); + float toWait = kMinReconnectInterval - (float) elapsed.TotalSeconds; + if (toWait > 0) { + Thread.Sleep((int) (toWait * 1000)); + } + } + } + + private void phoneConnect() { + string addr = EmulatorConfig.Instance.PHONE_EVENT_MODE == EmulatorConfig.Mode.USB + ? EmulatorConfig.USB_SERVER_IP : EmulatorConfig.WIFI_SERVER_IP; + + try { + if (EmulatorConfig.Instance.PHONE_EVENT_MODE == EmulatorConfig.Mode.USB) { + setupPortForwarding(kPhoneEventPort); + } + TcpClient tcpClient = new TcpClient(addr, kPhoneEventPort); + connected = EmulatorClientSocketConnectionState.Connecting; + ProcessConnection(tcpClient); + tcpClient.Close(); + } finally { + connected = EmulatorClientSocketConnectionState.Disconnected; + } + } + + private void setupPortForwarding(int port) { +#if !UNITY_WEBPLAYER + string adbCommand = string.Format("adb forward tcp:{0} tcp:{0}", port); + System.Diagnostics.Process myProcess = new System.Diagnostics.Process(); + string processFilename; + string processArguments; + int kExitCodeCommandNotFound; + + if (Application.platform == RuntimePlatform.WindowsEditor || + Application.platform == RuntimePlatform.WindowsPlayer) { + processFilename = "CMD.exe"; + processArguments = @"/k " + adbCommand + " & exit"; + // See "Common Error Lookup Tool" (https://www.microsoft.com/en-us/download/details.aspx?id=985) + // MSG_DIR_BAD_COMMAND_OR_FILE (cmdmsg.h) + kExitCodeCommandNotFound = 9009; // 0x2331 + } else { // Unix + processFilename = "bash"; + processArguments = string.Format("-l -c \"{0}\"", adbCommand); + // "command not found" (see http://tldp.org/LDP/abs/html/exitcodes.html) + kExitCodeCommandNotFound = 127; + } + + System.Diagnostics.ProcessStartInfo myProcessStartInfo = + new System.Diagnostics.ProcessStartInfo(processFilename, processArguments); + myProcessStartInfo.UseShellExecute = false; + myProcessStartInfo.RedirectStandardError = true; + myProcessStartInfo.CreateNoWindow = true; + myProcess.StartInfo = myProcessStartInfo; + myProcess.Start(); + myProcess.WaitForExit(); + // Also wait for HasExited here, to avoid ExitCode access below occasionally throwing InvalidOperationException + while (!myProcess.HasExited) { + Thread.Sleep(1); + } + int exitCode = myProcess.ExitCode; + string standardError = myProcess.StandardError.ReadToEnd(); + myProcess.Close(); + + if (exitCode == 0) { + // Port forwarding setup successfully. + return; + } + + if (exitCode == kExitCodeCommandNotFound) { + // Caught by phoneEventSocketLoop. + throw new Exception( + "Android Debug Bridge (`adb`) command not found." + + "\nVerify that the Android SDK is installed and that the directory containing" + + " `adb` is included in your PATH environment variable."); + } + // Caught by phoneEventSocketLoop. + throw new Exception( + string.Format( + "Failed to setup port forwarding." + + " Exit code {0} returned by process: {1} {2}\n{3}", + exitCode, processFilename, processArguments, standardError)); +#endif // !UNITY_WEBPLAYER + } + + private void ProcessConnection(TcpClient tcpClient) { + byte[] buffer = new byte[4]; + NetworkStream stream = tcpClient.GetStream(); + stream.ReadTimeout = kSocketReadTimeoutMillis; + tcpClient.ReceiveTimeout = kSocketReadTimeoutMillis; + while (!shouldStop) { + int bytesRead = blockingRead(stream, buffer, 0, 4); + if (bytesRead < 4) { + // Caught by phoneEventSocketLoop. + throw new Exception( + "Failed to read from controller emulator app event socket." + + "\nVerify that the controller emulator app is running."); + } + int msgLen = unpack32bits(correctEndianness(buffer), 0); + + byte[] dataBuffer = new byte[msgLen]; + bytesRead = blockingRead(stream, dataBuffer, 0, msgLen); + if (bytesRead < msgLen) { + // Caught by phoneEventSocketLoop. + throw new Exception( + "Failed to read from controller emulator app event socket." + + "\nVerify that the controller emulator app is running."); + } + + PhoneEvent proto = + PhoneEvent.CreateBuilder().MergeFrom(dataBuffer).Build(); + phoneRemote.OnPhoneEvent(proto); + + connected = EmulatorClientSocketConnectionState.Connected; + + if (!lastConnectionAttemptWasSuccessful) { + Debug.Log("Successfully connected to controller emulator app."); + // Log first failure after after successful read from event socket. + lastConnectionAttemptWasSuccessful = true; + } + } + } + + private int blockingRead(NetworkStream stream, byte[] buffer, int index, + int count) { + int bytesRead = 0; + while (!shouldStop && bytesRead < count) { + try { + int n = stream.Read(buffer, index + bytesRead, count - bytesRead); + if (n <= 0) { + // Failed to read. + return -1; + } + bytesRead += n; + } catch (IOException) { + // Read failed or timed out. + return -1; + } catch (ObjectDisposedException) { + // Socket closed. + return -1; + } + } + return bytesRead; + } + + void OnDestroy() { + shouldStop = true; + + if (phoneMirroringSocket != null) { + phoneMirroringSocket.Close (); + phoneMirroringSocket = null; + } + + if (phoneEventThread != null) { + phoneEventThread.Join(); + } + } + + private int unpack32bits(byte[] array, int offset) { + int num = 0; + for (int i = 0; i < 4; i++) { + num += array [offset + i] << (i * 8); + } + return num; + } + + static private byte[] correctEndianness(byte[] array) { + if (BitConverter.IsLittleEndian) + Array.Reverse(array); + + return array; + } + } +} +/// @endcond + +#endif // UNITY_EDITOR diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorClientSocket.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorClientSocket.cs.meta new file mode 100644 index 0000000..d2b5387 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorClientSocket.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6bf1f92fb4ae24291b71e77c1ccac323 +timeCreated: 1462051657 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorConfig.cs b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorConfig.cs new file mode 100644 index 0000000..f89a2f7 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorConfig.cs @@ -0,0 +1,60 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +/// @cond +namespace Gvr.Internal { + class EmulatorConfig : MonoBehaviour { + public static EmulatorConfig Instance { + get { + if (instance == null) { + EmulatorConfig[] configs = (EmulatorConfig[]) FindObjectsOfType(typeof(EmulatorConfig)); + if (configs.Length == 1) { + instance = configs[0]; + } else if (configs.Length > 1) { + Debug.LogError( + "Multiple PhoneRemote/Config objects in scene. Ignoring all."); + } + } + if (instance == null) { + var gameObject = new GameObject("PhoneRemoteConfig"); + instance = gameObject.AddComponent(); + DontDestroyOnLoad(instance); + } + return instance; + } + } + private static EmulatorConfig instance = null; + + public enum Mode { + OFF, + USB, + WIFI, + } + + // Set this value to match how the PC is connected to the phone that is + // streaming gyro, accel, and touch events. Set to OFF if using Wifi instead. + public Mode PHONE_EVENT_MODE = Mode.USB; + + /*----- Internal Parameters (should not require any changes). -----*/ + + // IP address of the phone, when connected to the PC via USB. + public static readonly string USB_SERVER_IP = "127.0.0.1"; + + // IP address of the phone, when connected to the PC via WiFi. + public static readonly string WIFI_SERVER_IP = "192.168.43.1"; + } +} +/// @endcond diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorConfig.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorConfig.cs.meta new file mode 100644 index 0000000..4b42fd7 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorConfig.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a229fefd8ee7448b0b700f6000ebdec3 +timeCreated: 1462051657 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorDataTypes.cs b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorDataTypes.cs new file mode 100644 index 0000000..eddf45d --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorDataTypes.cs @@ -0,0 +1,189 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System.Collections.Generic; +using UnityEngine; + +using proto; + +/// @cond +namespace Gvr.Internal { + struct EmulatorGyroEvent { + public readonly long timestamp; + public readonly Vector3 value; + + public EmulatorGyroEvent(PhoneEvent.Types.GyroscopeEvent proto) { + timestamp = proto.Timestamp; + value = new Vector3(proto.X, proto.Y, proto.Z); + } + } + + struct EmulatorAccelEvent { + public readonly long timestamp; + public readonly Vector3 value; + + public EmulatorAccelEvent(PhoneEvent.Types.AccelerometerEvent proto) { + timestamp = proto.Timestamp; + value = new Vector3(proto.X, proto.Y, proto.Z); + } + } + + struct EmulatorTouchEvent { + // Action constants. These should match the constants in the Android + // MotionEvent: + // http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_CANCEL + public enum Action { + kActionDown = 0, + kActionUp = 1, + kActionMove = 2, + kActionCancel = 3, + kActionPointerDown = 5, + kActionPointerUp = 6, + kActionHoverMove = 7, + kActionHoverEnter = 9, + kActionHoverExit = 10 + }; + + // Use getActionMasked() and getActionPointer() instead. + private readonly int action; + public readonly int relativeTimestamp; + public readonly List pointers; + + public struct Pointer { + public readonly int fingerId; + public readonly float normalizedX; + public readonly float normalizedY; + + public Pointer(int fingerId, float normalizedX, float normalizedY) { + this.fingerId = fingerId; + this.normalizedX = normalizedX; + this.normalizedY = normalizedY; + } + + public override string ToString () { + return string.Format ("({0}, {1}, {2})", fingerId, normalizedX, + normalizedY); + } + } + + public EmulatorTouchEvent(PhoneEvent.Types.MotionEvent proto, long lastDownTimeMs) { + action = proto.Action; + relativeTimestamp = + (Action)(proto.Action & ACTION_MASK) == Action.kActionDown + ? 0 : (int) (proto.Timestamp - lastDownTimeMs); + pointers = new List(); + foreach (PhoneEvent.Types.MotionEvent.Types.Pointer pointer in + proto.PointersList) { + pointers.Add( + new Pointer(pointer.Id, pointer.NormalizedX, pointer.NormalizedY)); + } + } + + public EmulatorTouchEvent(Action action, int pointerId, int relativeTimestamp, + List pointers) { + int fingerIndex = 0; + if (action == Action.kActionPointerDown + || action == Action.kActionPointerUp) { + fingerIndex = findPointerIndex(pointerId, pointers); + if (fingerIndex == -1) { + Debug.LogWarning("Could not find specific fingerId " + pointerId + + " in the supplied list of pointers."); + fingerIndex = 0; + } + } + this.action = getActionUnmasked(action, fingerIndex); + this.relativeTimestamp = relativeTimestamp; + this.pointers = pointers; + } + + // See Android's getActionMasked() and getActionIndex(). + private static readonly int ACTION_POINTER_INDEX_SHIFT = 8; + private static readonly int ACTION_POINTER_INDEX_MASK = 0xff00; + private static readonly int ACTION_MASK = 0xff; + + public Action getActionMasked() { + return (Action)(action & ACTION_MASK); + } + + public Pointer getActionPointer() { + int index = + (action & ACTION_POINTER_INDEX_MASK) >> ACTION_POINTER_INDEX_SHIFT; + return pointers[index]; + } + + + private static int getActionUnmasked(Action action, int fingerIndex) { + return ((int)action) | (fingerIndex << ACTION_POINTER_INDEX_SHIFT); + } + + private static int findPointerIndex(int fingerId, List pointers) { + // Encode the fingerId info into the action, as Android does. See Android's + // getActionMasked() and getActionIndex(). + int fingerIndex = -1; + for (int i = 0; i < pointers.Count; i++) { + if (fingerId == pointers[i].fingerId) { + fingerIndex = i; + break; + } + } + + return fingerIndex; + } + + public override string ToString () { + System.Text.StringBuilder builder = new System.Text.StringBuilder (); + builder.AppendFormat("t = {0}; A = {1}; P = {2}; N = {3}; [", + relativeTimestamp, getActionMasked (), getActionPointer ().fingerId, + pointers.Count); + for (int i = 0; i < pointers.Count; i++) { + builder.Append(pointers[i]).Append (", "); + } + builder.Append ("]"); + return builder.ToString(); + } + } + + struct EmulatorOrientationEvent { + public readonly long timestamp; + public readonly Quaternion orientation; + + public EmulatorOrientationEvent(PhoneEvent.Types.OrientationEvent proto) { + timestamp = proto.Timestamp; + // Convert from right-handed coordinates to left-handed. + orientation = new Quaternion(proto.X, proto.Y, -proto.Z, proto.W); + } + } + + struct EmulatorButtonEvent { + // Codes as reported by the IC app (reuses Android KeyEvent codes). + public enum ButtonCode { + kNone = 0, + kHome = 3, // android.view.KeyEvent.KEYCODE_HOME + kVolumeUp = 25, // android.view.KeyEvent.KEYCODE_VOLUME_UP + kVolumeDown = 24, // android.view.KeyEvent.KEYCODE_VOLUME_DOWN + kClick = 66, // android.view.KeyEvent.KEYCODE_ENTER + kApp = 82, // android.view.KeyEvent.KEYCODE_MENU + } + + public readonly ButtonCode code; + public readonly bool down; + public EmulatorButtonEvent(PhoneEvent.Types.KeyEvent proto) { + code = (ButtonCode) proto.Code; + down = proto.Action == 0; + } + } +} +/// @endcond diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorDataTypes.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorDataTypes.cs.meta new file mode 100644 index 0000000..175d304 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorDataTypes.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 76d2b695633884daf905c07095c8a01c +timeCreated: 1462051657 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorManager.cs b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorManager.cs new file mode 100644 index 0000000..94b94a5 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorManager.cs @@ -0,0 +1,250 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// This class is only used in the Editor, so make sure to only compile it on that platform. +// Additionally, it depends on EmulatorClientSocket which is only compiled in the editor. +// This MonoBehaviour is only ever instantiated dynamically, so it is fine that it is only compiled in the Editor, +// Otherwise it would cause serialization issues. +#if UNITY_EDITOR + +using System.Collections; +using UnityEngine; + +using proto; + +/// @cond +namespace Gvr.Internal { + class EmulatorManager : MonoBehaviour { + + private IEnumerator emulatorUpdate; + private WaitForEndOfFrame waitForEndOfFrame = new WaitForEndOfFrame(); + + public static EmulatorManager Instance { + get { + if (instance == null) { + var gameObject = new GameObject("PhoneRemote"); + instance = gameObject.AddComponent(); + // This object should survive all scene transitions. + GameObject.DontDestroyOnLoad(instance); + } + return instance; + } + } + private static EmulatorManager instance = null; + + public delegate void OnGyroEvent(EmulatorGyroEvent gyroEvent); + public event OnGyroEvent gyroEventListeners { + add { + if (value != null) { + value(currentGyroEvent); + } + gyroEventListenersInternal += value; + } + + remove { + gyroEventListenersInternal -= value; + } + } + + public delegate void OnAccelEvent(EmulatorAccelEvent accelEvent); + public event OnAccelEvent accelEventListeners { + add { + if (value != null) { + value(currentAccelEvent); + } + accelEventListenersInternal += value; + } + + remove { + accelEventListenersInternal -= value; + } + } + + public delegate void OnTouchEvent(EmulatorTouchEvent touchEvent); + public event OnTouchEvent touchEventListeners { + add { + if (value != null + && currentTouchEvent.pointers != null /* null only during init */) { + value(currentTouchEvent); + } + touchEventListenersInternal += value; + } + + remove { + touchEventListenersInternal -= value; + } + } + + public delegate void OnOrientationEvent(EmulatorOrientationEvent orientationEvent); + public event OnOrientationEvent orientationEventListeners { + add { + if (value != null) { + value(currentOrientationEvent); + } + orientationEventListenersInternal += value; + } + + remove { + orientationEventListenersInternal -= value; + } + } + + public delegate void OnButtonEvent(EmulatorButtonEvent buttonEvent); + public event OnButtonEvent buttonEventListeners { + add { + if (value != null) { + value(currentButtonEvent); + } + buttonEventListenersInternal += value; + } + + remove { + buttonEventListenersInternal -= value; + } + } + + + private void onGyroEvent(EmulatorGyroEvent e) { + currentGyroEvent = e; + if (gyroEventListenersInternal != null) { + gyroEventListenersInternal(e); + } + } + + private void onAccelEvent(EmulatorAccelEvent e) { + currentAccelEvent = e; + if (accelEventListenersInternal != null) { + accelEventListenersInternal(e); + } + } + + private void onTouchEvent(EmulatorTouchEvent e) { + currentTouchEvent = e; + if (touchEventListenersInternal != null) { + touchEventListenersInternal(e); + } + } + + private void onOrientationEvent(EmulatorOrientationEvent e) { + currentOrientationEvent = e; + if (orientationEventListenersInternal != null) { + orientationEventListenersInternal(e); + } + } + + private void onButtonEvent(EmulatorButtonEvent e) { + currentButtonEvent = e; + if (buttonEventListenersInternal != null) { + buttonEventListenersInternal(e); + } + } + + EmulatorGyroEvent currentGyroEvent; + EmulatorAccelEvent currentAccelEvent; + EmulatorTouchEvent currentTouchEvent; + EmulatorOrientationEvent currentOrientationEvent; + EmulatorButtonEvent currentButtonEvent; + + private event OnGyroEvent gyroEventListenersInternal; + private event OnAccelEvent accelEventListenersInternal; + private event OnTouchEvent touchEventListenersInternal; + private event OnOrientationEvent orientationEventListenersInternal; + private event OnButtonEvent buttonEventListenersInternal; + + private Queue pendingEvents = Queue.Synchronized(new Queue()); + private EmulatorClientSocket socket; + private long lastDownTimeMs; + + public bool Connected { + get { + return socket != null && socket.connected == EmulatorClientSocketConnectionState.Connected; + } + } + + public bool Connecting { + get { + return socket != null && socket.connected == EmulatorClientSocketConnectionState.Connecting; + } + } + + public void Awake() { + if (instance == null) { + instance = this; + } + if (instance != this) { + Debug.LogWarning("PhoneRemote must be a singleton."); + enabled = false; + return; + } + } + + public void Start() { + socket = gameObject.AddComponent(); + socket.Init(this); + emulatorUpdate = EndOfFrame(); + StartCoroutine(emulatorUpdate); + } + + IEnumerator EndOfFrame() { + while (true) { + yield return waitForEndOfFrame; + lock (pendingEvents.SyncRoot) { + while (pendingEvents.Count > 0) { + PhoneEvent phoneEvent = (PhoneEvent) pendingEvents.Dequeue(); + ProcessEventAtEndOfFrame(phoneEvent); + } + } + } + } + + public void OnPhoneEvent(PhoneEvent e) { + pendingEvents.Enqueue(e); + } + + private void ProcessEventAtEndOfFrame(PhoneEvent e) { + switch (e.Type) { + case PhoneEvent.Types.Type.MOTION: + EmulatorTouchEvent touchEvent = new EmulatorTouchEvent(e.MotionEvent, lastDownTimeMs); + onTouchEvent(touchEvent); + if (touchEvent.getActionMasked() == EmulatorTouchEvent.Action.kActionDown) { + lastDownTimeMs = e.MotionEvent.Timestamp; + } + break; + case PhoneEvent.Types.Type.GYROSCOPE: + EmulatorGyroEvent gyroEvent = new EmulatorGyroEvent(e.GyroscopeEvent); + onGyroEvent(gyroEvent); + break; + case PhoneEvent.Types.Type.ACCELEROMETER: + EmulatorAccelEvent accelEvent = new EmulatorAccelEvent(e.AccelerometerEvent); + onAccelEvent(accelEvent); + break; + case PhoneEvent.Types.Type.ORIENTATION: + EmulatorOrientationEvent orientationEvent = + new EmulatorOrientationEvent(e.OrientationEvent); + onOrientationEvent(orientationEvent); + break; + case PhoneEvent.Types.Type.KEY: + EmulatorButtonEvent buttonEvent = new EmulatorButtonEvent(e.KeyEvent); + onButtonEvent(buttonEvent); + break; + default: + Debug.Log("Unsupported PhoneEvent type: " + e.Type); + break; + } + } + } +} +/// @endcond + +#endif // UNITY_EDITOR diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorManager.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorManager.cs.meta new file mode 100644 index 0000000..0cb58af --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/EmulatorManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c42ca6bb02b364893b127c681c158442 +timeCreated: 1462051658 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/PhoneEvent.cs b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/PhoneEvent.cs new file mode 100644 index 0000000..5e693f9 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/PhoneEvent.cs @@ -0,0 +1,3506 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// Generated by ProtoGen, Version=2.4.1.473, Culture=neutral, PublicKeyToken=55f7125234beb589. DO NOT EDIT! +#pragma warning disable 1591, 0612 +#region Designer generated code + +using pb = global::Google.ProtocolBuffers; +using pbc = global::Google.ProtocolBuffers.Collections; +using pbd = global::Google.ProtocolBuffers.Descriptors; +using scg = global::System.Collections.Generic; + +/// @cond +namespace proto { + + namespace Proto { + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public static partial class PhoneEvent { + + #region Extension registration + public static void RegisterAllExtensions(pb::ExtensionRegistry registry) { + } + #endregion + #region Static variables + #endregion + #region Extensions + internal static readonly object Descriptor; + static PhoneEvent() { + Descriptor = null; + } + #endregion + + } + } + #region Messages + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class PhoneEvent : pb::GeneratedMessageLite { + private PhoneEvent() { } + private static readonly PhoneEvent defaultInstance = new PhoneEvent().MakeReadOnly(); + private static readonly string[] _phoneEventFieldNames = new string[] { "accelerometer_event", "depth_map_event", "gyroscope_event", "key_event", "motion_event", "orientation_event", "type" }; + private static readonly uint[] _phoneEventFieldTags = new uint[] { 34, 42, 26, 58, 18, 50, 8 }; + public static PhoneEvent DefaultInstance { + get { return defaultInstance; } + } + + public override PhoneEvent DefaultInstanceForType { + get { return DefaultInstance; } + } + + protected override PhoneEvent ThisMessage { + get { return this; } + } + + #region Nested types + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public static class Types { + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public enum Type { + MOTION = 1, + GYROSCOPE = 2, + ACCELEROMETER = 3, + DEPTH_MAP = 4, + ORIENTATION = 5, + KEY = 6, + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class MotionEvent : pb::GeneratedMessageLite { + private MotionEvent() { } + private static readonly MotionEvent defaultInstance = new MotionEvent().MakeReadOnly(); + private static readonly string[] _motionEventFieldNames = new string[] { "action", "pointers", "timestamp" }; + private static readonly uint[] _motionEventFieldTags = new uint[] { 16, 26, 8 }; + public static MotionEvent DefaultInstance { + get { return defaultInstance; } + } + + public override MotionEvent DefaultInstanceForType { + get { return DefaultInstance; } + } + + protected override MotionEvent ThisMessage { + get { return this; } + } + + #region Nested types + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public static class Types { + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class Pointer : pb::GeneratedMessageLite { + private Pointer() { } + private static readonly Pointer defaultInstance = new Pointer().MakeReadOnly(); + private static readonly string[] _pointerFieldNames = new string[] { "id", "normalized_x", "normalized_y" }; + private static readonly uint[] _pointerFieldTags = new uint[] { 8, 21, 29 }; + public static Pointer DefaultInstance { + get { return defaultInstance; } + } + + public override Pointer DefaultInstanceForType { + get { return DefaultInstance; } + } + + protected override Pointer ThisMessage { + get { return this; } + } + + public const int IdFieldNumber = 1; + private bool hasId; + private int id_; + public bool HasId { + get { return hasId; } + } + public int Id { + get { return id_; } + } + + public const int NormalizedXFieldNumber = 2; + private bool hasNormalizedX; + private float normalizedX_; + public bool HasNormalizedX { + get { return hasNormalizedX; } + } + public float NormalizedX { + get { return normalizedX_; } + } + + public const int NormalizedYFieldNumber = 3; + private bool hasNormalizedY; + private float normalizedY_; + public bool HasNormalizedY { + get { return hasNormalizedY; } + } + public float NormalizedY { + get { return normalizedY_; } + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::ICodedOutputStream output) { + string[] field_names = _pointerFieldNames; + if (hasId) { + output.WriteInt32(1, field_names[0], Id); + } + if (hasNormalizedX) { + output.WriteFloat(2, field_names[1], NormalizedX); + } + if (hasNormalizedY) { + output.WriteFloat(3, field_names[2], NormalizedY); + } + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasId) { + size += pb::CodedOutputStream.ComputeInt32Size(1, Id); + } + if (hasNormalizedX) { + size += pb::CodedOutputStream.ComputeFloatSize(2, NormalizedX); + } + if (hasNormalizedY) { + size += pb::CodedOutputStream.ComputeFloatSize(3, NormalizedY); + } + memoizedSerializedSize = size; + return size; + } + } + + #region Lite runtime methods + public override int GetHashCode() { + int hash = GetType().GetHashCode(); + if (hasId) hash ^= id_.GetHashCode(); + if (hasNormalizedX) hash ^= normalizedX_.GetHashCode(); + if (hasNormalizedY) hash ^= normalizedY_.GetHashCode(); + return hash; + } + + public override bool Equals(object obj) { + Pointer other = obj as Pointer; + if (other == null) return false; + if (hasId != other.hasId || (hasId && !id_.Equals(other.id_))) return false; + if (hasNormalizedX != other.hasNormalizedX || (hasNormalizedX && !normalizedX_.Equals(other.normalizedX_))) return false; + if (hasNormalizedY != other.hasNormalizedY || (hasNormalizedY && !normalizedY_.Equals(other.normalizedY_))) return false; + return true; + } + + public override void PrintTo(global::System.IO.TextWriter writer) { + PrintField("id", hasId, id_, writer); + PrintField("normalized_x", hasNormalizedX, normalizedX_, writer); + PrintField("normalized_y", hasNormalizedY, normalizedY_, writer); + } + #endregion + + public static Pointer ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static Pointer ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static Pointer ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static Pointer ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static Pointer ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static Pointer ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + public static Pointer ParseDelimitedFrom(global::System.IO.Stream input) { + return CreateBuilder().MergeDelimitedFrom(input).BuildParsed(); + } + public static Pointer ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed(); + } + public static Pointer ParseFrom(pb::ICodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static Pointer ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + private Pointer MakeReadOnly() { + return this; + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder ToBuilder() { return CreateBuilder(this); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(Pointer prototype) { + return new Builder(prototype); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class Builder : pb::GeneratedBuilderLite { + protected override Builder ThisBuilder { + get { return this; } + } + public Builder() { + result = DefaultInstance; + resultIsReadOnly = true; + } + internal Builder(Pointer cloneFrom) { + result = cloneFrom; + resultIsReadOnly = true; + } + + private bool resultIsReadOnly; + private Pointer result; + + private Pointer PrepareBuilder() { + if (resultIsReadOnly) { + Pointer original = result; + result = new Pointer(); + resultIsReadOnly = false; + MergeFrom(original); + } + return result; + } + + public override bool IsInitialized { + get { return result.IsInitialized; } + } + + protected override Pointer MessageBeingBuilt { + get { return PrepareBuilder(); } + } + + public override Builder Clear() { + result = DefaultInstance; + resultIsReadOnly = true; + return this; + } + + public override Builder Clone() { + if (resultIsReadOnly) { + return new Builder(result); + } else { + return new Builder().MergeFrom(result); + } + } + + public override Pointer DefaultInstanceForType { + get { return global::proto.PhoneEvent.Types.MotionEvent.Types.Pointer.DefaultInstance; } + } + + public override Pointer BuildPartial() { + if (resultIsReadOnly) { + return result; + } + resultIsReadOnly = true; + return result.MakeReadOnly(); + } + + public override Builder MergeFrom(pb::IMessageLite other) { + if (other is Pointer) { + return MergeFrom((Pointer) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(Pointer other) { + if (other == global::proto.PhoneEvent.Types.MotionEvent.Types.Pointer.DefaultInstance) return this; + PrepareBuilder(); + if (other.HasId) { + Id = other.Id; + } + if (other.HasNormalizedX) { + NormalizedX = other.NormalizedX; + } + if (other.HasNormalizedY) { + NormalizedY = other.NormalizedY; + } + return this; + } + + public override Builder MergeFrom(pb::ICodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + PrepareBuilder(); + uint tag; + string field_name; + while (input.ReadTag(out tag, out field_name)) { + if(tag == 0 && field_name != null) { + int field_ordinal = global::System.Array.BinarySearch(_pointerFieldNames, field_name, global::System.StringComparer.Ordinal); + if(field_ordinal >= 0) + tag = _pointerFieldTags[field_ordinal]; + else { + ParseUnknownField(input, extensionRegistry, tag, field_name); + continue; + } + } + switch (tag) { + case 0: { + throw pb::InvalidProtocolBufferException.InvalidTag(); + } + default: { + if (pb::WireFormat.IsEndGroupTag(tag)) { + return this; + } + ParseUnknownField(input, extensionRegistry, tag, field_name); + break; + } + case 8: { + result.hasId = input.ReadInt32(ref result.id_); + break; + } + case 21: { + result.hasNormalizedX = input.ReadFloat(ref result.normalizedX_); + break; + } + case 29: { + result.hasNormalizedY = input.ReadFloat(ref result.normalizedY_); + break; + } + } + } + + return this; + } + + + public bool HasId { + get { return result.hasId; } + } + public int Id { + get { return result.Id; } + set { SetId(value); } + } + public Builder SetId(int value) { + PrepareBuilder(); + result.hasId = true; + result.id_ = value; + return this; + } + public Builder ClearId() { + PrepareBuilder(); + result.hasId = false; + result.id_ = 0; + return this; + } + + public bool HasNormalizedX { + get { return result.hasNormalizedX; } + } + public float NormalizedX { + get { return result.NormalizedX; } + set { SetNormalizedX(value); } + } + public Builder SetNormalizedX(float value) { + PrepareBuilder(); + result.hasNormalizedX = true; + result.normalizedX_ = value; + return this; + } + public Builder ClearNormalizedX() { + PrepareBuilder(); + result.hasNormalizedX = false; + result.normalizedX_ = 0F; + return this; + } + + public bool HasNormalizedY { + get { return result.hasNormalizedY; } + } + public float NormalizedY { + get { return result.NormalizedY; } + set { SetNormalizedY(value); } + } + public Builder SetNormalizedY(float value) { + PrepareBuilder(); + result.hasNormalizedY = true; + result.normalizedY_ = value; + return this; + } + public Builder ClearNormalizedY() { + PrepareBuilder(); + result.hasNormalizedY = false; + result.normalizedY_ = 0F; + return this; + } + } + static Pointer() { + object.ReferenceEquals(global::proto.Proto.PhoneEvent.Descriptor, null); + } + } + + } + #endregion + + public const int TimestampFieldNumber = 1; + private bool hasTimestamp; + private long timestamp_; + public bool HasTimestamp { + get { return hasTimestamp; } + } + public long Timestamp { + get { return timestamp_; } + } + + public const int ActionFieldNumber = 2; + private bool hasAction; + private int action_; + public bool HasAction { + get { return hasAction; } + } + public int Action { + get { return action_; } + } + + public const int PointersFieldNumber = 3; + private pbc::PopsicleList pointers_ = new pbc::PopsicleList(); + public scg::IList PointersList { + get { return pointers_; } + } + public int PointersCount { + get { return pointers_.Count; } + } + public global::proto.PhoneEvent.Types.MotionEvent.Types.Pointer GetPointers(int index) { + return pointers_[index]; + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::ICodedOutputStream output) { + string[] field_names = _motionEventFieldNames; + if (hasTimestamp) { + output.WriteInt64(1, field_names[2], Timestamp); + } + if (hasAction) { + output.WriteInt32(2, field_names[0], Action); + } + if (pointers_.Count > 0) { + output.WriteMessageArray(3, field_names[1], pointers_); + } + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasTimestamp) { + size += pb::CodedOutputStream.ComputeInt64Size(1, Timestamp); + } + if (hasAction) { + size += pb::CodedOutputStream.ComputeInt32Size(2, Action); + } + foreach (global::proto.PhoneEvent.Types.MotionEvent.Types.Pointer element in PointersList) { + size += pb::CodedOutputStream.ComputeMessageSize(3, element); + } + memoizedSerializedSize = size; + return size; + } + } + + #region Lite runtime methods + public override int GetHashCode() { + int hash = GetType().GetHashCode(); + if (hasTimestamp) hash ^= timestamp_.GetHashCode(); + if (hasAction) hash ^= action_.GetHashCode(); + foreach(global::proto.PhoneEvent.Types.MotionEvent.Types.Pointer i in pointers_) + hash ^= i.GetHashCode(); + return hash; + } + + public override bool Equals(object obj) { + MotionEvent other = obj as MotionEvent; + if (other == null) return false; + if (hasTimestamp != other.hasTimestamp || (hasTimestamp && !timestamp_.Equals(other.timestamp_))) return false; + if (hasAction != other.hasAction || (hasAction && !action_.Equals(other.action_))) return false; + if(pointers_.Count != other.pointers_.Count) return false; + for(int ix=0; ix < pointers_.Count; ix++) + if(!pointers_[ix].Equals(other.pointers_[ix])) return false; + return true; + } + + public override void PrintTo(global::System.IO.TextWriter writer) { + PrintField("timestamp", hasTimestamp, timestamp_, writer); + PrintField("action", hasAction, action_, writer); + PrintField("pointers", pointers_, writer); + } + #endregion + + public static MotionEvent ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static MotionEvent ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static MotionEvent ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static MotionEvent ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static MotionEvent ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static MotionEvent ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + public static MotionEvent ParseDelimitedFrom(global::System.IO.Stream input) { + return CreateBuilder().MergeDelimitedFrom(input).BuildParsed(); + } + public static MotionEvent ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed(); + } + public static MotionEvent ParseFrom(pb::ICodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static MotionEvent ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + private MotionEvent MakeReadOnly() { + pointers_.MakeReadOnly(); + return this; + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder ToBuilder() { return CreateBuilder(this); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(MotionEvent prototype) { + return new Builder(prototype); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class Builder : pb::GeneratedBuilderLite { + protected override Builder ThisBuilder { + get { return this; } + } + public Builder() { + result = DefaultInstance; + resultIsReadOnly = true; + } + internal Builder(MotionEvent cloneFrom) { + result = cloneFrom; + resultIsReadOnly = true; + } + + private bool resultIsReadOnly; + private MotionEvent result; + + private MotionEvent PrepareBuilder() { + if (resultIsReadOnly) { + MotionEvent original = result; + result = new MotionEvent(); + resultIsReadOnly = false; + MergeFrom(original); + } + return result; + } + + public override bool IsInitialized { + get { return result.IsInitialized; } + } + + protected override MotionEvent MessageBeingBuilt { + get { return PrepareBuilder(); } + } + + public override Builder Clear() { + result = DefaultInstance; + resultIsReadOnly = true; + return this; + } + + public override Builder Clone() { + if (resultIsReadOnly) { + return new Builder(result); + } else { + return new Builder().MergeFrom(result); + } + } + + public override MotionEvent DefaultInstanceForType { + get { return global::proto.PhoneEvent.Types.MotionEvent.DefaultInstance; } + } + + public override MotionEvent BuildPartial() { + if (resultIsReadOnly) { + return result; + } + resultIsReadOnly = true; + return result.MakeReadOnly(); + } + + public override Builder MergeFrom(pb::IMessageLite other) { + if (other is MotionEvent) { + return MergeFrom((MotionEvent) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(MotionEvent other) { + if (other == global::proto.PhoneEvent.Types.MotionEvent.DefaultInstance) return this; + PrepareBuilder(); + if (other.HasTimestamp) { + Timestamp = other.Timestamp; + } + if (other.HasAction) { + Action = other.Action; + } + if (other.pointers_.Count != 0) { + result.pointers_.Add(other.pointers_); + } + return this; + } + + public override Builder MergeFrom(pb::ICodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + PrepareBuilder(); + uint tag; + string field_name; + while (input.ReadTag(out tag, out field_name)) { + if(tag == 0 && field_name != null) { + int field_ordinal = global::System.Array.BinarySearch(_motionEventFieldNames, field_name, global::System.StringComparer.Ordinal); + if(field_ordinal >= 0) + tag = _motionEventFieldTags[field_ordinal]; + else { + ParseUnknownField(input, extensionRegistry, tag, field_name); + continue; + } + } + switch (tag) { + case 0: { + throw pb::InvalidProtocolBufferException.InvalidTag(); + } + default: { + if (pb::WireFormat.IsEndGroupTag(tag)) { + return this; + } + ParseUnknownField(input, extensionRegistry, tag, field_name); + break; + } + case 8: { + result.hasTimestamp = input.ReadInt64(ref result.timestamp_); + break; + } + case 16: { + result.hasAction = input.ReadInt32(ref result.action_); + break; + } + case 26: { + input.ReadMessageArray(tag, field_name, result.pointers_, global::proto.PhoneEvent.Types.MotionEvent.Types.Pointer.DefaultInstance, extensionRegistry); + break; + } + } + } + + return this; + } + + + public bool HasTimestamp { + get { return result.hasTimestamp; } + } + public long Timestamp { + get { return result.Timestamp; } + set { SetTimestamp(value); } + } + public Builder SetTimestamp(long value) { + PrepareBuilder(); + result.hasTimestamp = true; + result.timestamp_ = value; + return this; + } + public Builder ClearTimestamp() { + PrepareBuilder(); + result.hasTimestamp = false; + result.timestamp_ = 0L; + return this; + } + + public bool HasAction { + get { return result.hasAction; } + } + public int Action { + get { return result.Action; } + set { SetAction(value); } + } + public Builder SetAction(int value) { + PrepareBuilder(); + result.hasAction = true; + result.action_ = value; + return this; + } + public Builder ClearAction() { + PrepareBuilder(); + result.hasAction = false; + result.action_ = 0; + return this; + } + + public pbc::IPopsicleList PointersList { + get { return PrepareBuilder().pointers_; } + } + public int PointersCount { + get { return result.PointersCount; } + } + public global::proto.PhoneEvent.Types.MotionEvent.Types.Pointer GetPointers(int index) { + return result.GetPointers(index); + } + public Builder SetPointers(int index, global::proto.PhoneEvent.Types.MotionEvent.Types.Pointer value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + result.pointers_[index] = value; + return this; + } + public Builder SetPointers(int index, global::proto.PhoneEvent.Types.MotionEvent.Types.Pointer.Builder builderForValue) { + pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue"); + PrepareBuilder(); + result.pointers_[index] = builderForValue.Build(); + return this; + } + public Builder AddPointers(global::proto.PhoneEvent.Types.MotionEvent.Types.Pointer value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + result.pointers_.Add(value); + return this; + } + public Builder AddPointers(global::proto.PhoneEvent.Types.MotionEvent.Types.Pointer.Builder builderForValue) { + pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue"); + PrepareBuilder(); + result.pointers_.Add(builderForValue.Build()); + return this; + } + public Builder AddRangePointers(scg::IEnumerable values) { + PrepareBuilder(); + result.pointers_.Add(values); + return this; + } + public Builder ClearPointers() { + PrepareBuilder(); + result.pointers_.Clear(); + return this; + } + } + static MotionEvent() { + object.ReferenceEquals(global::proto.Proto.PhoneEvent.Descriptor, null); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class GyroscopeEvent : pb::GeneratedMessageLite { + private GyroscopeEvent() { } + private static readonly GyroscopeEvent defaultInstance = new GyroscopeEvent().MakeReadOnly(); + private static readonly string[] _gyroscopeEventFieldNames = new string[] { "timestamp", "x", "y", "z" }; + private static readonly uint[] _gyroscopeEventFieldTags = new uint[] { 8, 21, 29, 37 }; + public static GyroscopeEvent DefaultInstance { + get { return defaultInstance; } + } + + public override GyroscopeEvent DefaultInstanceForType { + get { return DefaultInstance; } + } + + protected override GyroscopeEvent ThisMessage { + get { return this; } + } + + public const int TimestampFieldNumber = 1; + private bool hasTimestamp; + private long timestamp_; + public bool HasTimestamp { + get { return hasTimestamp; } + } + public long Timestamp { + get { return timestamp_; } + } + + public const int XFieldNumber = 2; + private bool hasX; + private float x_; + public bool HasX { + get { return hasX; } + } + public float X { + get { return x_; } + } + + public const int YFieldNumber = 3; + private bool hasY; + private float y_; + public bool HasY { + get { return hasY; } + } + public float Y { + get { return y_; } + } + + public const int ZFieldNumber = 4; + private bool hasZ; + private float z_; + public bool HasZ { + get { return hasZ; } + } + public float Z { + get { return z_; } + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::ICodedOutputStream output) { + string[] field_names = _gyroscopeEventFieldNames; + if (hasTimestamp) { + output.WriteInt64(1, field_names[0], Timestamp); + } + if (hasX) { + output.WriteFloat(2, field_names[1], X); + } + if (hasY) { + output.WriteFloat(3, field_names[2], Y); + } + if (hasZ) { + output.WriteFloat(4, field_names[3], Z); + } + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasTimestamp) { + size += pb::CodedOutputStream.ComputeInt64Size(1, Timestamp); + } + if (hasX) { + size += pb::CodedOutputStream.ComputeFloatSize(2, X); + } + if (hasY) { + size += pb::CodedOutputStream.ComputeFloatSize(3, Y); + } + if (hasZ) { + size += pb::CodedOutputStream.ComputeFloatSize(4, Z); + } + memoizedSerializedSize = size; + return size; + } + } + + #region Lite runtime methods + public override int GetHashCode() { + int hash = GetType().GetHashCode(); + if (hasTimestamp) hash ^= timestamp_.GetHashCode(); + if (hasX) hash ^= x_.GetHashCode(); + if (hasY) hash ^= y_.GetHashCode(); + if (hasZ) hash ^= z_.GetHashCode(); + return hash; + } + + public override bool Equals(object obj) { + GyroscopeEvent other = obj as GyroscopeEvent; + if (other == null) return false; + if (hasTimestamp != other.hasTimestamp || (hasTimestamp && !timestamp_.Equals(other.timestamp_))) return false; + if (hasX != other.hasX || (hasX && !x_.Equals(other.x_))) return false; + if (hasY != other.hasY || (hasY && !y_.Equals(other.y_))) return false; + if (hasZ != other.hasZ || (hasZ && !z_.Equals(other.z_))) return false; + return true; + } + + public override void PrintTo(global::System.IO.TextWriter writer) { + PrintField("timestamp", hasTimestamp, timestamp_, writer); + PrintField("x", hasX, x_, writer); + PrintField("y", hasY, y_, writer); + PrintField("z", hasZ, z_, writer); + } + #endregion + + public static GyroscopeEvent ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static GyroscopeEvent ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static GyroscopeEvent ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static GyroscopeEvent ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static GyroscopeEvent ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static GyroscopeEvent ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + public static GyroscopeEvent ParseDelimitedFrom(global::System.IO.Stream input) { + return CreateBuilder().MergeDelimitedFrom(input).BuildParsed(); + } + public static GyroscopeEvent ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed(); + } + public static GyroscopeEvent ParseFrom(pb::ICodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static GyroscopeEvent ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + private GyroscopeEvent MakeReadOnly() { + return this; + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder ToBuilder() { return CreateBuilder(this); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(GyroscopeEvent prototype) { + return new Builder(prototype); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class Builder : pb::GeneratedBuilderLite { + protected override Builder ThisBuilder { + get { return this; } + } + public Builder() { + result = DefaultInstance; + resultIsReadOnly = true; + } + internal Builder(GyroscopeEvent cloneFrom) { + result = cloneFrom; + resultIsReadOnly = true; + } + + private bool resultIsReadOnly; + private GyroscopeEvent result; + + private GyroscopeEvent PrepareBuilder() { + if (resultIsReadOnly) { + GyroscopeEvent original = result; + result = new GyroscopeEvent(); + resultIsReadOnly = false; + MergeFrom(original); + } + return result; + } + + public override bool IsInitialized { + get { return result.IsInitialized; } + } + + protected override GyroscopeEvent MessageBeingBuilt { + get { return PrepareBuilder(); } + } + + public override Builder Clear() { + result = DefaultInstance; + resultIsReadOnly = true; + return this; + } + + public override Builder Clone() { + if (resultIsReadOnly) { + return new Builder(result); + } else { + return new Builder().MergeFrom(result); + } + } + + public override GyroscopeEvent DefaultInstanceForType { + get { return global::proto.PhoneEvent.Types.GyroscopeEvent.DefaultInstance; } + } + + public override GyroscopeEvent BuildPartial() { + if (resultIsReadOnly) { + return result; + } + resultIsReadOnly = true; + return result.MakeReadOnly(); + } + + public override Builder MergeFrom(pb::IMessageLite other) { + if (other is GyroscopeEvent) { + return MergeFrom((GyroscopeEvent) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(GyroscopeEvent other) { + if (other == global::proto.PhoneEvent.Types.GyroscopeEvent.DefaultInstance) return this; + PrepareBuilder(); + if (other.HasTimestamp) { + Timestamp = other.Timestamp; + } + if (other.HasX) { + X = other.X; + } + if (other.HasY) { + Y = other.Y; + } + if (other.HasZ) { + Z = other.Z; + } + return this; + } + + public override Builder MergeFrom(pb::ICodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + PrepareBuilder(); + uint tag; + string field_name; + while (input.ReadTag(out tag, out field_name)) { + if(tag == 0 && field_name != null) { + int field_ordinal = global::System.Array.BinarySearch(_gyroscopeEventFieldNames, field_name, global::System.StringComparer.Ordinal); + if(field_ordinal >= 0) + tag = _gyroscopeEventFieldTags[field_ordinal]; + else { + ParseUnknownField(input, extensionRegistry, tag, field_name); + continue; + } + } + switch (tag) { + case 0: { + throw pb::InvalidProtocolBufferException.InvalidTag(); + } + default: { + if (pb::WireFormat.IsEndGroupTag(tag)) { + return this; + } + ParseUnknownField(input, extensionRegistry, tag, field_name); + break; + } + case 8: { + result.hasTimestamp = input.ReadInt64(ref result.timestamp_); + break; + } + case 21: { + result.hasX = input.ReadFloat(ref result.x_); + break; + } + case 29: { + result.hasY = input.ReadFloat(ref result.y_); + break; + } + case 37: { + result.hasZ = input.ReadFloat(ref result.z_); + break; + } + } + } + + return this; + } + + + public bool HasTimestamp { + get { return result.hasTimestamp; } + } + public long Timestamp { + get { return result.Timestamp; } + set { SetTimestamp(value); } + } + public Builder SetTimestamp(long value) { + PrepareBuilder(); + result.hasTimestamp = true; + result.timestamp_ = value; + return this; + } + public Builder ClearTimestamp() { + PrepareBuilder(); + result.hasTimestamp = false; + result.timestamp_ = 0L; + return this; + } + + public bool HasX { + get { return result.hasX; } + } + public float X { + get { return result.X; } + set { SetX(value); } + } + public Builder SetX(float value) { + PrepareBuilder(); + result.hasX = true; + result.x_ = value; + return this; + } + public Builder ClearX() { + PrepareBuilder(); + result.hasX = false; + result.x_ = 0F; + return this; + } + + public bool HasY { + get { return result.hasY; } + } + public float Y { + get { return result.Y; } + set { SetY(value); } + } + public Builder SetY(float value) { + PrepareBuilder(); + result.hasY = true; + result.y_ = value; + return this; + } + public Builder ClearY() { + PrepareBuilder(); + result.hasY = false; + result.y_ = 0F; + return this; + } + + public bool HasZ { + get { return result.hasZ; } + } + public float Z { + get { return result.Z; } + set { SetZ(value); } + } + public Builder SetZ(float value) { + PrepareBuilder(); + result.hasZ = true; + result.z_ = value; + return this; + } + public Builder ClearZ() { + PrepareBuilder(); + result.hasZ = false; + result.z_ = 0F; + return this; + } + } + static GyroscopeEvent() { + object.ReferenceEquals(global::proto.Proto.PhoneEvent.Descriptor, null); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class AccelerometerEvent : pb::GeneratedMessageLite { + private AccelerometerEvent() { } + private static readonly AccelerometerEvent defaultInstance = new AccelerometerEvent().MakeReadOnly(); + private static readonly string[] _accelerometerEventFieldNames = new string[] { "timestamp", "x", "y", "z" }; + private static readonly uint[] _accelerometerEventFieldTags = new uint[] { 8, 21, 29, 37 }; + public static AccelerometerEvent DefaultInstance { + get { return defaultInstance; } + } + + public override AccelerometerEvent DefaultInstanceForType { + get { return DefaultInstance; } + } + + protected override AccelerometerEvent ThisMessage { + get { return this; } + } + + public const int TimestampFieldNumber = 1; + private bool hasTimestamp; + private long timestamp_; + public bool HasTimestamp { + get { return hasTimestamp; } + } + public long Timestamp { + get { return timestamp_; } + } + + public const int XFieldNumber = 2; + private bool hasX; + private float x_; + public bool HasX { + get { return hasX; } + } + public float X { + get { return x_; } + } + + public const int YFieldNumber = 3; + private bool hasY; + private float y_; + public bool HasY { + get { return hasY; } + } + public float Y { + get { return y_; } + } + + public const int ZFieldNumber = 4; + private bool hasZ; + private float z_; + public bool HasZ { + get { return hasZ; } + } + public float Z { + get { return z_; } + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::ICodedOutputStream output) { + string[] field_names = _accelerometerEventFieldNames; + if (hasTimestamp) { + output.WriteInt64(1, field_names[0], Timestamp); + } + if (hasX) { + output.WriteFloat(2, field_names[1], X); + } + if (hasY) { + output.WriteFloat(3, field_names[2], Y); + } + if (hasZ) { + output.WriteFloat(4, field_names[3], Z); + } + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasTimestamp) { + size += pb::CodedOutputStream.ComputeInt64Size(1, Timestamp); + } + if (hasX) { + size += pb::CodedOutputStream.ComputeFloatSize(2, X); + } + if (hasY) { + size += pb::CodedOutputStream.ComputeFloatSize(3, Y); + } + if (hasZ) { + size += pb::CodedOutputStream.ComputeFloatSize(4, Z); + } + memoizedSerializedSize = size; + return size; + } + } + + #region Lite runtime methods + public override int GetHashCode() { + int hash = GetType().GetHashCode(); + if (hasTimestamp) hash ^= timestamp_.GetHashCode(); + if (hasX) hash ^= x_.GetHashCode(); + if (hasY) hash ^= y_.GetHashCode(); + if (hasZ) hash ^= z_.GetHashCode(); + return hash; + } + + public override bool Equals(object obj) { + AccelerometerEvent other = obj as AccelerometerEvent; + if (other == null) return false; + if (hasTimestamp != other.hasTimestamp || (hasTimestamp && !timestamp_.Equals(other.timestamp_))) return false; + if (hasX != other.hasX || (hasX && !x_.Equals(other.x_))) return false; + if (hasY != other.hasY || (hasY && !y_.Equals(other.y_))) return false; + if (hasZ != other.hasZ || (hasZ && !z_.Equals(other.z_))) return false; + return true; + } + + public override void PrintTo(global::System.IO.TextWriter writer) { + PrintField("timestamp", hasTimestamp, timestamp_, writer); + PrintField("x", hasX, x_, writer); + PrintField("y", hasY, y_, writer); + PrintField("z", hasZ, z_, writer); + } + #endregion + + public static AccelerometerEvent ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static AccelerometerEvent ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static AccelerometerEvent ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static AccelerometerEvent ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static AccelerometerEvent ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static AccelerometerEvent ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + public static AccelerometerEvent ParseDelimitedFrom(global::System.IO.Stream input) { + return CreateBuilder().MergeDelimitedFrom(input).BuildParsed(); + } + public static AccelerometerEvent ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed(); + } + public static AccelerometerEvent ParseFrom(pb::ICodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static AccelerometerEvent ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + private AccelerometerEvent MakeReadOnly() { + return this; + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder ToBuilder() { return CreateBuilder(this); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(AccelerometerEvent prototype) { + return new Builder(prototype); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class Builder : pb::GeneratedBuilderLite { + protected override Builder ThisBuilder { + get { return this; } + } + public Builder() { + result = DefaultInstance; + resultIsReadOnly = true; + } + internal Builder(AccelerometerEvent cloneFrom) { + result = cloneFrom; + resultIsReadOnly = true; + } + + private bool resultIsReadOnly; + private AccelerometerEvent result; + + private AccelerometerEvent PrepareBuilder() { + if (resultIsReadOnly) { + AccelerometerEvent original = result; + result = new AccelerometerEvent(); + resultIsReadOnly = false; + MergeFrom(original); + } + return result; + } + + public override bool IsInitialized { + get { return result.IsInitialized; } + } + + protected override AccelerometerEvent MessageBeingBuilt { + get { return PrepareBuilder(); } + } + + public override Builder Clear() { + result = DefaultInstance; + resultIsReadOnly = true; + return this; + } + + public override Builder Clone() { + if (resultIsReadOnly) { + return new Builder(result); + } else { + return new Builder().MergeFrom(result); + } + } + + public override AccelerometerEvent DefaultInstanceForType { + get { return global::proto.PhoneEvent.Types.AccelerometerEvent.DefaultInstance; } + } + + public override AccelerometerEvent BuildPartial() { + if (resultIsReadOnly) { + return result; + } + resultIsReadOnly = true; + return result.MakeReadOnly(); + } + + public override Builder MergeFrom(pb::IMessageLite other) { + if (other is AccelerometerEvent) { + return MergeFrom((AccelerometerEvent) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(AccelerometerEvent other) { + if (other == global::proto.PhoneEvent.Types.AccelerometerEvent.DefaultInstance) return this; + PrepareBuilder(); + if (other.HasTimestamp) { + Timestamp = other.Timestamp; + } + if (other.HasX) { + X = other.X; + } + if (other.HasY) { + Y = other.Y; + } + if (other.HasZ) { + Z = other.Z; + } + return this; + } + + public override Builder MergeFrom(pb::ICodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + PrepareBuilder(); + uint tag; + string field_name; + while (input.ReadTag(out tag, out field_name)) { + if(tag == 0 && field_name != null) { + int field_ordinal = global::System.Array.BinarySearch(_accelerometerEventFieldNames, field_name, global::System.StringComparer.Ordinal); + if(field_ordinal >= 0) + tag = _accelerometerEventFieldTags[field_ordinal]; + else { + ParseUnknownField(input, extensionRegistry, tag, field_name); + continue; + } + } + switch (tag) { + case 0: { + throw pb::InvalidProtocolBufferException.InvalidTag(); + } + default: { + if (pb::WireFormat.IsEndGroupTag(tag)) { + return this; + } + ParseUnknownField(input, extensionRegistry, tag, field_name); + break; + } + case 8: { + result.hasTimestamp = input.ReadInt64(ref result.timestamp_); + break; + } + case 21: { + result.hasX = input.ReadFloat(ref result.x_); + break; + } + case 29: { + result.hasY = input.ReadFloat(ref result.y_); + break; + } + case 37: { + result.hasZ = input.ReadFloat(ref result.z_); + break; + } + } + } + + return this; + } + + + public bool HasTimestamp { + get { return result.hasTimestamp; } + } + public long Timestamp { + get { return result.Timestamp; } + set { SetTimestamp(value); } + } + public Builder SetTimestamp(long value) { + PrepareBuilder(); + result.hasTimestamp = true; + result.timestamp_ = value; + return this; + } + public Builder ClearTimestamp() { + PrepareBuilder(); + result.hasTimestamp = false; + result.timestamp_ = 0L; + return this; + } + + public bool HasX { + get { return result.hasX; } + } + public float X { + get { return result.X; } + set { SetX(value); } + } + public Builder SetX(float value) { + PrepareBuilder(); + result.hasX = true; + result.x_ = value; + return this; + } + public Builder ClearX() { + PrepareBuilder(); + result.hasX = false; + result.x_ = 0F; + return this; + } + + public bool HasY { + get { return result.hasY; } + } + public float Y { + get { return result.Y; } + set { SetY(value); } + } + public Builder SetY(float value) { + PrepareBuilder(); + result.hasY = true; + result.y_ = value; + return this; + } + public Builder ClearY() { + PrepareBuilder(); + result.hasY = false; + result.y_ = 0F; + return this; + } + + public bool HasZ { + get { return result.hasZ; } + } + public float Z { + get { return result.Z; } + set { SetZ(value); } + } + public Builder SetZ(float value) { + PrepareBuilder(); + result.hasZ = true; + result.z_ = value; + return this; + } + public Builder ClearZ() { + PrepareBuilder(); + result.hasZ = false; + result.z_ = 0F; + return this; + } + } + static AccelerometerEvent() { + object.ReferenceEquals(global::proto.Proto.PhoneEvent.Descriptor, null); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class DepthMapEvent : pb::GeneratedMessageLite { + private DepthMapEvent() { } + private static readonly DepthMapEvent defaultInstance = new DepthMapEvent().MakeReadOnly(); + private static readonly string[] _depthMapEventFieldNames = new string[] { "height", "timestamp", "width", "z_distances" }; + private static readonly uint[] _depthMapEventFieldTags = new uint[] { 24, 8, 16, 34 }; + public static DepthMapEvent DefaultInstance { + get { return defaultInstance; } + } + + public override DepthMapEvent DefaultInstanceForType { + get { return DefaultInstance; } + } + + protected override DepthMapEvent ThisMessage { + get { return this; } + } + + public const int TimestampFieldNumber = 1; + private bool hasTimestamp; + private long timestamp_; + public bool HasTimestamp { + get { return hasTimestamp; } + } + public long Timestamp { + get { return timestamp_; } + } + + public const int WidthFieldNumber = 2; + private bool hasWidth; + private int width_; + public bool HasWidth { + get { return hasWidth; } + } + public int Width { + get { return width_; } + } + + public const int HeightFieldNumber = 3; + private bool hasHeight; + private int height_; + public bool HasHeight { + get { return hasHeight; } + } + public int Height { + get { return height_; } + } + + public const int ZDistancesFieldNumber = 4; + private int zDistancesMemoizedSerializedSize; + private pbc::PopsicleList zDistances_ = new pbc::PopsicleList(); + public scg::IList ZDistancesList { + get { return pbc::Lists.AsReadOnly(zDistances_); } + } + public int ZDistancesCount { + get { return zDistances_.Count; } + } + public float GetZDistances(int index) { + return zDistances_[index]; + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::ICodedOutputStream output) { + string[] field_names = _depthMapEventFieldNames; + if (hasTimestamp) { + output.WriteInt64(1, field_names[1], Timestamp); + } + if (hasWidth) { + output.WriteInt32(2, field_names[2], Width); + } + if (hasHeight) { + output.WriteInt32(3, field_names[0], Height); + } + if (zDistances_.Count > 0) { + output.WritePackedFloatArray(4, field_names[3], zDistancesMemoizedSerializedSize, zDistances_); + } + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasTimestamp) { + size += pb::CodedOutputStream.ComputeInt64Size(1, Timestamp); + } + if (hasWidth) { + size += pb::CodedOutputStream.ComputeInt32Size(2, Width); + } + if (hasHeight) { + size += pb::CodedOutputStream.ComputeInt32Size(3, Height); + } + { + int dataSize = 0; + dataSize = 4 * zDistances_.Count; + size += dataSize; + if (zDistances_.Count != 0) { + size += 1 + pb::CodedOutputStream.ComputeInt32SizeNoTag(dataSize); + } + zDistancesMemoizedSerializedSize = dataSize; + } + memoizedSerializedSize = size; + return size; + } + } + + #region Lite runtime methods + public override int GetHashCode() { + int hash = GetType().GetHashCode(); + if (hasTimestamp) hash ^= timestamp_.GetHashCode(); + if (hasWidth) hash ^= width_.GetHashCode(); + if (hasHeight) hash ^= height_.GetHashCode(); + foreach(float i in zDistances_) + hash ^= i.GetHashCode(); + return hash; + } + + public override bool Equals(object obj) { + DepthMapEvent other = obj as DepthMapEvent; + if (other == null) return false; + if (hasTimestamp != other.hasTimestamp || (hasTimestamp && !timestamp_.Equals(other.timestamp_))) return false; + if (hasWidth != other.hasWidth || (hasWidth && !width_.Equals(other.width_))) return false; + if (hasHeight != other.hasHeight || (hasHeight && !height_.Equals(other.height_))) return false; + if(zDistances_.Count != other.zDistances_.Count) return false; + for(int ix=0; ix < zDistances_.Count; ix++) + if(!zDistances_[ix].Equals(other.zDistances_[ix])) return false; + return true; + } + + public override void PrintTo(global::System.IO.TextWriter writer) { + PrintField("timestamp", hasTimestamp, timestamp_, writer); + PrintField("width", hasWidth, width_, writer); + PrintField("height", hasHeight, height_, writer); + PrintField("z_distances", zDistances_, writer); + } + #endregion + + public static DepthMapEvent ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static DepthMapEvent ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static DepthMapEvent ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static DepthMapEvent ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static DepthMapEvent ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static DepthMapEvent ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + public static DepthMapEvent ParseDelimitedFrom(global::System.IO.Stream input) { + return CreateBuilder().MergeDelimitedFrom(input).BuildParsed(); + } + public static DepthMapEvent ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed(); + } + public static DepthMapEvent ParseFrom(pb::ICodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static DepthMapEvent ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + private DepthMapEvent MakeReadOnly() { + zDistances_.MakeReadOnly(); + return this; + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder ToBuilder() { return CreateBuilder(this); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(DepthMapEvent prototype) { + return new Builder(prototype); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class Builder : pb::GeneratedBuilderLite { + protected override Builder ThisBuilder { + get { return this; } + } + public Builder() { + result = DefaultInstance; + resultIsReadOnly = true; + } + internal Builder(DepthMapEvent cloneFrom) { + result = cloneFrom; + resultIsReadOnly = true; + } + + private bool resultIsReadOnly; + private DepthMapEvent result; + + private DepthMapEvent PrepareBuilder() { + if (resultIsReadOnly) { + DepthMapEvent original = result; + result = new DepthMapEvent(); + resultIsReadOnly = false; + MergeFrom(original); + } + return result; + } + + public override bool IsInitialized { + get { return result.IsInitialized; } + } + + protected override DepthMapEvent MessageBeingBuilt { + get { return PrepareBuilder(); } + } + + public override Builder Clear() { + result = DefaultInstance; + resultIsReadOnly = true; + return this; + } + + public override Builder Clone() { + if (resultIsReadOnly) { + return new Builder(result); + } else { + return new Builder().MergeFrom(result); + } + } + + public override DepthMapEvent DefaultInstanceForType { + get { return global::proto.PhoneEvent.Types.DepthMapEvent.DefaultInstance; } + } + + public override DepthMapEvent BuildPartial() { + if (resultIsReadOnly) { + return result; + } + resultIsReadOnly = true; + return result.MakeReadOnly(); + } + + public override Builder MergeFrom(pb::IMessageLite other) { + if (other is DepthMapEvent) { + return MergeFrom((DepthMapEvent) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(DepthMapEvent other) { + if (other == global::proto.PhoneEvent.Types.DepthMapEvent.DefaultInstance) return this; + PrepareBuilder(); + if (other.HasTimestamp) { + Timestamp = other.Timestamp; + } + if (other.HasWidth) { + Width = other.Width; + } + if (other.HasHeight) { + Height = other.Height; + } + if (other.zDistances_.Count != 0) { + result.zDistances_.Add(other.zDistances_); + } + return this; + } + + public override Builder MergeFrom(pb::ICodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + PrepareBuilder(); + uint tag; + string field_name; + while (input.ReadTag(out tag, out field_name)) { + if(tag == 0 && field_name != null) { + int field_ordinal = global::System.Array.BinarySearch(_depthMapEventFieldNames, field_name, global::System.StringComparer.Ordinal); + if(field_ordinal >= 0) + tag = _depthMapEventFieldTags[field_ordinal]; + else { + ParseUnknownField(input, extensionRegistry, tag, field_name); + continue; + } + } + switch (tag) { + case 0: { + throw pb::InvalidProtocolBufferException.InvalidTag(); + } + default: { + if (pb::WireFormat.IsEndGroupTag(tag)) { + return this; + } + ParseUnknownField(input, extensionRegistry, tag, field_name); + break; + } + case 8: { + result.hasTimestamp = input.ReadInt64(ref result.timestamp_); + break; + } + case 16: { + result.hasWidth = input.ReadInt32(ref result.width_); + break; + } + case 24: { + result.hasHeight = input.ReadInt32(ref result.height_); + break; + } + case 34: + case 37: { + input.ReadFloatArray(tag, field_name, result.zDistances_); + break; + } + } + } + + return this; + } + + + public bool HasTimestamp { + get { return result.hasTimestamp; } + } + public long Timestamp { + get { return result.Timestamp; } + set { SetTimestamp(value); } + } + public Builder SetTimestamp(long value) { + PrepareBuilder(); + result.hasTimestamp = true; + result.timestamp_ = value; + return this; + } + public Builder ClearTimestamp() { + PrepareBuilder(); + result.hasTimestamp = false; + result.timestamp_ = 0L; + return this; + } + + public bool HasWidth { + get { return result.hasWidth; } + } + public int Width { + get { return result.Width; } + set { SetWidth(value); } + } + public Builder SetWidth(int value) { + PrepareBuilder(); + result.hasWidth = true; + result.width_ = value; + return this; + } + public Builder ClearWidth() { + PrepareBuilder(); + result.hasWidth = false; + result.width_ = 0; + return this; + } + + public bool HasHeight { + get { return result.hasHeight; } + } + public int Height { + get { return result.Height; } + set { SetHeight(value); } + } + public Builder SetHeight(int value) { + PrepareBuilder(); + result.hasHeight = true; + result.height_ = value; + return this; + } + public Builder ClearHeight() { + PrepareBuilder(); + result.hasHeight = false; + result.height_ = 0; + return this; + } + + public pbc::IPopsicleList ZDistancesList { + get { return PrepareBuilder().zDistances_; } + } + public int ZDistancesCount { + get { return result.ZDistancesCount; } + } + public float GetZDistances(int index) { + return result.GetZDistances(index); + } + public Builder SetZDistances(int index, float value) { + PrepareBuilder(); + result.zDistances_[index] = value; + return this; + } + public Builder AddZDistances(float value) { + PrepareBuilder(); + result.zDistances_.Add(value); + return this; + } + public Builder AddRangeZDistances(scg::IEnumerable values) { + PrepareBuilder(); + result.zDistances_.Add(values); + return this; + } + public Builder ClearZDistances() { + PrepareBuilder(); + result.zDistances_.Clear(); + return this; + } + } + static DepthMapEvent() { + object.ReferenceEquals(global::proto.Proto.PhoneEvent.Descriptor, null); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class OrientationEvent : pb::GeneratedMessageLite { + private OrientationEvent() { } + private static readonly OrientationEvent defaultInstance = new OrientationEvent().MakeReadOnly(); + private static readonly string[] _orientationEventFieldNames = new string[] { "timestamp", "w", "x", "y", "z" }; + private static readonly uint[] _orientationEventFieldTags = new uint[] { 8, 45, 21, 29, 37 }; + public static OrientationEvent DefaultInstance { + get { return defaultInstance; } + } + + public override OrientationEvent DefaultInstanceForType { + get { return DefaultInstance; } + } + + protected override OrientationEvent ThisMessage { + get { return this; } + } + + public const int TimestampFieldNumber = 1; + private bool hasTimestamp; + private long timestamp_; + public bool HasTimestamp { + get { return hasTimestamp; } + } + public long Timestamp { + get { return timestamp_; } + } + + public const int XFieldNumber = 2; + private bool hasX; + private float x_; + public bool HasX { + get { return hasX; } + } + public float X { + get { return x_; } + } + + public const int YFieldNumber = 3; + private bool hasY; + private float y_; + public bool HasY { + get { return hasY; } + } + public float Y { + get { return y_; } + } + + public const int ZFieldNumber = 4; + private bool hasZ; + private float z_; + public bool HasZ { + get { return hasZ; } + } + public float Z { + get { return z_; } + } + + public const int WFieldNumber = 5; + private bool hasW; + private float w_; + public bool HasW { + get { return hasW; } + } + public float W { + get { return w_; } + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::ICodedOutputStream output) { + string[] field_names = _orientationEventFieldNames; + if (hasTimestamp) { + output.WriteInt64(1, field_names[0], Timestamp); + } + if (hasX) { + output.WriteFloat(2, field_names[2], X); + } + if (hasY) { + output.WriteFloat(3, field_names[3], Y); + } + if (hasZ) { + output.WriteFloat(4, field_names[4], Z); + } + if (hasW) { + output.WriteFloat(5, field_names[1], W); + } + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasTimestamp) { + size += pb::CodedOutputStream.ComputeInt64Size(1, Timestamp); + } + if (hasX) { + size += pb::CodedOutputStream.ComputeFloatSize(2, X); + } + if (hasY) { + size += pb::CodedOutputStream.ComputeFloatSize(3, Y); + } + if (hasZ) { + size += pb::CodedOutputStream.ComputeFloatSize(4, Z); + } + if (hasW) { + size += pb::CodedOutputStream.ComputeFloatSize(5, W); + } + memoizedSerializedSize = size; + return size; + } + } + + #region Lite runtime methods + public override int GetHashCode() { + int hash = GetType().GetHashCode(); + if (hasTimestamp) hash ^= timestamp_.GetHashCode(); + if (hasX) hash ^= x_.GetHashCode(); + if (hasY) hash ^= y_.GetHashCode(); + if (hasZ) hash ^= z_.GetHashCode(); + if (hasW) hash ^= w_.GetHashCode(); + return hash; + } + + public override bool Equals(object obj) { + OrientationEvent other = obj as OrientationEvent; + if (other == null) return false; + if (hasTimestamp != other.hasTimestamp || (hasTimestamp && !timestamp_.Equals(other.timestamp_))) return false; + if (hasX != other.hasX || (hasX && !x_.Equals(other.x_))) return false; + if (hasY != other.hasY || (hasY && !y_.Equals(other.y_))) return false; + if (hasZ != other.hasZ || (hasZ && !z_.Equals(other.z_))) return false; + if (hasW != other.hasW || (hasW && !w_.Equals(other.w_))) return false; + return true; + } + + public override void PrintTo(global::System.IO.TextWriter writer) { + PrintField("timestamp", hasTimestamp, timestamp_, writer); + PrintField("x", hasX, x_, writer); + PrintField("y", hasY, y_, writer); + PrintField("z", hasZ, z_, writer); + PrintField("w", hasW, w_, writer); + } + #endregion + + public static OrientationEvent ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static OrientationEvent ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static OrientationEvent ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static OrientationEvent ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static OrientationEvent ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static OrientationEvent ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + public static OrientationEvent ParseDelimitedFrom(global::System.IO.Stream input) { + return CreateBuilder().MergeDelimitedFrom(input).BuildParsed(); + } + public static OrientationEvent ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed(); + } + public static OrientationEvent ParseFrom(pb::ICodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static OrientationEvent ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + private OrientationEvent MakeReadOnly() { + return this; + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder ToBuilder() { return CreateBuilder(this); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(OrientationEvent prototype) { + return new Builder(prototype); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class Builder : pb::GeneratedBuilderLite { + protected override Builder ThisBuilder { + get { return this; } + } + public Builder() { + result = DefaultInstance; + resultIsReadOnly = true; + } + internal Builder(OrientationEvent cloneFrom) { + result = cloneFrom; + resultIsReadOnly = true; + } + + private bool resultIsReadOnly; + private OrientationEvent result; + + private OrientationEvent PrepareBuilder() { + if (resultIsReadOnly) { + OrientationEvent original = result; + result = new OrientationEvent(); + resultIsReadOnly = false; + MergeFrom(original); + } + return result; + } + + public override bool IsInitialized { + get { return result.IsInitialized; } + } + + protected override OrientationEvent MessageBeingBuilt { + get { return PrepareBuilder(); } + } + + public override Builder Clear() { + result = DefaultInstance; + resultIsReadOnly = true; + return this; + } + + public override Builder Clone() { + if (resultIsReadOnly) { + return new Builder(result); + } else { + return new Builder().MergeFrom(result); + } + } + + public override OrientationEvent DefaultInstanceForType { + get { return global::proto.PhoneEvent.Types.OrientationEvent.DefaultInstance; } + } + + public override OrientationEvent BuildPartial() { + if (resultIsReadOnly) { + return result; + } + resultIsReadOnly = true; + return result.MakeReadOnly(); + } + + public override Builder MergeFrom(pb::IMessageLite other) { + if (other is OrientationEvent) { + return MergeFrom((OrientationEvent) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(OrientationEvent other) { + if (other == global::proto.PhoneEvent.Types.OrientationEvent.DefaultInstance) return this; + PrepareBuilder(); + if (other.HasTimestamp) { + Timestamp = other.Timestamp; + } + if (other.HasX) { + X = other.X; + } + if (other.HasY) { + Y = other.Y; + } + if (other.HasZ) { + Z = other.Z; + } + if (other.HasW) { + W = other.W; + } + return this; + } + + public override Builder MergeFrom(pb::ICodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + PrepareBuilder(); + uint tag; + string field_name; + while (input.ReadTag(out tag, out field_name)) { + if(tag == 0 && field_name != null) { + int field_ordinal = global::System.Array.BinarySearch(_orientationEventFieldNames, field_name, global::System.StringComparer.Ordinal); + if(field_ordinal >= 0) + tag = _orientationEventFieldTags[field_ordinal]; + else { + ParseUnknownField(input, extensionRegistry, tag, field_name); + continue; + } + } + switch (tag) { + case 0: { + throw pb::InvalidProtocolBufferException.InvalidTag(); + } + default: { + if (pb::WireFormat.IsEndGroupTag(tag)) { + return this; + } + ParseUnknownField(input, extensionRegistry, tag, field_name); + break; + } + case 8: { + result.hasTimestamp = input.ReadInt64(ref result.timestamp_); + break; + } + case 21: { + result.hasX = input.ReadFloat(ref result.x_); + break; + } + case 29: { + result.hasY = input.ReadFloat(ref result.y_); + break; + } + case 37: { + result.hasZ = input.ReadFloat(ref result.z_); + break; + } + case 45: { + result.hasW = input.ReadFloat(ref result.w_); + break; + } + } + } + + return this; + } + + + public bool HasTimestamp { + get { return result.hasTimestamp; } + } + public long Timestamp { + get { return result.Timestamp; } + set { SetTimestamp(value); } + } + public Builder SetTimestamp(long value) { + PrepareBuilder(); + result.hasTimestamp = true; + result.timestamp_ = value; + return this; + } + public Builder ClearTimestamp() { + PrepareBuilder(); + result.hasTimestamp = false; + result.timestamp_ = 0L; + return this; + } + + public bool HasX { + get { return result.hasX; } + } + public float X { + get { return result.X; } + set { SetX(value); } + } + public Builder SetX(float value) { + PrepareBuilder(); + result.hasX = true; + result.x_ = value; + return this; + } + public Builder ClearX() { + PrepareBuilder(); + result.hasX = false; + result.x_ = 0F; + return this; + } + + public bool HasY { + get { return result.hasY; } + } + public float Y { + get { return result.Y; } + set { SetY(value); } + } + public Builder SetY(float value) { + PrepareBuilder(); + result.hasY = true; + result.y_ = value; + return this; + } + public Builder ClearY() { + PrepareBuilder(); + result.hasY = false; + result.y_ = 0F; + return this; + } + + public bool HasZ { + get { return result.hasZ; } + } + public float Z { + get { return result.Z; } + set { SetZ(value); } + } + public Builder SetZ(float value) { + PrepareBuilder(); + result.hasZ = true; + result.z_ = value; + return this; + } + public Builder ClearZ() { + PrepareBuilder(); + result.hasZ = false; + result.z_ = 0F; + return this; + } + + public bool HasW { + get { return result.hasW; } + } + public float W { + get { return result.W; } + set { SetW(value); } + } + public Builder SetW(float value) { + PrepareBuilder(); + result.hasW = true; + result.w_ = value; + return this; + } + public Builder ClearW() { + PrepareBuilder(); + result.hasW = false; + result.w_ = 0F; + return this; + } + } + static OrientationEvent() { + object.ReferenceEquals(global::proto.Proto.PhoneEvent.Descriptor, null); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class KeyEvent : pb::GeneratedMessageLite { + private KeyEvent() { } + private static readonly KeyEvent defaultInstance = new KeyEvent().MakeReadOnly(); + private static readonly string[] _keyEventFieldNames = new string[] { "action", "code" }; + private static readonly uint[] _keyEventFieldTags = new uint[] { 8, 16 }; + public static KeyEvent DefaultInstance { + get { return defaultInstance; } + } + + public override KeyEvent DefaultInstanceForType { + get { return DefaultInstance; } + } + + protected override KeyEvent ThisMessage { + get { return this; } + } + + public const int ActionFieldNumber = 1; + private bool hasAction; + private int action_; + public bool HasAction { + get { return hasAction; } + } + public int Action { + get { return action_; } + } + + public const int CodeFieldNumber = 2; + private bool hasCode; + private int code_; + public bool HasCode { + get { return hasCode; } + } + public int Code { + get { return code_; } + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::ICodedOutputStream output) { + string[] field_names = _keyEventFieldNames; + if (hasAction) { + output.WriteInt32(1, field_names[0], Action); + } + if (hasCode) { + output.WriteInt32(2, field_names[1], Code); + } + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasAction) { + size += pb::CodedOutputStream.ComputeInt32Size(1, Action); + } + if (hasCode) { + size += pb::CodedOutputStream.ComputeInt32Size(2, Code); + } + memoizedSerializedSize = size; + return size; + } + } + + #region Lite runtime methods + public override int GetHashCode() { + int hash = GetType().GetHashCode(); + if (hasAction) hash ^= action_.GetHashCode(); + if (hasCode) hash ^= code_.GetHashCode(); + return hash; + } + + public override bool Equals(object obj) { + KeyEvent other = obj as KeyEvent; + if (other == null) return false; + if (hasAction != other.hasAction || (hasAction && !action_.Equals(other.action_))) return false; + if (hasCode != other.hasCode || (hasCode && !code_.Equals(other.code_))) return false; + return true; + } + + public override void PrintTo(global::System.IO.TextWriter writer) { + PrintField("action", hasAction, action_, writer); + PrintField("code", hasCode, code_, writer); + } + #endregion + + public static KeyEvent ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static KeyEvent ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static KeyEvent ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static KeyEvent ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static KeyEvent ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static KeyEvent ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + public static KeyEvent ParseDelimitedFrom(global::System.IO.Stream input) { + return CreateBuilder().MergeDelimitedFrom(input).BuildParsed(); + } + public static KeyEvent ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed(); + } + public static KeyEvent ParseFrom(pb::ICodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static KeyEvent ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + private KeyEvent MakeReadOnly() { + return this; + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder ToBuilder() { return CreateBuilder(this); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(KeyEvent prototype) { + return new Builder(prototype); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class Builder : pb::GeneratedBuilderLite { + protected override Builder ThisBuilder { + get { return this; } + } + public Builder() { + result = DefaultInstance; + resultIsReadOnly = true; + } + internal Builder(KeyEvent cloneFrom) { + result = cloneFrom; + resultIsReadOnly = true; + } + + private bool resultIsReadOnly; + private KeyEvent result; + + private KeyEvent PrepareBuilder() { + if (resultIsReadOnly) { + KeyEvent original = result; + result = new KeyEvent(); + resultIsReadOnly = false; + MergeFrom(original); + } + return result; + } + + public override bool IsInitialized { + get { return result.IsInitialized; } + } + + protected override KeyEvent MessageBeingBuilt { + get { return PrepareBuilder(); } + } + + public override Builder Clear() { + result = DefaultInstance; + resultIsReadOnly = true; + return this; + } + + public override Builder Clone() { + if (resultIsReadOnly) { + return new Builder(result); + } else { + return new Builder().MergeFrom(result); + } + } + + public override KeyEvent DefaultInstanceForType { + get { return global::proto.PhoneEvent.Types.KeyEvent.DefaultInstance; } + } + + public override KeyEvent BuildPartial() { + if (resultIsReadOnly) { + return result; + } + resultIsReadOnly = true; + return result.MakeReadOnly(); + } + + public override Builder MergeFrom(pb::IMessageLite other) { + if (other is KeyEvent) { + return MergeFrom((KeyEvent) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(KeyEvent other) { + if (other == global::proto.PhoneEvent.Types.KeyEvent.DefaultInstance) return this; + PrepareBuilder(); + if (other.HasAction) { + Action = other.Action; + } + if (other.HasCode) { + Code = other.Code; + } + return this; + } + + public override Builder MergeFrom(pb::ICodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + PrepareBuilder(); + uint tag; + string field_name; + while (input.ReadTag(out tag, out field_name)) { + if(tag == 0 && field_name != null) { + int field_ordinal = global::System.Array.BinarySearch(_keyEventFieldNames, field_name, global::System.StringComparer.Ordinal); + if(field_ordinal >= 0) + tag = _keyEventFieldTags[field_ordinal]; + else { + ParseUnknownField(input, extensionRegistry, tag, field_name); + continue; + } + } + switch (tag) { + case 0: { + throw pb::InvalidProtocolBufferException.InvalidTag(); + } + default: { + if (pb::WireFormat.IsEndGroupTag(tag)) { + return this; + } + ParseUnknownField(input, extensionRegistry, tag, field_name); + break; + } + case 8: { + result.hasAction = input.ReadInt32(ref result.action_); + break; + } + case 16: { + result.hasCode = input.ReadInt32(ref result.code_); + break; + } + } + } + + return this; + } + + + public bool HasAction { + get { return result.hasAction; } + } + public int Action { + get { return result.Action; } + set { SetAction(value); } + } + public Builder SetAction(int value) { + PrepareBuilder(); + result.hasAction = true; + result.action_ = value; + return this; + } + public Builder ClearAction() { + PrepareBuilder(); + result.hasAction = false; + result.action_ = 0; + return this; + } + + public bool HasCode { + get { return result.hasCode; } + } + public int Code { + get { return result.Code; } + set { SetCode(value); } + } + public Builder SetCode(int value) { + PrepareBuilder(); + result.hasCode = true; + result.code_ = value; + return this; + } + public Builder ClearCode() { + PrepareBuilder(); + result.hasCode = false; + result.code_ = 0; + return this; + } + } + static KeyEvent() { + object.ReferenceEquals(global::proto.Proto.PhoneEvent.Descriptor, null); + } + } + + } + #endregion + + public const int TypeFieldNumber = 1; + private bool hasType; + private global::proto.PhoneEvent.Types.Type type_ = global::proto.PhoneEvent.Types.Type.MOTION; + public bool HasType { + get { return hasType; } + } + public global::proto.PhoneEvent.Types.Type Type { + get { return type_; } + } + + public const int MotionEventFieldNumber = 2; + private bool hasMotionEvent; + private global::proto.PhoneEvent.Types.MotionEvent motionEvent_; + public bool HasMotionEvent { + get { return hasMotionEvent; } + } + public global::proto.PhoneEvent.Types.MotionEvent MotionEvent { + get { return motionEvent_ ?? global::proto.PhoneEvent.Types.MotionEvent.DefaultInstance; } + } + + public const int GyroscopeEventFieldNumber = 3; + private bool hasGyroscopeEvent; + private global::proto.PhoneEvent.Types.GyroscopeEvent gyroscopeEvent_; + public bool HasGyroscopeEvent { + get { return hasGyroscopeEvent; } + } + public global::proto.PhoneEvent.Types.GyroscopeEvent GyroscopeEvent { + get { return gyroscopeEvent_ ?? global::proto.PhoneEvent.Types.GyroscopeEvent.DefaultInstance; } + } + + public const int AccelerometerEventFieldNumber = 4; + private bool hasAccelerometerEvent; + private global::proto.PhoneEvent.Types.AccelerometerEvent accelerometerEvent_; + public bool HasAccelerometerEvent { + get { return hasAccelerometerEvent; } + } + public global::proto.PhoneEvent.Types.AccelerometerEvent AccelerometerEvent { + get { return accelerometerEvent_ ?? global::proto.PhoneEvent.Types.AccelerometerEvent.DefaultInstance; } + } + + public const int DepthMapEventFieldNumber = 5; + private bool hasDepthMapEvent; + private global::proto.PhoneEvent.Types.DepthMapEvent depthMapEvent_; + public bool HasDepthMapEvent { + get { return hasDepthMapEvent; } + } + public global::proto.PhoneEvent.Types.DepthMapEvent DepthMapEvent { + get { return depthMapEvent_ ?? global::proto.PhoneEvent.Types.DepthMapEvent.DefaultInstance; } + } + + public const int OrientationEventFieldNumber = 6; + private bool hasOrientationEvent; + private global::proto.PhoneEvent.Types.OrientationEvent orientationEvent_; + public bool HasOrientationEvent { + get { return hasOrientationEvent; } + } + public global::proto.PhoneEvent.Types.OrientationEvent OrientationEvent { + get { return orientationEvent_ ?? global::proto.PhoneEvent.Types.OrientationEvent.DefaultInstance; } + } + + public const int KeyEventFieldNumber = 7; + private bool hasKeyEvent; + private global::proto.PhoneEvent.Types.KeyEvent keyEvent_; + public bool HasKeyEvent { + get { return hasKeyEvent; } + } + public global::proto.PhoneEvent.Types.KeyEvent KeyEvent { + get { return keyEvent_ ?? global::proto.PhoneEvent.Types.KeyEvent.DefaultInstance; } + } + + public override bool IsInitialized { + get { + return true; + } + } + + public override void WriteTo(pb::ICodedOutputStream output) { + string[] field_names = _phoneEventFieldNames; + if (hasType) { + output.WriteEnum(1, field_names[6], (int) Type, Type); + } + if (hasMotionEvent) { + output.WriteMessage(2, field_names[4], MotionEvent); + } + if (hasGyroscopeEvent) { + output.WriteMessage(3, field_names[2], GyroscopeEvent); + } + if (hasAccelerometerEvent) { + output.WriteMessage(4, field_names[0], AccelerometerEvent); + } + if (hasDepthMapEvent) { + output.WriteMessage(5, field_names[1], DepthMapEvent); + } + if (hasOrientationEvent) { + output.WriteMessage(6, field_names[5], OrientationEvent); + } + if (hasKeyEvent) { + output.WriteMessage(7, field_names[3], KeyEvent); + } + } + + private int memoizedSerializedSize = -1; + public override int SerializedSize { + get { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (hasType) { + size += pb::CodedOutputStream.ComputeEnumSize(1, (int) Type); + } + if (hasMotionEvent) { + size += pb::CodedOutputStream.ComputeMessageSize(2, MotionEvent); + } + if (hasGyroscopeEvent) { + size += pb::CodedOutputStream.ComputeMessageSize(3, GyroscopeEvent); + } + if (hasAccelerometerEvent) { + size += pb::CodedOutputStream.ComputeMessageSize(4, AccelerometerEvent); + } + if (hasDepthMapEvent) { + size += pb::CodedOutputStream.ComputeMessageSize(5, DepthMapEvent); + } + if (hasOrientationEvent) { + size += pb::CodedOutputStream.ComputeMessageSize(6, OrientationEvent); + } + if (hasKeyEvent) { + size += pb::CodedOutputStream.ComputeMessageSize(7, KeyEvent); + } + memoizedSerializedSize = size; + return size; + } + } + + #region Lite runtime methods + public override int GetHashCode() { + int hash = GetType().GetHashCode(); + if (hasType) hash ^= type_.GetHashCode(); + if (hasMotionEvent) hash ^= motionEvent_.GetHashCode(); + if (hasGyroscopeEvent) hash ^= gyroscopeEvent_.GetHashCode(); + if (hasAccelerometerEvent) hash ^= accelerometerEvent_.GetHashCode(); + if (hasDepthMapEvent) hash ^= depthMapEvent_.GetHashCode(); + if (hasOrientationEvent) hash ^= orientationEvent_.GetHashCode(); + if (hasKeyEvent) hash ^= keyEvent_.GetHashCode(); + return hash; + } + + public override bool Equals(object obj) { + PhoneEvent other = obj as PhoneEvent; + if (other == null) return false; + if (hasType != other.hasType || (hasType && !type_.Equals(other.type_))) return false; + if (hasMotionEvent != other.hasMotionEvent || (hasMotionEvent && !motionEvent_.Equals(other.motionEvent_))) return false; + if (hasGyroscopeEvent != other.hasGyroscopeEvent || (hasGyroscopeEvent && !gyroscopeEvent_.Equals(other.gyroscopeEvent_))) return false; + if (hasAccelerometerEvent != other.hasAccelerometerEvent || (hasAccelerometerEvent && !accelerometerEvent_.Equals(other.accelerometerEvent_))) return false; + if (hasDepthMapEvent != other.hasDepthMapEvent || (hasDepthMapEvent && !depthMapEvent_.Equals(other.depthMapEvent_))) return false; + if (hasOrientationEvent != other.hasOrientationEvent || (hasOrientationEvent && !orientationEvent_.Equals(other.orientationEvent_))) return false; + if (hasKeyEvent != other.hasKeyEvent || (hasKeyEvent && !keyEvent_.Equals(other.keyEvent_))) return false; + return true; + } + + public override void PrintTo(global::System.IO.TextWriter writer) { + PrintField("type", hasType, type_, writer); + PrintField("motion_event", hasMotionEvent, motionEvent_, writer); + PrintField("gyroscope_event", hasGyroscopeEvent, gyroscopeEvent_, writer); + PrintField("accelerometer_event", hasAccelerometerEvent, accelerometerEvent_, writer); + PrintField("depth_map_event", hasDepthMapEvent, depthMapEvent_, writer); + PrintField("orientation_event", hasOrientationEvent, orientationEvent_, writer); + PrintField("key_event", hasKeyEvent, keyEvent_, writer); + } + #endregion + + public static PhoneEvent ParseFrom(pb::ByteString data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static PhoneEvent ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static PhoneEvent ParseFrom(byte[] data) { + return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed(); + } + public static PhoneEvent ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed(); + } + public static PhoneEvent ParseFrom(global::System.IO.Stream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static PhoneEvent ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + public static PhoneEvent ParseDelimitedFrom(global::System.IO.Stream input) { + return CreateBuilder().MergeDelimitedFrom(input).BuildParsed(); + } + public static PhoneEvent ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) { + return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed(); + } + public static PhoneEvent ParseFrom(pb::ICodedInputStream input) { + return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed(); + } + public static PhoneEvent ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed(); + } + private PhoneEvent MakeReadOnly() { + return this; + } + + public static Builder CreateBuilder() { return new Builder(); } + public override Builder ToBuilder() { return CreateBuilder(this); } + public override Builder CreateBuilderForType() { return new Builder(); } + public static Builder CreateBuilder(PhoneEvent prototype) { + return new Builder(prototype); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.4.1.473")] + public sealed partial class Builder : pb::GeneratedBuilderLite { + protected override Builder ThisBuilder { + get { return this; } + } + public Builder() { + result = DefaultInstance; + resultIsReadOnly = true; + } + internal Builder(PhoneEvent cloneFrom) { + result = cloneFrom; + resultIsReadOnly = true; + } + + private bool resultIsReadOnly; + private PhoneEvent result; + + private PhoneEvent PrepareBuilder() { + if (resultIsReadOnly) { + PhoneEvent original = result; + result = new PhoneEvent(); + resultIsReadOnly = false; + MergeFrom(original); + } + return result; + } + + public override bool IsInitialized { + get { return result.IsInitialized; } + } + + protected override PhoneEvent MessageBeingBuilt { + get { return PrepareBuilder(); } + } + + public override Builder Clear() { + result = DefaultInstance; + resultIsReadOnly = true; + return this; + } + + public override Builder Clone() { + if (resultIsReadOnly) { + return new Builder(result); + } else { + return new Builder().MergeFrom(result); + } + } + + public override PhoneEvent DefaultInstanceForType { + get { return global::proto.PhoneEvent.DefaultInstance; } + } + + public override PhoneEvent BuildPartial() { + if (resultIsReadOnly) { + return result; + } + resultIsReadOnly = true; + return result.MakeReadOnly(); + } + + public override Builder MergeFrom(pb::IMessageLite other) { + if (other is PhoneEvent) { + return MergeFrom((PhoneEvent) other); + } else { + base.MergeFrom(other); + return this; + } + } + + public override Builder MergeFrom(PhoneEvent other) { + if (other == global::proto.PhoneEvent.DefaultInstance) return this; + PrepareBuilder(); + if (other.HasType) { + Type = other.Type; + } + if (other.HasMotionEvent) { + MergeMotionEvent(other.MotionEvent); + } + if (other.HasGyroscopeEvent) { + MergeGyroscopeEvent(other.GyroscopeEvent); + } + if (other.HasAccelerometerEvent) { + MergeAccelerometerEvent(other.AccelerometerEvent); + } + if (other.HasDepthMapEvent) { + MergeDepthMapEvent(other.DepthMapEvent); + } + if (other.HasOrientationEvent) { + MergeOrientationEvent(other.OrientationEvent); + } + if (other.HasKeyEvent) { + MergeKeyEvent(other.KeyEvent); + } + return this; + } + + public override Builder MergeFrom(pb::ICodedInputStream input) { + return MergeFrom(input, pb::ExtensionRegistry.Empty); + } + + public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) { + PrepareBuilder(); + uint tag; + string field_name; + while (input.ReadTag(out tag, out field_name)) { + if(tag == 0 && field_name != null) { + int field_ordinal = global::System.Array.BinarySearch(_phoneEventFieldNames, field_name, global::System.StringComparer.Ordinal); + if(field_ordinal >= 0) + tag = _phoneEventFieldTags[field_ordinal]; + else { + ParseUnknownField(input, extensionRegistry, tag, field_name); + continue; + } + } + switch (tag) { + case 0: { + throw pb::InvalidProtocolBufferException.InvalidTag(); + } + default: { + if (pb::WireFormat.IsEndGroupTag(tag)) { + return this; + } + ParseUnknownField(input, extensionRegistry, tag, field_name); + break; + } + case 8: { + object unknown; + if(input.ReadEnum(ref result.type_, out unknown)) { + result.hasType = true; + } else if(unknown is int) { + } + break; + } + case 18: { + global::proto.PhoneEvent.Types.MotionEvent.Builder subBuilder = global::proto.PhoneEvent.Types.MotionEvent.CreateBuilder(); + if (result.hasMotionEvent) { + subBuilder.MergeFrom(MotionEvent); + } + input.ReadMessage(subBuilder, extensionRegistry); + MotionEvent = subBuilder.BuildPartial(); + break; + } + case 26: { + global::proto.PhoneEvent.Types.GyroscopeEvent.Builder subBuilder = global::proto.PhoneEvent.Types.GyroscopeEvent.CreateBuilder(); + if (result.hasGyroscopeEvent) { + subBuilder.MergeFrom(GyroscopeEvent); + } + input.ReadMessage(subBuilder, extensionRegistry); + GyroscopeEvent = subBuilder.BuildPartial(); + break; + } + case 34: { + global::proto.PhoneEvent.Types.AccelerometerEvent.Builder subBuilder = global::proto.PhoneEvent.Types.AccelerometerEvent.CreateBuilder(); + if (result.hasAccelerometerEvent) { + subBuilder.MergeFrom(AccelerometerEvent); + } + input.ReadMessage(subBuilder, extensionRegistry); + AccelerometerEvent = subBuilder.BuildPartial(); + break; + } + case 42: { + global::proto.PhoneEvent.Types.DepthMapEvent.Builder subBuilder = global::proto.PhoneEvent.Types.DepthMapEvent.CreateBuilder(); + if (result.hasDepthMapEvent) { + subBuilder.MergeFrom(DepthMapEvent); + } + input.ReadMessage(subBuilder, extensionRegistry); + DepthMapEvent = subBuilder.BuildPartial(); + break; + } + case 50: { + global::proto.PhoneEvent.Types.OrientationEvent.Builder subBuilder = global::proto.PhoneEvent.Types.OrientationEvent.CreateBuilder(); + if (result.hasOrientationEvent) { + subBuilder.MergeFrom(OrientationEvent); + } + input.ReadMessage(subBuilder, extensionRegistry); + OrientationEvent = subBuilder.BuildPartial(); + break; + } + case 58: { + global::proto.PhoneEvent.Types.KeyEvent.Builder subBuilder = global::proto.PhoneEvent.Types.KeyEvent.CreateBuilder(); + if (result.hasKeyEvent) { + subBuilder.MergeFrom(KeyEvent); + } + input.ReadMessage(subBuilder, extensionRegistry); + KeyEvent = subBuilder.BuildPartial(); + break; + } + } + } + + return this; + } + + + public bool HasType { + get { return result.hasType; } + } + public global::proto.PhoneEvent.Types.Type Type { + get { return result.Type; } + set { SetType(value); } + } + public Builder SetType(global::proto.PhoneEvent.Types.Type value) { + PrepareBuilder(); + result.hasType = true; + result.type_ = value; + return this; + } + public Builder ClearType() { + PrepareBuilder(); + result.hasType = false; + result.type_ = global::proto.PhoneEvent.Types.Type.MOTION; + return this; + } + + public bool HasMotionEvent { + get { return result.hasMotionEvent; } + } + public global::proto.PhoneEvent.Types.MotionEvent MotionEvent { + get { return result.MotionEvent; } + set { SetMotionEvent(value); } + } + public Builder SetMotionEvent(global::proto.PhoneEvent.Types.MotionEvent value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + result.hasMotionEvent = true; + result.motionEvent_ = value; + return this; + } + public Builder SetMotionEvent(global::proto.PhoneEvent.Types.MotionEvent.Builder builderForValue) { + pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue"); + PrepareBuilder(); + result.hasMotionEvent = true; + result.motionEvent_ = builderForValue.Build(); + return this; + } + public Builder MergeMotionEvent(global::proto.PhoneEvent.Types.MotionEvent value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + if (result.hasMotionEvent && + result.motionEvent_ != global::proto.PhoneEvent.Types.MotionEvent.DefaultInstance) { + result.motionEvent_ = global::proto.PhoneEvent.Types.MotionEvent.CreateBuilder(result.motionEvent_).MergeFrom(value).BuildPartial(); + } else { + result.motionEvent_ = value; + } + result.hasMotionEvent = true; + return this; + } + public Builder ClearMotionEvent() { + PrepareBuilder(); + result.hasMotionEvent = false; + result.motionEvent_ = null; + return this; + } + + public bool HasGyroscopeEvent { + get { return result.hasGyroscopeEvent; } + } + public global::proto.PhoneEvent.Types.GyroscopeEvent GyroscopeEvent { + get { return result.GyroscopeEvent; } + set { SetGyroscopeEvent(value); } + } + public Builder SetGyroscopeEvent(global::proto.PhoneEvent.Types.GyroscopeEvent value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + result.hasGyroscopeEvent = true; + result.gyroscopeEvent_ = value; + return this; + } + public Builder SetGyroscopeEvent(global::proto.PhoneEvent.Types.GyroscopeEvent.Builder builderForValue) { + pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue"); + PrepareBuilder(); + result.hasGyroscopeEvent = true; + result.gyroscopeEvent_ = builderForValue.Build(); + return this; + } + public Builder MergeGyroscopeEvent(global::proto.PhoneEvent.Types.GyroscopeEvent value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + if (result.hasGyroscopeEvent && + result.gyroscopeEvent_ != global::proto.PhoneEvent.Types.GyroscopeEvent.DefaultInstance) { + result.gyroscopeEvent_ = global::proto.PhoneEvent.Types.GyroscopeEvent.CreateBuilder(result.gyroscopeEvent_).MergeFrom(value).BuildPartial(); + } else { + result.gyroscopeEvent_ = value; + } + result.hasGyroscopeEvent = true; + return this; + } + public Builder ClearGyroscopeEvent() { + PrepareBuilder(); + result.hasGyroscopeEvent = false; + result.gyroscopeEvent_ = null; + return this; + } + + public bool HasAccelerometerEvent { + get { return result.hasAccelerometerEvent; } + } + public global::proto.PhoneEvent.Types.AccelerometerEvent AccelerometerEvent { + get { return result.AccelerometerEvent; } + set { SetAccelerometerEvent(value); } + } + public Builder SetAccelerometerEvent(global::proto.PhoneEvent.Types.AccelerometerEvent value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + result.hasAccelerometerEvent = true; + result.accelerometerEvent_ = value; + return this; + } + public Builder SetAccelerometerEvent(global::proto.PhoneEvent.Types.AccelerometerEvent.Builder builderForValue) { + pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue"); + PrepareBuilder(); + result.hasAccelerometerEvent = true; + result.accelerometerEvent_ = builderForValue.Build(); + return this; + } + public Builder MergeAccelerometerEvent(global::proto.PhoneEvent.Types.AccelerometerEvent value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + if (result.hasAccelerometerEvent && + result.accelerometerEvent_ != global::proto.PhoneEvent.Types.AccelerometerEvent.DefaultInstance) { + result.accelerometerEvent_ = global::proto.PhoneEvent.Types.AccelerometerEvent.CreateBuilder(result.accelerometerEvent_).MergeFrom(value).BuildPartial(); + } else { + result.accelerometerEvent_ = value; + } + result.hasAccelerometerEvent = true; + return this; + } + public Builder ClearAccelerometerEvent() { + PrepareBuilder(); + result.hasAccelerometerEvent = false; + result.accelerometerEvent_ = null; + return this; + } + + public bool HasDepthMapEvent { + get { return result.hasDepthMapEvent; } + } + public global::proto.PhoneEvent.Types.DepthMapEvent DepthMapEvent { + get { return result.DepthMapEvent; } + set { SetDepthMapEvent(value); } + } + public Builder SetDepthMapEvent(global::proto.PhoneEvent.Types.DepthMapEvent value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + result.hasDepthMapEvent = true; + result.depthMapEvent_ = value; + return this; + } + public Builder SetDepthMapEvent(global::proto.PhoneEvent.Types.DepthMapEvent.Builder builderForValue) { + pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue"); + PrepareBuilder(); + result.hasDepthMapEvent = true; + result.depthMapEvent_ = builderForValue.Build(); + return this; + } + public Builder MergeDepthMapEvent(global::proto.PhoneEvent.Types.DepthMapEvent value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + if (result.hasDepthMapEvent && + result.depthMapEvent_ != global::proto.PhoneEvent.Types.DepthMapEvent.DefaultInstance) { + result.depthMapEvent_ = global::proto.PhoneEvent.Types.DepthMapEvent.CreateBuilder(result.depthMapEvent_).MergeFrom(value).BuildPartial(); + } else { + result.depthMapEvent_ = value; + } + result.hasDepthMapEvent = true; + return this; + } + public Builder ClearDepthMapEvent() { + PrepareBuilder(); + result.hasDepthMapEvent = false; + result.depthMapEvent_ = null; + return this; + } + + public bool HasOrientationEvent { + get { return result.hasOrientationEvent; } + } + public global::proto.PhoneEvent.Types.OrientationEvent OrientationEvent { + get { return result.OrientationEvent; } + set { SetOrientationEvent(value); } + } + public Builder SetOrientationEvent(global::proto.PhoneEvent.Types.OrientationEvent value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + result.hasOrientationEvent = true; + result.orientationEvent_ = value; + return this; + } + public Builder SetOrientationEvent(global::proto.PhoneEvent.Types.OrientationEvent.Builder builderForValue) { + pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue"); + PrepareBuilder(); + result.hasOrientationEvent = true; + result.orientationEvent_ = builderForValue.Build(); + return this; + } + public Builder MergeOrientationEvent(global::proto.PhoneEvent.Types.OrientationEvent value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + if (result.hasOrientationEvent && + result.orientationEvent_ != global::proto.PhoneEvent.Types.OrientationEvent.DefaultInstance) { + result.orientationEvent_ = global::proto.PhoneEvent.Types.OrientationEvent.CreateBuilder(result.orientationEvent_).MergeFrom(value).BuildPartial(); + } else { + result.orientationEvent_ = value; + } + result.hasOrientationEvent = true; + return this; + } + public Builder ClearOrientationEvent() { + PrepareBuilder(); + result.hasOrientationEvent = false; + result.orientationEvent_ = null; + return this; + } + + public bool HasKeyEvent { + get { return result.hasKeyEvent; } + } + public global::proto.PhoneEvent.Types.KeyEvent KeyEvent { + get { return result.KeyEvent; } + set { SetKeyEvent(value); } + } + public Builder SetKeyEvent(global::proto.PhoneEvent.Types.KeyEvent value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + result.hasKeyEvent = true; + result.keyEvent_ = value; + return this; + } + public Builder SetKeyEvent(global::proto.PhoneEvent.Types.KeyEvent.Builder builderForValue) { + pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue"); + PrepareBuilder(); + result.hasKeyEvent = true; + result.keyEvent_ = builderForValue.Build(); + return this; + } + public Builder MergeKeyEvent(global::proto.PhoneEvent.Types.KeyEvent value) { + pb::ThrowHelper.ThrowIfNull(value, "value"); + PrepareBuilder(); + if (result.hasKeyEvent && + result.keyEvent_ != global::proto.PhoneEvent.Types.KeyEvent.DefaultInstance) { + result.keyEvent_ = global::proto.PhoneEvent.Types.KeyEvent.CreateBuilder(result.keyEvent_).MergeFrom(value).BuildPartial(); + } else { + result.keyEvent_ = value; + } + result.hasKeyEvent = true; + return this; + } + public Builder ClearKeyEvent() { + PrepareBuilder(); + result.hasKeyEvent = false; + result.keyEvent_ = null; + return this; + } + } + static PhoneEvent() { + object.ReferenceEquals(global::proto.Proto.PhoneEvent.Descriptor, null); + } + } + + #endregion + +} +/// @endcond + +#endregion Designer generated code diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/PhoneEvent.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/PhoneEvent.cs.meta new file mode 100644 index 0000000..a96e927 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/Emulator/PhoneEvent.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1a6b456eb0cd540a489e0f82c377b187 +timeCreated: 1462046540 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/IControllerProvider.cs b/Assets/GoogleVR/Scripts/Controller/Internal/IControllerProvider.cs new file mode 100644 index 0000000..8db04cc --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/IControllerProvider.cs @@ -0,0 +1,44 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +/// @cond +namespace Gvr.Internal { + /// Internal interface that abstracts an implementation of a controller. + /// + /// Each platform has a different concrete implementation of a Controller Provider. + /// For example, if running on the Unity Editor, we use an implementation that + /// communicates with the controller emulator via USB or WiFi. If running on a real + /// Android device, we use an implementation that uses the underlying Daydream controller API. + interface IControllerProvider : IDisposable { + /// True if controller has battery status support. + bool SupportsBatteryStatus { get; } + + /// Reads the number of controllers the system is configured to use. This does not + /// indicate the number of currently connected controllers. + int MaxControllerCount { get; } + + /// Notifies the controller provider that the application has paused. + void OnPause(); + + /// Notifies the controller provider that the application has resumed. + void OnResume(); + + /// Reads the controller's current state and stores it in outState. + void ReadState(ControllerState outState, int controller_id); + } +} +/// @endcond + diff --git a/Assets/GoogleVR/Scripts/Controller/Internal/IControllerProvider.cs.meta b/Assets/GoogleVR/Scripts/Controller/Internal/IControllerProvider.cs.meta new file mode 100644 index 0000000..915d314 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Internal/IControllerProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a546592901a23411d99a5fef0ada01e7 +timeCreated: 1462043673 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Tooltips.meta b/Assets/GoogleVR/Scripts/Controller/Tooltips.meta new file mode 100644 index 0000000..35a554f --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Tooltips.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ee9f54f8732db114da4ba6cefc260101 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Tooltips/GvrControllerTooltipsSimple.cs b/Assets/GoogleVR/Scripts/Controller/Tooltips/GvrControllerTooltipsSimple.cs new file mode 100644 index 0000000..2617d0c --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Tooltips/GvrControllerTooltipsSimple.cs @@ -0,0 +1,71 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// The controller is not available for versions of Unity without the +// GVR native integration. + +using UnityEngine; +using System.Collections; + +/// A lightweight tooltip designed to minimize draw calls. +[ExecuteInEditMode] +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrControllerTooltipsSimple")] +public class GvrControllerTooltipsSimple : MonoBehaviour, IGvrArmModelReceiver { + + private MeshRenderer tooltipRenderer; + + public GvrBaseArmModel ArmModel { get; set; } + + private MaterialPropertyBlock materialPropertyBlock; + private int colorId; + + void Awake() { + Initialize(); + } + + void OnEnable() { + GvrControllerInput.OnPostControllerInputUpdated += OnPostControllerInputUpdated; + } + + void OnDisable() { + GvrControllerInput.OnPostControllerInputUpdated -= OnPostControllerInputUpdated; + } + + void OnValidate() { + if (!Application.isPlaying){ + Initialize(); + OnVisualUpdate(); + } + } + + private void Initialize(){ + if(tooltipRenderer == null){ + tooltipRenderer = GetComponent(); + } + if(materialPropertyBlock == null){ + materialPropertyBlock = new MaterialPropertyBlock(); + } + colorId = Shader.PropertyToID("_Color"); + } + + private void OnPostControllerInputUpdated() { + OnVisualUpdate(); + } + + protected void OnVisualUpdate () { + float alpha = ArmModel != null ? ArmModel.TooltipAlphaValue : 1.0f; + materialPropertyBlock.SetColor(colorId, new Color(1,1,1,alpha)); + tooltipRenderer.SetPropertyBlock(materialPropertyBlock); + } +} diff --git a/Assets/GoogleVR/Scripts/Controller/Tooltips/GvrControllerTooltipsSimple.cs.meta b/Assets/GoogleVR/Scripts/Controller/Tooltips/GvrControllerTooltipsSimple.cs.meta new file mode 100644 index 0000000..4a5a1f0 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Tooltips/GvrControllerTooltipsSimple.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ef63f87a26b474e1c88f77dfc4f3aa3a +timeCreated: 1497972948 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Controller/Tooltips/GvrTooltip.cs b/Assets/GoogleVR/Scripts/Controller/Tooltips/GvrTooltip.cs new file mode 100644 index 0000000..eb133ed --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Tooltips/GvrTooltip.cs @@ -0,0 +1,211 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.UI; +using System.Collections; + +/// A tooltip for displaying control schemes overlaying the controller visual using a Unity Canvas. +/// Automatically changes what side of the controller the tooltip is shown on depending +/// on the handedness setting for the player. +/// Automatically fades out when the controller visual is too close or too far +/// away from the player's head. +/// Look at the prefab GvrControllerPointer to see an example of how to use this script. +[RequireComponent(typeof(CanvasGroup))] +[RequireComponent(typeof(RectTransform))] +[ExecuteInEditMode] +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrTooltip")] +public class GvrTooltip : MonoBehaviour, IGvrArmModelReceiver { + /// Rotation for a tooltip when it is displayed on the right side of the controller visual. + protected static readonly Quaternion RIGHT_SIDE_ROTATION = Quaternion.Euler(0.0f, 0.0f, 0.0f); + + /// Rotation for a tooltip when it is displayed on the left side of the controller visual. + protected static readonly Quaternion LEFT_SIDE_ROTATION = Quaternion.Euler(0.0f, 0.0f, 180.0f); + + /// Anchor point for a tooltip, used for controlling what side the tooltip is on. + protected static readonly Vector2 SQUARE_CENTER = new Vector2(0.5f, 0.5f); + + /// Pivot point for a tooltip, used for controlling what side the tooltip is on. + protected static readonly Vector2 PIVOT = new Vector2(-0.5f, 0.5f); + + /// Y Position for touch pad tooltips based on the standard controller visual. + protected const float TOUCH_PAD_Y_POSITION_METERS = 0.0385f; + + /// Y position for app button tooltips based on the standard controller visual. + protected const float APP_BUTTON_Y_POSITION_METERS = 0.0105f; + + /// Z position for all tooltips based on the standard controller visual. + protected const float TOOLTIP_Z_POSITION_METERS = 0.0098f; + + /// Options for where the controller should be displayed. + /// If set to custom, then the manually set localPosition of the tooltip is used. + /// This is useful when displaying a tooltip for a non-standard controller visual. + enum Location { + TouchPadOutside, + TouchPadInside, + AppButtonOutside, + AppButtonInside, + Custom + }; + + [Tooltip("The location to display the tooltip at relative to the controller visual.")] + [SerializeField] + private Location location; + + [Tooltip("The text field for this tooltip.")] + [SerializeField] + private Text text; + + [Tooltip("Determines if the tooltip is always visible regardless of the controller's location.")] + [SerializeField] + private bool alwaysVisible; + + private bool isOnLeft = false; + private RectTransform rectTransform; + private CanvasGroup canvasGroup; + + /// The text field for this tooltip. + public Text TooltipText { + get { + return text; + } + } + + public GvrBaseArmModel ArmModel { get; set; } + + void Awake() { + rectTransform = GetComponent(); + canvasGroup = GetComponent(); + isOnLeft = IsTooltipOnLeft(); + RefreshTooltip(); + } + + void OnEnable() { + // Update using OnPostControllerInputUpdated. + // This way, the position and rotation will be correct for the entire frame + // so that it doesn't matter what order Updates get called in. + if (Application.isPlaying) { + GvrControllerInput.OnPostControllerInputUpdated += OnPostControllerInputUpdated; + } + } + + void OnDisable() { + GvrControllerInput.OnPostControllerInputUpdated -= OnPostControllerInputUpdated; + } + + private void OnPostControllerInputUpdated() { + CheckTooltipSide(); + + if (canvasGroup != null && ArmModel != null) { + canvasGroup.alpha = alwaysVisible ? 1.0f : ArmModel.TooltipAlphaValue; + } + } + + void OnValidate() { + rectTransform = GetComponent(); + RefreshTooltip(); + } + +#if UNITY_EDITOR + void OnRenderObject() { + if (!Application.isPlaying) { + CheckTooltipSide(); + } + } +#endif // UNITY_EDITOR + + /// Returns true if this tooltip is set to display on the inside of the controller. + public bool IsTooltipInside() { + switch (location) { + case Location.TouchPadInside: + case Location.AppButtonInside: + case Location.Custom: + return true; + case Location.TouchPadOutside: + case Location.AppButtonOutside: + default: + return false; + } + } + + /// Returns true if the tooltip should display on the left side of the controller. + /// This will change based on the handedness of the controller, as well as if the + /// tooltip is set to display inside or outside. + public bool IsTooltipOnLeft() { + bool isInside = IsTooltipInside(); + GvrSettings.UserPrefsHandedness handedness = GvrSettings.Handedness; + + if (handedness == GvrSettings.UserPrefsHandedness.Left) { + return !isInside; + } else { + return isInside; + } + } + + /// Refreshes how the tooltip is being displayed based on what side it is being shown on. + /// Override to add custom display functionality. + protected virtual void OnSideChanged(bool IsLocationOnLeft) { + transform.localRotation = (isOnLeft ? LEFT_SIDE_ROTATION : RIGHT_SIDE_ROTATION); + + if (text != null) { + text.transform.localRotation = (IsLocationOnLeft ? LEFT_SIDE_ROTATION : RIGHT_SIDE_ROTATION); + text.alignment = (IsLocationOnLeft ? TextAnchor.MiddleRight : TextAnchor.MiddleLeft); + } + } + + protected float GetMetersToCanvasScale() { + return GvrUIHelpers.GetMetersToCanvasScale(transform); + } + + private Vector3 GetLocalPosition() { + float metersToCanvasScale = GetMetersToCanvasScale(); + + // Return early if we didn't find a valid metersToCanvasScale. + if (metersToCanvasScale == 0.0f) { + return rectTransform.anchoredPosition3D; + } + + float tooltipZPosition = TOOLTIP_Z_POSITION_METERS / metersToCanvasScale; + switch (location) { + case Location.TouchPadOutside: + case Location.TouchPadInside: + float touchPadYPosition = TOUCH_PAD_Y_POSITION_METERS / metersToCanvasScale; + return new Vector3(0.0f, touchPadYPosition, tooltipZPosition); + case Location.AppButtonOutside: + case Location.AppButtonInside: + float appButtonYPosition = APP_BUTTON_Y_POSITION_METERS / metersToCanvasScale; + return new Vector3(0.0f, appButtonYPosition, tooltipZPosition); + case Location.Custom: + default: + return rectTransform.anchoredPosition3D; + } + } + + private void CheckTooltipSide() { + // If handedness changes, the tooltip will switch sides. + bool newIsOnLeft = IsTooltipOnLeft(); + if (newIsOnLeft != isOnLeft) { + isOnLeft = newIsOnLeft; + RefreshTooltip(); + } + } + + private void RefreshTooltip() { + rectTransform.anchorMax = SQUARE_CENTER; + rectTransform.anchorMax = SQUARE_CENTER; + rectTransform.pivot = PIVOT; + rectTransform.anchoredPosition3D = GetLocalPosition(); + OnSideChanged(isOnLeft); + } +} diff --git a/Assets/GoogleVR/Scripts/Controller/Tooltips/GvrTooltip.cs.meta b/Assets/GoogleVR/Scripts/Controller/Tooltips/GvrTooltip.cs.meta new file mode 100644 index 0000000..ff26dda --- /dev/null +++ b/Assets/GoogleVR/Scripts/Controller/Tooltips/GvrTooltip.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7c52851ea0de74a228fa29a84de008ba +timeCreated: 1481935272 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem.meta b/Assets/GoogleVR/Scripts/EventSystem.meta new file mode 100644 index 0000000..53281e8 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cbc29158ba66143438781e6b7ecf6d26 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrBasePointer.cs b/Assets/GoogleVR/Scripts/EventSystem/GvrBasePointer.cs new file mode 100644 index 0000000..a28c97c --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrBasePointer.cs @@ -0,0 +1,514 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.EventSystems; + +/// This abstract class should be implemented for pointer based input, and used with +/// the GvrPointerInputModule script. +/// +/// It provides methods called on pointer interaction with in-game objects and UI, +/// trigger events, and 'BaseInputModule' class state changes. +/// +/// To have the methods called, an instance of this (implemented) class must be +/// registered with the **GvrPointerManager** script in 'Start' by calling +/// GvrPointerInputModule.OnPointerCreated. +/// +/// This abstract class should be implemented by pointers doing 1 of 2 things: +/// 1. Responding to movement of the users head (Cardboard gaze-based-pointer). +/// 2. Responding to the movement of the daydream controller (Daydream 3D pointer). +public abstract class GvrBasePointer : MonoBehaviour, IGvrControllerInputDeviceReceiver { + public enum RaycastMode { + /// Casts a ray from the camera through the target of the pointer. + /// This is ideal for reticles that are always rendered on top. + /// The object that is selected will always be the object that appears + /// underneath the reticle from the perspective of the camera. + /// This also prevents the reticle from appearing to "jump" when it starts/stops hitting an object. + /// + /// Recommended for reticles that are always rendered on top such as the GvrReticlePointer + /// prefab which is used for cardboard apps. + /// + /// Note: This will prevent the user from pointing around an object to hit something that is out of sight. + /// This isn't a problem in a typical use case. + /// + /// When used with the standard daydream controller, + /// the hit detection will not account for the laser correctly for objects that are closer to the + /// camera than the end of the laser. + /// In that case, it is recommended to do one of the following things: + /// + /// 1. Hide the laser. + /// 2. Use a full-length laser pointer in Direct mode. + /// 3. Use the Hybrid raycast mode. + Camera, + /// Cast a ray directly from the pointer origin. + /// + /// Recommended for full-length laser pointers. + Direct, + /// Default method for casting ray. + /// + /// Combines the Camera and Direct raycast modes. + /// Uses a Direct ray up until the CameraRayIntersectionDistance, and then switches to use + /// a Camera ray starting from the point where the two rays intersect. + /// + /// Recommended for use with the standard settings of the GvrControllerPointer prefab. + /// This is the most versatile raycast mode. Like Camera mode, this prevents the reticle + /// appearing jumpy. Additionally, it still allows the user to target objects that are close + /// to them by using the laser as a visual reference. + Hybrid, + } + + /// Represents a ray segment for a series of intersecting rays. + /// This is useful for Hybrid raycast mode, which uses two sequential rays. + public struct PointerRay { + /// The ray for this segment of the pointer. + public Ray ray; + + /// The distance along the pointer from the origin of the first ray to this ray. + public float distanceFromStart; + + /// Distance that this ray extends to. + public float distance; + } + + /// Determines which raycast mode to use for this raycaster. + /// • Camera - Ray is cast from the camera through the pointer. + /// • Direct - Ray is cast forward from the pointer. + /// • Hybrid - Begins with a Direct ray and transitions to a Camera ray. + [Tooltip("Determines which raycast mode to use for this raycaster.\n" + + " • Camera - Ray is cast from camera.\n" + + " • Direct - Ray is cast from pointer.\n" + + " • Hybrid - Transitions from Direct ray to Camera ray.")] + public RaycastMode raycastMode = RaycastMode.Hybrid; + + /// Determines the eventCamera for _GvrPointerPhysicsRaycaster_ and _GvrPointerGraphicRaycaster_. + /// Additionaly, this is used to control what camera to use when calculating the Camera ray for + /// the Hybrid and Camera raycast modes. + [Tooltip("Optional: Use a camera other than Camera.main.")] + public Camera overridePointerCamera; + +#if UNITY_EDITOR + /// Determines if the rays used for raycasting will be drawn in the editor. + [Tooltip("Determines if the rays used for raycasting will be drawn in the editor.")] + public bool drawDebugRays = false; +#endif // UNITY_EDITOR + + /// Convenience function to access what the pointer is currently hitting. + public RaycastResult CurrentRaycastResult { + get { + return GvrPointerInputModule.CurrentRaycastResult; + } + } + + [System.Obsolete("Replaced by CurrentRaycastResult.worldPosition")] + public Vector3 PointerIntersection { + get { + RaycastResult raycastResult = CurrentRaycastResult; + return raycastResult.worldPosition; + } + } + + [System.Obsolete("Replaced by CurrentRaycastResult.gameObject != null")] + public bool IsPointerIntersecting { + get { + RaycastResult raycastResult = CurrentRaycastResult; + return raycastResult.gameObject != null; + } + } + + /// This is used to determine if the enterRadius or the exitRadius should be used for the raycast. + /// It is set by GvrPointerInputModule and doesn't need to be controlled manually. + public bool ShouldUseExitRadiusForRaycast { get; set; } + + /// If ShouldUseExitRadiusForRaycast is true, returns the exitRadius. + /// Otherwise, returns the enterRadius. + public float CurrentPointerRadius { + get { + float enterRadius, exitRadius; + GetPointerRadius(out enterRadius, out exitRadius); + if (ShouldUseExitRadiusForRaycast) { + return exitRadius; + } else { + return enterRadius; + } + } + } + + /// Returns the transform that represents this pointer. + /// It is used by GvrBasePointerRaycaster as the origin of the ray. + public virtual Transform PointerTransform { + get { + return transform; + } + } + + public GvrControllerInputDevice ControllerInputDevice { get; set; } + + /// If true, the trigger was just pressed. This is an event flag: + /// it will be true for only one frame after the event happens. + /// Defaults to mouse button 0 down on Cardboard or + /// ControllerInputDevice.GetButtonDown(TouchPadButton) on Daydream. + /// Can be overridden to change the trigger. + public virtual bool TriggerDown { + get { + bool isTriggerDown = Input.GetMouseButtonDown(0); + if (ControllerInputDevice != null) { + isTriggerDown |= + ControllerInputDevice.GetButtonDown(GvrControllerButton.TouchPadButton); + } + return isTriggerDown; + } + } + + /// If true, the trigger is currently being pressed. This is not + /// an event: it represents the trigger's state (it remains true while the trigger is being + /// pressed). + /// Defaults to mouse button 0 state on Cardboard or + /// ControllerInputDevice.GetButton(TouchPadButton) on Daydream. + /// Can be overridden to change the trigger. + public virtual bool Triggering { + get { + bool isTriggering = Input.GetMouseButton(0); + if (ControllerInputDevice != null) { + isTriggering |= + ControllerInputDevice.GetButton(GvrControllerButton.TouchPadButton); + } + return isTriggering; + } + } + + /// If true, the trigger was just released. This is an event flag: + /// it will be true for only one frame after the event happens. + /// Defaults to mouse button 0 up on Cardboard or + /// ControllerInputDevice.GetButtonUp(TouchPadButton) on Daydream. + /// Can be overridden to change the trigger. + public virtual bool TriggerUp { + get { + bool isTriggerUp = Input.GetMouseButtonUp(0); + if (ControllerInputDevice == null) { + isTriggerUp |= + ControllerInputDevice.GetButtonUp(GvrControllerButton.TouchPadButton); + } + return isTriggerUp; + } + } + + /// If true, the user just started touching the touchpad. This is an event flag (it is true + /// for only one frame after the event happens, then reverts to false). + /// Used by _GvrPointerScrollInput_ to generate OnScroll events using Unity's Event System. + /// Defaults to ControllerInputDevice.GetButtonDown(TouchPadTouch), can be overridden to change + /// the input source. + public virtual bool TouchDown { + get { + if (ControllerInputDevice == null) { + return false; + } else { + return ControllerInputDevice.GetButtonDown(GvrControllerButton.TouchPadTouch); + } + } + } + + /// If true, the user is currently touching the touchpad. + /// Used by _GvrPointerScrollInput_ to generate OnScroll events using Unity's Event System. + /// Defaults to ControllerInputDevice.GetButton(TouchPadTouch), can be overridden to change + /// the input source. + public virtual bool IsTouching { + get { + if (ControllerInputDevice == null) { + return false; + } else { + return ControllerInputDevice.GetButton(GvrControllerButton.TouchPadTouch); + } + } + } + + /// If true, the user just stopped touching the touchpad. This is an event flag (it is true + /// for only one frame after the event happens, then reverts to false). + /// Used by _GvrPointerScrollInput_ to generate OnScroll events using Unity's Event System. + /// Defaults to ControllerInputDevice.GetButtonUp(TouchPadTouch), can be overridden to change + /// the input source. + public virtual bool TouchUp { + get { + if (ControllerInputDevice == null) { + return false; + } else { + return ControllerInputDevice.GetButtonUp(GvrControllerButton.TouchPadTouch); + } + } + } + + /// Position of the current touch, if touching the touchpad. + /// If not touching, this is the position of the last touch (when the finger left the touchpad). + /// The X and Y range is from 0 to 1. + /// (0, 0) is the top left of the touchpad and (1, 1) is the bottom right of the touchpad. + /// Used by `GvrPointerScrollInput` to generate OnScroll events using Unity's Event System. + /// Defaults to `ControllerInputDevice.TouchPos` but translated to top-left-relative coordinates + /// for backwards compatibility. Can be overridden to change the input source. + public virtual Vector2 TouchPos { + get { + if (ControllerInputDevice == null) { + return Vector2.zero; + } else { + Vector2 touchPos = ControllerInputDevice.TouchPos; + touchPos.x = (touchPos.x / 2.0f) + 0.5f; + touchPos.y = (-touchPos.y / 2.0f) + 0.5f; + return touchPos; + } + } + } + + /// Returns the end point of the pointer when it is MaxPointerDistance away from the origin. + public virtual Vector3 MaxPointerEndPoint { + get { + Transform pointerTransform = PointerTransform; + if (pointerTransform == null) { + return Vector3.zero; + } + + Vector3 maxEndPoint = GetPointAlongPointer(MaxPointerDistance); + return maxEndPoint; + } + } + + /// If true, the pointer will be used for generating input events by _GvrPointerInputModule_. + public virtual bool IsAvailable { + get { + Transform pointerTransform = PointerTransform; + if (pointerTransform == null) { + return false; + } + + if (!enabled) { + return false; + } + + return pointerTransform.gameObject.activeInHierarchy; + } + } + + /// When using the Camera raycast mode, this is used to calculate + /// where the ray from the pointer will intersect with the ray from the camera. + public virtual float CameraRayIntersectionDistance { + get { + return MaxPointerDistance; + } + } + + public Camera PointerCamera { + get { + if (overridePointerCamera != null) { + return overridePointerCamera; + } + + return Camera.main; + } + } + + /// Returns the max distance from the pointer that raycast hits will be detected. + public abstract float MaxPointerDistance { get; } + + /// Called when the pointer is facing a valid GameObject. This can be a 3D + /// or UI element. + /// + /// **raycastResult** is the hit detection result for the object being pointed at. + /// **isInteractive** is true if the object being pointed at is interactive. + public abstract void OnPointerEnter(RaycastResult raycastResult, bool isInteractive); + + /// Called every frame the user is still pointing at a valid GameObject. This + /// can be a 3D or UI element. + /// + /// **raycastResult** is the hit detection result for the object being pointed at. + /// **isInteractive** is true if the object being pointed at is interactive. + public abstract void OnPointerHover(RaycastResult raycastResultResult, bool isInteractive); + + /// Called when the pointer no longer faces an object previously + /// intersected with a ray projected from the camera. + /// This is also called just before **OnInputModuleDisabled** + /// previousObject will be null in this case. + /// + /// **previousObject** is the object that was being pointed at the previous frame. + public abstract void OnPointerExit(GameObject previousObject); + + /// Called when a click is initiated. + public abstract void OnPointerClickDown(); + + /// Called when click is finished. + public abstract void OnPointerClickUp(); + + /// Return the radius of the pointer. It is used by GvrPointerPhysicsRaycaster when + /// searching for valid pointer targets. If a radius is 0, then a ray is used to find + /// a valid pointer target. Otherwise it will use a SphereCast. + /// The *enterRadius* is used for finding new targets while the *exitRadius* + /// is used to see if you are still nearby the object currently pointed at + /// to avoid a flickering effect when just at the border of the intersection. + /// + /// NOTE: This is only works with GvrPointerPhysicsRaycaster. To use it with uGUI, + /// add 3D colliders to your canvas elements. + public abstract void GetPointerRadius(out float enterRadius, out float exitRadius); + + /// Returns a point in worldspace a specified distance along the pointer. + /// What this point will be is different depending on the raycastMode. + /// + /// Because raycast modes differ, use this function instead of manually calculating a point + /// projected from the pointer. + public Vector3 GetPointAlongPointer(float distance) { + PointerRay pointerRay = GetRayForDistance(distance); + return pointerRay.ray.GetPoint(distance - pointerRay.distanceFromStart); + } + + /// Returns the ray used for projecting points out of the pointer for the given distance. + /// In Hybrid raycast mode, the ray will be different depending upon the distance. + /// In Camera or Direct raycast mode, the ray will always be the same. + public PointerRay GetRayForDistance(float distance) { + PointerRay result = new PointerRay(); + + if (raycastMode == RaycastMode.Hybrid) { + float directDistance = CameraRayIntersectionDistance; + if (distance < directDistance) { + result = CalculateHybridRay(this, RaycastMode.Direct); + } else { + result = CalculateHybridRay(this, RaycastMode.Camera); + } + } else { + result = CalculateRay(this, raycastMode); + } + + return result; + } + + /// Calculates the ray for a given Raycast mode. + /// Will throw an exception if the raycast mode Hybrid is passed in. + /// If you need to calculate the ray for the direct or camera segment of the Hybrid raycast, + /// use CalculateHybridRay instead. + public static PointerRay CalculateRay(GvrBasePointer pointer, RaycastMode mode) { + PointerRay result = new PointerRay(); + + if (pointer == null || !pointer.IsAvailable) { + Debug.LogError("Cannot calculate ray when the pointer isn't available."); + return result; + } + + Transform pointerTransform = pointer.PointerTransform; + + if (pointerTransform == null) { + Debug.LogError("Cannot calculate ray when pointerTransform is null."); + return result; + } + + result.distance = pointer.MaxPointerDistance; + + switch (mode) { + case RaycastMode.Camera: + Camera camera = pointer.PointerCamera; + if (camera == null) { + Debug.LogError("Cannot calculate ray because pointer.PointerCamera is null." + + "To fix this, either tag a Camera as \"MainCamera\" or set overridePointerCamera."); + return result; + } + + Vector3 rayPointerStart = pointerTransform.position; + Vector3 rayPointerEnd = rayPointerStart + + (pointerTransform.forward * pointer.CameraRayIntersectionDistance); + + Vector3 cameraLocation = camera.transform.position; + Vector3 finalRayDirection = rayPointerEnd - cameraLocation; + finalRayDirection.Normalize(); + + Vector3 finalRayStart = cameraLocation + (finalRayDirection * camera.nearClipPlane); + + result.ray = new Ray(finalRayStart, finalRayDirection); + break; + case RaycastMode.Direct: + result.ray = new Ray(pointerTransform.position, pointerTransform.forward); + break; + default: + throw new UnityException("Invalid RaycastMode " + mode + " passed into CalculateRay."); + } + + return result; + } + + /// Calculates the ray for the segment of the Hybrid raycast determined by the raycast mode + /// passed in. Throws an exception if Hybrid is passed in. + public static PointerRay CalculateHybridRay(GvrBasePointer pointer, RaycastMode hybridMode) { + PointerRay result; + + switch (hybridMode) { + case RaycastMode.Direct: + result = CalculateRay(pointer, hybridMode); + result.distance = pointer.CameraRayIntersectionDistance; + break; + case RaycastMode.Camera: + result = CalculateRay(pointer, hybridMode); + PointerRay directRay = CalculateHybridRay(pointer, RaycastMode.Direct); + result.ray.origin = directRay.ray.GetPoint(directRay.distance); + result.distanceFromStart = directRay.distance; + result.distance = pointer.MaxPointerDistance - directRay.distance; + break; + default: + throw new UnityException("Invalid RaycastMode " + hybridMode + " passed into CalculateHybridRay."); + } + + return result; + } + + protected virtual void Start() { + GvrPointerInputModule.OnPointerCreated(this); + } + +#if UNITY_EDITOR + protected virtual void OnDrawGizmos() { + if (drawDebugRays && Application.isPlaying && isActiveAndEnabled) { + switch (raycastMode) { + case RaycastMode.Camera: + // Camera line. + Gizmos.color = Color.green; + PointerRay pointerRay = CalculateRay(this, RaycastMode.Camera); + Gizmos.DrawLine(pointerRay.ray.origin, pointerRay.ray.GetPoint(pointerRay.distance)); + Camera camera = PointerCamera; + + // Pointer to intersection dotted line. + Vector3 intersection = + PointerTransform.position + (PointerTransform.forward * CameraRayIntersectionDistance); + UnityEditor.Handles.DrawDottedLine(PointerTransform.position, intersection, 1.0f); + break; + case RaycastMode.Direct: + // Direct line. + Gizmos.color = Color.blue; + pointerRay = CalculateRay(this, RaycastMode.Direct); + Gizmos.DrawLine(pointerRay.ray.origin, pointerRay.ray.GetPoint(pointerRay.distance)); + break; + case RaycastMode.Hybrid: + // Direct line. + Gizmos.color = Color.blue; + pointerRay = CalculateHybridRay(this, RaycastMode.Direct); + Gizmos.DrawLine(pointerRay.ray.origin, pointerRay.ray.GetPoint(pointerRay.distance)); + + // Camera line. + Gizmos.color = Color.green; + pointerRay = CalculateHybridRay(this, RaycastMode.Camera); + Gizmos.DrawLine(pointerRay.ray.origin, pointerRay.ray.GetPoint(pointerRay.distance)); + + // Camera to intersection dotted line. + camera = PointerCamera; + if (camera != null) { + UnityEditor.Handles.DrawDottedLine(camera.transform.position, pointerRay.ray.origin, 1.0f); + } + break; + default: + break; + } + } + } +#endif // UNITY_EDITOR +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrBasePointer.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/GvrBasePointer.cs.meta new file mode 100644 index 0000000..2e14f87 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrBasePointer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 41c83891d500f43ca90ce70315712c84 +timeCreated: 1472600806 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrBasePointerRaycaster.cs b/Assets/GoogleVR/Scripts/EventSystem/GvrBasePointerRaycaster.cs new file mode 100644 index 0000000..ff2ae8a --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrBasePointerRaycaster.cs @@ -0,0 +1,66 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.EventSystems; +using System.Collections.Generic; + +/// This script provides shared functionality used by all Gvr raycasters. +public abstract class GvrBasePointerRaycaster : BaseRaycaster { + private GvrBasePointer.PointerRay lastRay; + + protected GvrBasePointer.RaycastMode CurrentRaycastModeForHybrid { get; private set; } + + protected GvrBasePointerRaycaster() { + } + + public GvrBasePointer.PointerRay GetLastRay() { + return lastRay; + } + + public override void Raycast(PointerEventData eventData, List resultAppendList) { + GvrBasePointer pointer = GvrPointerInputModule.Pointer; + if (pointer == null || !pointer.IsAvailable) { + return; + } + + if (pointer.raycastMode == GvrBasePointer.RaycastMode.Hybrid) { + RaycastHybrid(pointer, eventData, resultAppendList); + } else { + RaycastDefault(pointer, eventData, resultAppendList); + } + } + + protected abstract bool PerformRaycast(GvrBasePointer.PointerRay pointerRay, float radius, + PointerEventData eventData, List resultAppendList); + + private void RaycastHybrid(GvrBasePointer pointer, PointerEventData eventData, List resultAppendList) { + CurrentRaycastModeForHybrid = GvrBasePointer.RaycastMode.Direct; + lastRay = GvrBasePointer.CalculateHybridRay(pointer, CurrentRaycastModeForHybrid); + float radius = pointer.CurrentPointerRadius; + bool foundHit = PerformRaycast(lastRay, radius, eventData, resultAppendList); + + if (!foundHit) { + CurrentRaycastModeForHybrid = GvrBasePointer.RaycastMode.Camera; + lastRay = GvrBasePointer.CalculateHybridRay(pointer, CurrentRaycastModeForHybrid); + PerformRaycast(lastRay, radius, eventData, resultAppendList); + } + } + + private void RaycastDefault(GvrBasePointer pointer, PointerEventData eventData, List resultAppendList) { + lastRay = GvrBasePointer.CalculateRay(pointer, pointer.raycastMode); + float radius = pointer.CurrentPointerRadius; + PerformRaycast(lastRay, radius, eventData, resultAppendList); + } +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrBasePointerRaycaster.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/GvrBasePointerRaycaster.cs.meta new file mode 100644 index 0000000..f0c22b2 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrBasePointerRaycaster.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b05767d6e8b854cd0987b344898cc15d +timeCreated: 1478543740 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrEventInterfacesExtension.cs b/Assets/GoogleVR/Scripts/EventSystem/GvrEventInterfacesExtension.cs new file mode 100644 index 0000000..81f6b29 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrEventInterfacesExtension.cs @@ -0,0 +1,22 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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.EventSystems; + +/// Interface to implement if you wish to receive OnGvrPointerHover callbacks. +public interface IGvrPointerHoverHandler : IEventSystemHandler { + + /// Called when pointer is hovering over GameObject. + void OnGvrPointerHover(PointerEventData eventData); +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrEventInterfacesExtension.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/GvrEventInterfacesExtension.cs.meta new file mode 100644 index 0000000..e2e98f5 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrEventInterfacesExtension.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e7441953e05443d4fa517d1ce7382b0c +timeCreated: 1475082809 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrExecuteEventsExtension.cs b/Assets/GoogleVR/Scripts/EventSystem/GvrExecuteEventsExtension.cs new file mode 100644 index 0000000..2d734be --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrExecuteEventsExtension.cs @@ -0,0 +1,30 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.EventSystems; +using System.Collections; + +/// This script extends the standard Unity EventSystem events with Gvr specific events. +public static class GvrExecuteEventsExtension { + private static readonly ExecuteEvents.EventFunction s_HoverHandler = Execute; + + private static void Execute(IGvrPointerHoverHandler handler, BaseEventData eventData) { + handler.OnGvrPointerHover(ExecuteEvents.ValidateEventData(eventData)); + } + + public static ExecuteEvents.EventFunction pointerHoverHandler { + get { return s_HoverHandler; } + } +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrExecuteEventsExtension.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/GvrExecuteEventsExtension.cs.meta new file mode 100644 index 0000000..5c537c3 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrExecuteEventsExtension.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2a443597ee157fe49a30c4310f1fb2eb +timeCreated: 1475082615 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrPointerGraphicRaycaster.cs b/Assets/GoogleVR/Scripts/EventSystem/GvrPointerGraphicRaycaster.cs new file mode 100644 index 0000000..4343551 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrPointerGraphicRaycaster.cs @@ -0,0 +1,234 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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.Collections.Generic; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +/// This script provides a raycaster for use with the GvrPointerInputModule. +/// It behaves similarly to the standards Graphic raycaster, except that it utilize raycast +/// modes specifically for Gvr. +/// +/// View GvrBasePointerRaycaster.cs and GvrPointerInputModule.cs for more details. +[AddComponentMenu("GoogleVR/GvrPointerGraphicRaycaster")] +[RequireComponent(typeof(Canvas))] +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrPointerGraphicRaycaster")] +public class GvrPointerGraphicRaycaster : GvrBasePointerRaycaster { + public enum BlockingObjects { + None = 0, + TwoD = 1, + ThreeD = 2, + All = 3, + } + + private const int NO_EVENT_MASK_SET = -1; + + public bool ignoreReversedGraphics = true; + public BlockingObjects blockingObjects = BlockingObjects.ThreeD; + public LayerMask blockingMask = NO_EVENT_MASK_SET; + + private Canvas targetCanvas; + private List raycastResults = new List(); + private Camera cachedPointerEventCamera; + + private static readonly List sortedGraphics = new List(); + + public override Camera eventCamera { + get { + GvrBasePointer pointer = GvrPointerInputModule.Pointer; + if (pointer == null) { + return null; + } + + if (pointer.raycastMode == GvrBasePointer.RaycastMode.Hybrid) { + return GetCameraForRaycastMode(pointer, CurrentRaycastModeForHybrid); + } else { + return GetCameraForRaycastMode(pointer, pointer.raycastMode); + } + } + } + + private Canvas canvas { + get { + if (targetCanvas != null) + return targetCanvas; + + targetCanvas = GetComponent(); + return targetCanvas; + } + } + + protected GvrPointerGraphicRaycaster() { + } + + protected override bool PerformRaycast(GvrBasePointer.PointerRay pointerRay, float radius, + PointerEventData eventData, List resultAppendList) { + if (canvas == null) { + return false; + } + + if (eventCamera == null) { + return false; + } + + if (canvas.renderMode != RenderMode.WorldSpace) { + Debug.LogError("GvrPointerGraphicRaycaster requires that the canvas renderMode is set to WorldSpace."); + return false; + } + + float hitDistance = float.MaxValue; + + if (blockingObjects != BlockingObjects.None) { + float dist = pointerRay.distance; + + if (blockingObjects == BlockingObjects.ThreeD || blockingObjects == BlockingObjects.All) { + RaycastHit hit; + if (Physics.Raycast(pointerRay.ray, out hit, dist, blockingMask)) { + hitDistance = hit.distance; + } + } + + if (blockingObjects == BlockingObjects.TwoD || blockingObjects == BlockingObjects.All) { + RaycastHit2D hit = Physics2D.Raycast(pointerRay.ray.origin, pointerRay.ray.direction, dist, blockingMask); + + if (hit.collider != null) { + hitDistance = hit.fraction * dist; + } + } + } + + raycastResults.Clear(); + Ray finalRay; + Raycast(canvas, pointerRay.ray, eventCamera, pointerRay.distance, raycastResults, out finalRay); + + bool foundHit = false; + + for (int index = 0; index < raycastResults.Count; index++) { + GameObject go = raycastResults[index].gameObject; + bool appendGraphic = true; + + if (ignoreReversedGraphics) { + // If we have a camera compare the direction against the cameras forward. + Vector3 cameraFoward = eventCamera.transform.rotation * Vector3.forward; + Vector3 dir = go.transform.rotation * Vector3.forward; + appendGraphic = Vector3.Dot(cameraFoward, dir) > 0; + } + + if (appendGraphic) { + float resultDistance = 0; + + Transform trans = go.transform; + Vector3 transForward = trans.forward; + // http://geomalgorithms.com/a06-_intersect-2.html + float transDot = Vector3.Dot(transForward, trans.position - pointerRay.ray.origin); + float rayDot = Vector3.Dot(transForward, pointerRay.ray.direction); + resultDistance = transDot / rayDot; + Vector3 hitPosition = pointerRay.ray.origin + (pointerRay.ray.direction * resultDistance); + + // Check to see if the go is behind the camera. + if (resultDistance < 0 || resultDistance >= hitDistance || resultDistance > pointerRay.distance) { + continue; + } + + resultDistance = resultDistance + pointerRay.distanceFromStart; + Transform pointerTransform = + GvrPointerInputModule.Pointer.PointerTransform; + float delta = (hitPosition - pointerTransform.position).magnitude; + if (delta < pointerRay.distanceFromStart) { + continue; + } + + RaycastResult castResult = new RaycastResult + { + gameObject = go, + module = this, + distance = resultDistance, + worldPosition = hitPosition, + screenPosition = eventCamera.WorldToScreenPoint(hitPosition), + index = resultAppendList.Count, + depth = raycastResults[index].depth, + sortingLayer = canvas.sortingLayerID, + sortingOrder = canvas.sortingOrder + }; + + resultAppendList.Add(castResult); + foundHit = true; + } + } + + return foundHit; + } + + private Camera GetCameraForRaycastMode(GvrBasePointer pointer, GvrBasePointer.RaycastMode mode) { + switch (mode) { + case GvrBasePointer.RaycastMode.Direct: + if (cachedPointerEventCamera == null) { + Transform pointerTransform = GvrPointerInputModule.Pointer.PointerTransform; + cachedPointerEventCamera = pointerTransform.GetComponent(); + } + + if (cachedPointerEventCamera == null) { + cachedPointerEventCamera = AddDummyCameraToPointer(pointer); + return null; + } + + return cachedPointerEventCamera; + case GvrBasePointer.RaycastMode.Camera: + default: + return pointer.PointerCamera; + } + } + + private Camera AddDummyCameraToPointer(GvrBasePointer pointer) { + Camera camera = pointer.PointerTransform.gameObject.AddComponent(); + camera.enabled = false; + camera.nearClipPlane = 0.01f; // Minimum Near Clip Plane. + return camera; + } + + /// Perform a raycast into the screen and collect all graphics underneath it. + private static void Raycast(Canvas canvas, Ray ray, Camera cam, float distance, + List results, out Ray finalRay) { + Vector3 screenPoint = cam.WorldToScreenPoint(ray.GetPoint(distance)); + finalRay = cam.ScreenPointToRay(screenPoint); + + // Necessary for the event system + IList foundGraphics = GraphicRegistry.GetGraphicsForCanvas(canvas); + for (int i = 0; i < foundGraphics.Count; ++i) { + Graphic graphic = foundGraphics[i]; + + // -1 means it hasn't been processed by the canvas, which means it isn't actually drawn + if (graphic.depth == -1 || !graphic.raycastTarget) { + continue; + } + + if (!RectTransformUtility.RectangleContainsScreenPoint(graphic.rectTransform, screenPoint, cam)) { + continue; + } + + if (graphic.Raycast(screenPoint, cam)) { + sortedGraphics.Add(graphic); + } + } + + sortedGraphics.Sort((g1, g2) => g2.depth.CompareTo(g1.depth)); + + for (int i = 0; i < sortedGraphics.Count; ++i) { + results.Add(sortedGraphics[i]); + } + + sortedGraphics.Clear(); + } +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrPointerGraphicRaycaster.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/GvrPointerGraphicRaycaster.cs.meta new file mode 100644 index 0000000..45e429d --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrPointerGraphicRaycaster.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 739800cd36aba44e9b04ce977e5784bd +timeCreated: 1478217778 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrPointerPhysicsRaycaster.cs b/Assets/GoogleVR/Scripts/EventSystem/GvrPointerPhysicsRaycaster.cs new file mode 100644 index 0000000..6510085 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrPointerPhysicsRaycaster.cs @@ -0,0 +1,181 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.EventSystems; + +/// This script provides a raycaster for use with the GvrPointerInputModule. +/// It behaves similarly to the standards Physics raycaster, except that it utilize raycast +/// modes specifically for Gvr. +/// +/// View GvrBasePointerRaycaster.cs and GvrPointerInputModule.cs for more details. +[AddComponentMenu("GoogleVR/GvrPointerPhysicsRaycaster")] +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrPointerPhysicsRaycaster")] +public class GvrPointerPhysicsRaycaster : GvrBasePointerRaycaster { + /// Used to sort the raycast hits by distance. + private class HitComparer: IComparer { + public int Compare(RaycastHit lhs, RaycastHit rhs) { + return lhs.distance.CompareTo(rhs.distance); + } + } + + /// Const to use for clarity when no event mask is set + protected const int NO_EVENT_MASK_SET = -1; + + /// The maximum allowed value for the field maxRaycastHits. + private const int MAX_RAYCAST_HITS_MAX = 512; + + /// Layer mask used to filter events. Always combined with the camera's culling mask if a camera is used. + [SerializeField] + protected LayerMask raycasterEventMask = NO_EVENT_MASK_SET; + + [SerializeField] + [Range(1, MAX_RAYCAST_HITS_MAX)] + /// The max number of hits that the raycaster can detect at once. + /// They are NOT guaranteed to be ordered by distance. This value should be set to a higher number + /// than the number of objects the pointer is expected to intersect with in a single frame. + /// + /// This functionality is used to prevent unnecessary memory allocation to improve performance. + /// https://docs.unity3d.com/ScriptReference/Physics.SphereCastNonAlloc.html + private int maxRaycastHits = 64; + + /// Buffer of raycast hits re-used each time PerformRaycast is called. + private RaycastHit[] hits; + + /// Used to sort the hits by distance. + private HitComparer hitComparer = new HitComparer(); + + public int MaxRaycastHits { + get { + return maxRaycastHits; + } + set { + maxRaycastHits = Mathf.Min(value, MAX_RAYCAST_HITS_MAX); + + if (Application.isPlaying && hits != null && hits.Length != maxRaycastHits) { + hits = new RaycastHit[maxRaycastHits]; + } + } + } + + /// Camera used for masking layers and determining the screen position of the raycast result. + public override Camera eventCamera { + get { + GvrBasePointer pointer = GvrPointerInputModule.Pointer; + if (pointer == null) { + return null; + } + + return pointer.PointerCamera; + } + } + + /// Event mask used to determine which objects will receive events. + public int finalEventMask { + get { + return (eventCamera != null) ? eventCamera.cullingMask & eventMask : NO_EVENT_MASK_SET; + } + } + + /// Layer mask used to filter events. Always combined with the camera's culling mask if a camera is used. + public LayerMask eventMask { + get { + return raycasterEventMask; + } + set { + raycasterEventMask = value; + } + } + + protected GvrPointerPhysicsRaycaster() { + } + + protected override void Awake() { + base.Awake(); + hits = new RaycastHit[maxRaycastHits]; + } + + protected override bool PerformRaycast(GvrBasePointer.PointerRay pointerRay, float radius, + PointerEventData eventData, List resultAppendList) { + + if (eventCamera == null) { + return false; + } + + int numHits; + if (radius > 0.0f) { + numHits = Physics.SphereCastNonAlloc(pointerRay.ray, radius, hits, pointerRay.distance, finalEventMask); + } else { + numHits = Physics.RaycastNonAlloc(pointerRay.ray, hits, pointerRay.distance, finalEventMask); + } + + if (numHits == 0) { + return false; + } + + if (numHits == MaxRaycastHits) { + MaxRaycastHits *= 2; + Debug.LogWarningFormat("Physics Raycast/Spherecast returned {0} hits, which is the current " + + "maximum and means that some hits may have been lost. Setting maxRaycastHits to {1}. " + + "Please set maxRaycastHits to a sufficiently high value for your scene.", + numHits, MaxRaycastHits); + } + + Array.Sort(hits, 0, numHits, hitComparer); + + for (int i = 0; i < numHits; ++i) { + Vector3 projection = Vector3.Project(hits[i].point - pointerRay.ray.origin, pointerRay.ray.direction); + Vector3 hitPosition = projection + pointerRay.ray.origin; + float resultDistance = hits[i].distance + pointerRay.distanceFromStart; + + Transform pointerTransform = + GvrPointerInputModule.Pointer.PointerTransform; + float delta = (hitPosition - pointerTransform.position).magnitude; + if (delta < pointerRay.distanceFromStart) { + continue; + } + + RaycastResult result = new RaycastResult + { + gameObject = hits[i].collider.gameObject, + module = this, + distance = resultDistance, + worldPosition = hitPosition, + worldNormal = hits[i].normal, + screenPosition = eventCamera.WorldToScreenPoint(hitPosition), + index = resultAppendList.Count, + sortingLayer = 0, + sortingOrder = 0 + }; + + resultAppendList.Add(result); + } + + return true; + } + +#if UNITY_EDITOR + protected override void OnValidate() { + base.OnValidate(); + + // Makes sure that the hits buffer is updated if maxRaycastHits is changed in the inspector + // while testing in the editor. + if (Application.isPlaying) { + MaxRaycastHits = maxRaycastHits; + } + } +#endif // UNITY_EDITOR +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrPointerPhysicsRaycaster.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/GvrPointerPhysicsRaycaster.cs.meta new file mode 100644 index 0000000..e1c3870 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrPointerPhysicsRaycaster.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: eb5dd43baba2d4dc1bab789615567e3d +timeCreated: 1478196044 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrPointerScrollInput.cs b/Assets/GoogleVR/Scripts/EventSystem/GvrPointerScrollInput.cs new file mode 100644 index 0000000..7a0253d --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrPointerScrollInput.cs @@ -0,0 +1,283 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.EventSystems; +using System.Collections; +using System.Collections.Generic; +using System.Linq; + +/// This class is used by _GvrPointerInputModule_ to route scroll events through Unity's Event System. +/// It maintains indepedent velocities for each instance of _IScrollHandler_ that is currently being scrolled. +/// Inertia can optionally be toggled off. +[System.Serializable] +public class GvrPointerScrollInput { + public const string PROPERTY_NAME_INERTIA = "inertia"; + public const string PROPERTY_NAME_DECELERATION_RATE = "decelerationRate"; + + private class ScrollInfo { + public bool isScrollingX = false; + public bool isScrollingY = false; + public Vector2 initScroll = Vector2.zero; + public Vector2 lastScroll = Vector2.zero; + public Vector2 scrollVelocity = Vector2.zero; + public IGvrScrollSettings scrollSettings = null; + + public bool IsScrolling { + get { + return isScrollingX || isScrollingY; + } + } + } + + /// Inertia means that scroll events will continue for a while after the user stops + /// touching the touchpad. It gradually slows down according to the decelerationRate. + [Tooltip("Determines if movement inertia is enabled.")] + public bool inertia = true; + + /// The deceleration rate is the speed reduction per second. + /// A value of 0.5 halves the speed each second. The default is 0.05. + /// The deceleration rate is only used when inertia is enabled. + [Tooltip("The rate at which movement slows down.")] + public float decelerationRate = 0.05f; + + /// Multiplier for calculating the scroll delta so that the scroll delta is + /// within the order of magnitude that the UI system expects. + public const float SCROLL_DELTA_MULTIPLIER = 1000.0f; + + private const float CUTOFF_HZ = 10.0f; + private const float RC = (float) (1.0 / (2.0 * Mathf.PI * CUTOFF_HZ)); + private const float SPEED_CLAMP_RATIO = 0.05f; + private const float SPEED_CLAMP = (SPEED_CLAMP_RATIO * SCROLL_DELTA_MULTIPLIER); + private const float SPEED_CLAMP_SQUARED = SPEED_CLAMP * SPEED_CLAMP; + private const float INERTIA_THRESHOLD_RATIO = 0.2f; + private const float INERTIA_THRESHOLD = (INERTIA_THRESHOLD_RATIO * SCROLL_DELTA_MULTIPLIER); + private const float INERTIA_THRESHOLD_SQUARED = INERTIA_THRESHOLD * INERTIA_THRESHOLD; + private const float SLOP_VERTICAL = 0.165f * SCROLL_DELTA_MULTIPLIER; + private const float SLOP_HORIZONTAL = 0.15f * SCROLL_DELTA_MULTIPLIER; + + private Dictionary scrollHandlers = new Dictionary(); + private List scrollingObjects = new List(); + + public void HandleScroll(GameObject currentGameObject, PointerEventData pointerData, + GvrBasePointer pointer, IGvrEventExecutor eventExecutor) { + bool touchDown = false; + bool touching = false; + bool touchUp = false; + Vector2 currentScroll = Vector2.zero; + + if (pointer != null && pointer.IsAvailable) { + touchDown = pointer.TouchDown; + touching = pointer.IsTouching; + touchUp = pointer.TouchUp; + currentScroll = pointer.TouchPos * SCROLL_DELTA_MULTIPLIER; + } + + GameObject currentScrollHandler = eventExecutor.GetEventHandler(currentGameObject); + + if (touchDown) { + RemoveScrollHandler(currentScrollHandler); + } + + if (currentScrollHandler != null && (touchDown || touching)) { + OnTouchingScrollHandler(currentScrollHandler, pointerData, currentScroll, eventExecutor); + } else if (touchUp && currentScrollHandler != null) { + OnReleaseScrollHandler(currentScrollHandler); + } + + StopScrollingIfNecessary(touching, currentScrollHandler); + UpdateInertiaScrollHandlers(touching, currentScrollHandler, pointerData, eventExecutor); + } + + private void OnTouchingScrollHandler(GameObject currentScrollHandler, PointerEventData pointerData, + Vector2 currentScroll, IGvrEventExecutor eventExecutor) { + ScrollInfo scrollInfo = null; + if (!scrollHandlers.ContainsKey(currentScrollHandler)) { + scrollInfo = AddScrollHandler(currentScrollHandler, currentScroll); + } else { + scrollInfo = scrollHandlers[currentScrollHandler]; + } + + // Detect if we should start scrolling along the x-axis based on the horizontal slop threshold. + if (CanScrollStartX(scrollInfo, currentScroll)) { + scrollInfo.isScrollingX = true; + } + + // Detect if we should start scrolling along the y-axis based on the vertical slop threshold. + if (CanScrollStartY(scrollInfo, currentScroll)) { + scrollInfo.isScrollingY = true; + } + + if (scrollInfo.IsScrolling) { + Vector2 clampedScroll = currentScroll; + Vector2 clampedLastScroll = scrollInfo.lastScroll; + if (!scrollInfo.isScrollingX) { + clampedScroll.x = 0.0f; + clampedLastScroll.x = 0.0f; + } + + if (!scrollInfo.isScrollingY) { + clampedScroll.y = 0.0f; + clampedLastScroll.y = 0.0f; + } + + Vector2 scrollDisplacement = clampedScroll - clampedLastScroll; + UpdateVelocity(scrollInfo, scrollDisplacement); + + if (!ShouldUseInertia(scrollInfo)) { + // If inertia is disabled, then we send scroll events immediately. + pointerData.scrollDelta = scrollDisplacement; + eventExecutor.ExecuteHierarchy(currentScrollHandler, pointerData, ExecuteEvents.scrollHandler); + pointerData.scrollDelta = Vector2.zero; + } + } + + scrollInfo.lastScroll = currentScroll; + } + + private void OnReleaseScrollHandler(GameObject currentScrollHandler) { + // When we touch up, immediately stop scrolling the currentScrollHandler if it's velocity is low. + ScrollInfo scrollInfo; + if (scrollHandlers.TryGetValue(currentScrollHandler, out scrollInfo)) { + if (!scrollInfo.IsScrolling || scrollInfo.scrollVelocity.sqrMagnitude <= INERTIA_THRESHOLD_SQUARED) { + RemoveScrollHandler(currentScrollHandler); + } + } + } + + private void UpdateVelocity(ScrollInfo scrollInfo, Vector2 scrollDisplacement) { + Vector2 newVelocity = scrollDisplacement / Time.deltaTime; + float weight = Time.deltaTime / (RC + Time.deltaTime); + scrollInfo.scrollVelocity = Vector2.Lerp(scrollInfo.scrollVelocity, newVelocity, weight); + } + + private void StopScrollingIfNecessary(bool touching, GameObject currentScrollHandler) { + if (scrollHandlers.Count == 0) { + return; + } + + // If inertia is disabled, stop scrolling any scrollHandler that isn't currently being touched. + for (int i = scrollingObjects.Count - 1; i >= 0; i--) { + GameObject scrollHandler = scrollingObjects[i]; + ScrollInfo scrollInfo = scrollHandlers[scrollHandler]; + + bool isScrollling = scrollInfo.IsScrolling; + + bool isVelocityBelowThreshold = + isScrollling && scrollInfo.scrollVelocity.sqrMagnitude <= SPEED_CLAMP_SQUARED; + + bool isCurrentlyTouching = touching && scrollHandler == currentScrollHandler; + + bool shouldUseInertia = ShouldUseInertia(scrollInfo); + + bool shouldStopScrolling = isVelocityBelowThreshold + || ((!shouldUseInertia || !isScrollling) && !isCurrentlyTouching); + + if (shouldStopScrolling) { + RemoveScrollHandler(scrollHandler); + } + } + } + + private void UpdateInertiaScrollHandlers(bool touching, GameObject currentScrollHandler, + PointerEventData pointerData, IGvrEventExecutor eventExecutor) { + if (pointerData == null) { + return; + } + + // If the currentScrollHandler is null, then the currently scrolling scrollHandlers + // must still be decelerated so the function does not return early. + + for (int i = 0; i < scrollingObjects.Count; i++) { + GameObject scrollHandler = scrollingObjects[i]; + ScrollInfo scrollInfo = scrollHandlers[scrollHandler]; + + if (!ShouldUseInertia(scrollInfo)) { + continue; + } + + if (scrollInfo.IsScrolling) { + // Decelerate the scrollHandler if necessary. + if (!touching || scrollHandler != currentScrollHandler) { + float finalDecelerationRate = GetDecelerationRate(scrollInfo); + scrollInfo.scrollVelocity *= Mathf.Pow(finalDecelerationRate, Time.deltaTime); + } + + // Send the scroll events. + pointerData.scrollDelta = scrollInfo.scrollVelocity * Time.deltaTime; + eventExecutor.ExecuteHierarchy(scrollHandler, pointerData, ExecuteEvents.scrollHandler); + } + } + pointerData.scrollDelta = Vector2.zero; + } + + private ScrollInfo AddScrollHandler(GameObject scrollHandler, Vector2 currentScroll) { + ScrollInfo scrollInfo = new ScrollInfo(); + scrollInfo.initScroll = currentScroll; + scrollInfo.lastScroll = currentScroll; + scrollInfo.scrollSettings = scrollHandler.GetComponent(); + scrollHandlers[scrollHandler] = scrollInfo; + scrollingObjects.Add(scrollHandler); + return scrollInfo; + } + + private void RemoveScrollHandler(GameObject scrollHandler) { + // Check if it's null via object.Equals instead of doing a direct comparison + // to avoid using Unity's equality check override for UnityEngine.Objects. + // This is so that we can remove Unity objects that have been Destroyed from the dictionary, + // but will still return early when an object is actually null. + if (object.Equals(scrollHandler, null)) { + return; + } + + if (!scrollHandlers.ContainsKey(scrollHandler)) { + return; + } + + scrollHandlers.Remove(scrollHandler); + scrollingObjects.Remove(scrollHandler); + } + + private bool ShouldUseInertia(ScrollInfo scrollInfo) { + if (scrollInfo != null && scrollInfo.scrollSettings != null) { + return scrollInfo.scrollSettings.InertiaOverride; + } + + return inertia; + } + + private float GetDecelerationRate(ScrollInfo scrollInfo) { + if (scrollInfo != null && scrollInfo.scrollSettings != null) { + return scrollInfo.scrollSettings.DecelerationRateOverride; + } + + return decelerationRate; + } + + private static bool CanScrollStartX(ScrollInfo scrollInfo, Vector2 currentScroll) { + if (scrollInfo == null) { + return false; + } + + return Mathf.Abs(currentScroll.x - scrollInfo.initScroll.x) >= SLOP_HORIZONTAL; + } + + private static bool CanScrollStartY(ScrollInfo scrollInfo, Vector2 currentScroll) { + if (scrollInfo == null) { + return false; + } + + return Mathf.Abs(currentScroll.y - scrollInfo.initScroll.y) >= SLOP_VERTICAL; + } +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrPointerScrollInput.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/GvrPointerScrollInput.cs.meta new file mode 100644 index 0000000..fe4fa90 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrPointerScrollInput.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 23744ffc3b678488e858089d1a2973d9 +timeCreated: 1487096177 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrScrollSettings.cs b/Assets/GoogleVR/Scripts/EventSystem/GvrScrollSettings.cs new file mode 100644 index 0000000..437d03c --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrScrollSettings.cs @@ -0,0 +1,46 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System.Collections; + +/// Used to override the global scroll settings in _GvrPointerScrollInput_ +/// for the GameObject that this script is attached to. +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrScrollSettings")] +public class GvrScrollSettings : MonoBehaviour, IGvrScrollSettings { + /// Override the Inertia property in _GvrPointerScrollInput_ for this object. + /// + /// Inertia means that scroll events will continue for a while after the user stops + /// touching the touchpad. It gradually slows down according to the decelerationRate. + [Tooltip("Determines if movement inertia is enabled.")] + public bool inertiaOverride = true; + + /// The deceleration rate is the speed reduction per second. + /// A value of 0.5 halves the speed each second. The default is 0.05. + /// The deceleration rate is only used when inertia is enabled. + [Tooltip("The rate at which movement slows down.")] + public float decelerationRateOverride = 0.05f; + + public bool InertiaOverride { + get { + return inertiaOverride; + } + } + + public float DecelerationRateOverride { + get { + return decelerationRateOverride; + } + } +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrScrollSettings.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/GvrScrollSettings.cs.meta new file mode 100644 index 0000000..682bfb8 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrScrollSettings.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5db1ab7348db34ecbac8c834c5d3425f +timeCreated: 1496793989 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrXREventsSubscriber.cs b/Assets/GoogleVR/Scripts/EventSystem/GvrXREventsSubscriber.cs new file mode 100644 index 0000000..273b79c --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrXREventsSubscriber.cs @@ -0,0 +1,57 @@ +// Copyright 2018 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System.Collections; + +#if UNITY_2017_2_OR_NEWER +using UnityEngine.XR; +#else +using XRDevice = UnityEngine.VR.VRDevice; +using XRSettings = UnityEngine.VR.VRSettings; +#endif // UNITY_2017_2_OR_NEWER + +// Handler for subscribing XR Unity actions to GVR Actions. +public class GvrXREventsSubscriber : MonoBehaviour { + private static GvrXREventsSubscriber instance; + private string _loadedDeviceName; + public static string loadedDeviceName { + get { + return GetInstance()._loadedDeviceName; + } + set { + GetInstance()._loadedDeviceName = value; + } + } + + private static void OnDeviceLoadAction(string newLoadedDeviceName) { + loadedDeviceName = newLoadedDeviceName; + } + + void Awake() { + instance = this; + _loadedDeviceName = XRSettings.loadedDeviceName; +#if UNITY_2018_3_OR_NEWER + XRDevice.deviceLoaded += OnDeviceLoadAction; +#endif // UNITY_2018_3_OR_NEWER + } + + private static GvrXREventsSubscriber GetInstance() { + if (instance == null) { + GameObject gvrXREventsSubscriber = new GameObject("GvrXREventsSubscriber"); + gvrXREventsSubscriber.AddComponent(); + } + return instance; + } +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/GvrXREventsSubscriber.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/GvrXREventsSubscriber.cs.meta new file mode 100644 index 0000000..cc86315 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/GvrXREventsSubscriber.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 12a8088f6fe474f31bffbd957940f5fe +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/IGvrScrollSettings.cs b/Assets/GoogleVR/Scripts/EventSystem/IGvrScrollSettings.cs new file mode 100644 index 0000000..2f52cb3 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/IGvrScrollSettings.cs @@ -0,0 +1,40 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System.Collections; + +/// Interface to implement to override the global scroll settings +/// in _GvrPointerScrollInput_ for an object. +/// +/// Must be implmented by a component. It will override the scroll settings for the +/// GameObject that the component is attached to. +/// +/// Can use _GvrScrollSettings_ To override scroll settings for any existing UI type, +/// or a custom UI component can implement this directly to override the scroll settings +/// for the UI component's use case. +public interface IGvrScrollSettings { + /// Override the Inertia property in _GvrPointerScrollInput_ for this object. + /// + /// Inertia means that scroll events will continue for a while after the user stops + /// touching the touchpad. It gradually slows down according to the decelerationRate. + bool InertiaOverride { get; } + + /// Override the DecelerationRate property in _GvrPointerScrollInput_ for this object. + /// + /// The deceleration rate is the speed reduction per second. + /// A value of 0.5 halves the speed each second. + /// The deceleration rate is only used when inertia is enabled. + float DecelerationRateOverride { get; } +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/IGvrScrollSettings.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/IGvrScrollSettings.cs.meta new file mode 100644 index 0000000..e0271c6 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/IGvrScrollSettings.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e4a605c315b944e7f84ed1dbe9ff6921 +timeCreated: 1496856692 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/InputModule.meta b/Assets/GoogleVR/Scripts/EventSystem/InputModule.meta new file mode 100644 index 0000000..9291c91 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/InputModule.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fd315516f5723a340ad63cc669faf852 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrAllEventsTrigger.cs b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrAllEventsTrigger.cs new file mode 100644 index 0000000..82c557a --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrAllEventsTrigger.cs @@ -0,0 +1,115 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.EventSystems; + +/// Exposes events from _GvrEventExecutor_ that are fired by _GvrPointerInputModule_ to the editor. +/// Makes it possible to handle EventSystem events globally. +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrAllEventsTrigger")] +public class GvrAllEventsTrigger : MonoBehaviour { + + [Serializable] + public class TriggerEvent : UnityEvent + {} + + public TriggerEvent OnPointerClick; + public TriggerEvent OnPointerDown; + public TriggerEvent OnPointerUp; + public TriggerEvent OnPointerEnter; + public TriggerEvent OnPointerExit; + public TriggerEvent OnScroll; + + private bool listenersAdded; + + void OnEnable() { + AddListeners(); + } + + void OnDisable() { + RemoveListeners(); + } + + void Start() { + // The eventExecutor may not be available during OnEnable when the script is first created. + AddListeners(); + } + + private void AddListeners() { + GvrEventExecutor eventExecutor = GvrPointerInputModule.FindEventExecutor(); + if (eventExecutor == null) { + return; + } + + if (listenersAdded) { + return; + } + + eventExecutor.OnPointerClick += OnPointerClickHandler; + eventExecutor.OnPointerDown += OnPointerDownHandler; + eventExecutor.OnPointerUp += OnPointerUpHandler; + eventExecutor.OnPointerEnter += OnPointerEnterHandler; + eventExecutor.OnPointerExit += OnPointerExitHandler; + eventExecutor.OnScroll += OnScrollHandler; + + listenersAdded = true; + } + + private void RemoveListeners() { + GvrEventExecutor eventExecutor = GvrPointerInputModule.FindEventExecutor(); + if (eventExecutor == null) { + return; + } + + if (!listenersAdded) { + return; + } + + eventExecutor.OnPointerClick -= OnPointerClickHandler; + eventExecutor.OnPointerDown -= OnPointerDownHandler; + eventExecutor.OnPointerUp -= OnPointerUpHandler; + eventExecutor.OnPointerEnter -= OnPointerEnterHandler; + eventExecutor.OnPointerExit -= OnPointerExitHandler; + eventExecutor.OnScroll -= OnScrollHandler; + + listenersAdded = false; + } + + private void OnPointerClickHandler(GameObject target, PointerEventData eventData) { + OnPointerClick.Invoke(target, eventData); + } + + private void OnPointerDownHandler(GameObject target, PointerEventData eventData) { + OnPointerDown.Invoke(target, eventData); + } + + private void OnPointerUpHandler(GameObject target, PointerEventData eventData) { + OnPointerUp.Invoke(target, eventData); + } + + private void OnPointerEnterHandler(GameObject target, PointerEventData eventData) { + OnPointerEnter.Invoke(target, eventData); + } + + private void OnPointerExitHandler(GameObject target, PointerEventData eventData) { + OnPointerExit.Invoke(target, eventData); + } + + private void OnScrollHandler(GameObject target, PointerEventData eventData) { + OnScroll.Invoke(target, eventData); + } +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrAllEventsTrigger.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrAllEventsTrigger.cs.meta new file mode 100644 index 0000000..948d0c1 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrAllEventsTrigger.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ca0157c63fb794df89c6735fc602eca2 +timeCreated: 1493228030 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrEventExecutor.cs b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrEventExecutor.cs new file mode 100644 index 0000000..3b85b38 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrEventExecutor.cs @@ -0,0 +1,159 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.EventSystems; + +/// Wraps UnityEngine.EventSystems.ExecuteEvents. +/// Also, exposes event delegates to allow global handling of events. +public class GvrEventExecutor : IGvrEventExecutor { + public delegate void EventDelegate(GameObject target, PointerEventData eventData); + + /// Fired when a Click occurs on any object. + public event EventDelegate OnPointerClick { + add { + AddEventDelegate(value); + } + remove { + RemoveEventDelegate(value); + } + } + + // Fired when a Down event occurs on any object. + public event EventDelegate OnPointerDown { + add { + AddEventDelegate(value); + } + remove { + RemoveEventDelegate(value); + } + } + + // Fired when an Up event occurs on any object. + public event EventDelegate OnPointerUp { + add { + AddEventDelegate(value); + } + remove { + RemoveEventDelegate(value); + } + } + + // Fired when an Enter event occurs on any object. + public event EventDelegate OnPointerEnter { + add { + AddEventDelegate(value); + } + remove { + RemoveEventDelegate(value); + } + } + + // Fired when an Exit event occurs on any object. + public event EventDelegate OnPointerExit { + add { + AddEventDelegate(value); + } + remove { + RemoveEventDelegate(value); + } + } + + // Fired when a Scroll event occurs on any object. + public event EventDelegate OnScroll { + add { + AddEventDelegate(value); + } + remove { + RemoveEventDelegate(value); + } + } + + /// Stores delegates for events. + private Dictionary eventTable; + + public GvrEventExecutor() { + eventTable = new Dictionary(); + } + + public bool Execute(GameObject target, + BaseEventData eventData, + ExecuteEvents.EventFunction functor) + where T : IEventSystemHandler { + bool result = ExecuteEvents.Execute(target, eventData, functor); + CallEventDelegate(target, eventData); + + return result; + } + + public GameObject ExecuteHierarchy(GameObject root, + BaseEventData eventData, + ExecuteEvents.EventFunction callbackFunction) + where T : IEventSystemHandler { + GameObject result = ExecuteEvents.ExecuteHierarchy(root, eventData, callbackFunction); + CallEventDelegate(root, eventData); + + return result; + } + + public GameObject GetEventHandler(GameObject root) + where T : IEventSystemHandler { + return ExecuteEvents.GetEventHandler(root); + } + + private void CallEventDelegate(GameObject target, BaseEventData eventData) + where T : IEventSystemHandler { + Type type = typeof(T); + + EventDelegate eventDelegate; + if (eventTable.TryGetValue(type, out eventDelegate)) { + PointerEventData pointerEventData = eventData as PointerEventData; + if (pointerEventData == null) { + Debug.LogError("Event data must be PointerEventData."); + return; + } + + eventDelegate(target, pointerEventData); + } + } + + private void AddEventDelegate(EventDelegate eventDelegate) { + Type type = typeof(T); + + EventDelegate existingDelegate; + if (eventTable.TryGetValue(type, out existingDelegate)) { + eventTable[type] = existingDelegate + eventDelegate; + } else { + eventTable[type] = eventDelegate; + } + } + + private void RemoveEventDelegate(EventDelegate eventDelegate) { + Type type = typeof(T); + + EventDelegate existingDelegate; + if (!eventTable.TryGetValue(type, out existingDelegate)) { + return; + } + + eventDelegate = existingDelegate - eventDelegate; + if (eventDelegate != null) { + eventTable[type] = eventDelegate; + } else { + eventTable.Remove(type); + } + } +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrEventExecutor.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrEventExecutor.cs.meta new file mode 100644 index 0000000..7ede10e --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrEventExecutor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8a93ebe04d36b49c388adce4ac442226 +timeCreated: 1493142648 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModule.cs b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModule.cs new file mode 100644 index 0000000..7cd0046 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModule.cs @@ -0,0 +1,219 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the MIT License, you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// +// http://www.opensource.org/licenses/mit-license.php +// +// Unless required by applicable law or agreed to in writing, software +// 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.Collections.Generic; +using UnityEngine; +using UnityEngine.EventSystems; + +/// This script provides an implemention of Unity's `BaseInputModule` class, so +/// that Canvas-based (_uGUI_) UI elements and 3D scene objects can be +/// interacted with in a Gvr Application. +/// +/// This script is intended for use with either a +/// 3D Pointer with the Daydream Controller (Recommended for Daydream), +/// or a Gaze-based-Pointer (Recommended for Cardboard). +/// +/// To use, attach to the scene's **EventSystem** object. Be sure to move it above the +/// other modules, such as _TouchInputModule_ and _StandaloneInputModule_, in order +/// for the Pointer to take priority in the event system. +/// +/// If you are using a **Canvas**, set the _Render Mode_ to **World Space**, +/// and add the _GvrPointerGraphicRaycaster_ script to the object. +/// +/// If you'd like pointers to work with 3D scene objects, add a _GvrPointerPhysicsRaycaster_ to the main camera, +/// and add a component that implements one of the _Event_ interfaces (_EventTrigger_ will work nicely) to +/// an object with a collider. +/// +/// GvrPointerInputModule emits the following events: _Enter_, _Exit_, _Down_, _Up_, _Click_, _Select_, +/// _Deselect_, _UpdateSelected_, and _GvrPointerHover_. Scroll, move, and submit/cancel events are not emitted. +/// +/// To use a 3D Pointer with the Daydream Controller: +/// - Add the prefab GoogleVR/Prefabs/UI/GvrControllerPointer to your scene. +/// - Set the parent of GvrControllerPointer to the same parent as the main camera +/// (With a local position of 0,0,0). +/// +/// To use a Gaze-based-pointer: +/// - Add the prefab GoogleVR/Prefabs/UI/GvrReticlePointer to your scene. +/// - Set the parent of GvrReticlePointer to the main camera. +/// +[AddComponentMenu("GoogleVR/GvrPointerInputModule")] +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrPointerInputModule")] +public class GvrPointerInputModule : BaseInputModule, IGvrInputModuleController { + /// Determines whether Pointer input is active in VR Mode only (`true`), or all of the + /// time (`false`). Set to false if you plan to use direct screen taps or other + /// input when not in VR Mode. + [Tooltip("Whether Pointer input is active in VR Mode only (true), or all the time (false).")] + public bool vrModeOnly = false; + + [Tooltip("Manages scroll events for the input module.")] + public GvrPointerScrollInput scrollInput = new GvrPointerScrollInput(); + + public GvrPointerInputModuleImpl Impl { get; private set; } + + public GvrEventExecutor EventExecutor { get; private set; } + + public new EventSystem eventSystem { + get { + return base.eventSystem; + } + } + + public List RaycastResultCache { + get { + return m_RaycastResultCache; + } + } + + public static GvrBasePointer Pointer { + get { + GvrPointerInputModule module = FindInputModule(); + if (module == null || module.Impl == null) { + return null; + } + + return module.Impl.Pointer; + } + set { + GvrPointerInputModule module = FindInputModule(); + if (module == null || module.Impl == null) { + return; + } + + module.Impl.Pointer = value; + } + } + + /// GvrBasePointer calls this when it is created. + /// If a pointer hasn't already been assigned, it + /// will assign the newly created one by default. + /// + /// This simplifies the common case of having only one + /// GvrBasePointer so is can be automatically hooked up + /// to the manager. If multiple GvrBasePointers are in + /// the scene, the app has to take responsibility for + /// setting which one is active. + public static void OnPointerCreated(GvrBasePointer createdPointer) { + GvrPointerInputModule module = FindInputModule(); + if (module == null || module.Impl == null) { + return; + } + + if (module.Impl.Pointer == null) { + module.Impl.Pointer = createdPointer; + } + } + + /// Helper function to find the Event Executor that is part of + /// the input module if one exists in the scene. + public static GvrEventExecutor FindEventExecutor() { + GvrPointerInputModule gvrInputModule = FindInputModule(); + if (gvrInputModule == null) { + return null; + } + + return gvrInputModule.EventExecutor; + } + + /// Helper function to find the input module if one exists in the + /// scene and it is the active module. + public static GvrPointerInputModule FindInputModule() { + if (EventSystem.current == null) { + return null; + } + + EventSystem eventSystem = EventSystem.current; + if (eventSystem == null) { + return null; + } + + GvrPointerInputModule gvrInputModule = + eventSystem.GetComponent(); + + return gvrInputModule; + } + + /// Convenience function to access what the current RaycastResult. + public static RaycastResult CurrentRaycastResult { + get { + GvrPointerInputModule inputModule = GvrPointerInputModule.FindInputModule(); + if (inputModule == null) { + return new RaycastResult(); + } + + if (inputModule.Impl == null) { + return new RaycastResult(); + } + + if (inputModule.Impl.CurrentEventData == null) { + return new RaycastResult(); + } + + return inputModule.Impl.CurrentEventData.pointerCurrentRaycast; + } + } + + public override bool ShouldActivateModule() { + return Impl.ShouldActivateModule(); + } + + public override void DeactivateModule() { + Impl.DeactivateModule(); + } + + public override bool IsPointerOverGameObject(int pointerId) { + return Impl.IsPointerOverGameObject(pointerId); + } + + public override void Process() { + UpdateImplProperties(); + Impl.Process(); + } + + protected override void Awake() { + base.Awake(); + Impl = new GvrPointerInputModuleImpl(); + EventExecutor = new GvrEventExecutor(); + UpdateImplProperties(); + } + + public bool ShouldActivate() { + return base.ShouldActivateModule(); + } + + public void Deactivate() { + base.DeactivateModule(); + } + + public new GameObject FindCommonRoot(GameObject g1, GameObject g2) { + return BaseInputModule.FindCommonRoot(g1, g2); + } + + public new BaseEventData GetBaseEventData() { + return base.GetBaseEventData(); + } + + public new RaycastResult FindFirstRaycast(List candidates) { + return BaseInputModule.FindFirstRaycast(candidates); + } + + private void UpdateImplProperties() { + if (Impl == null) { + return; + } + + Impl.ScrollInput = scrollInput; + Impl.VrModeOnly = vrModeOnly; + Impl.ModuleController = this; + Impl.EventExecutor = EventExecutor; + } +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModule.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModule.cs.meta new file mode 100644 index 0000000..2165738 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModule.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fcd4baceb58cc40c98e500572bede6a6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModuleImpl.cs b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModuleImpl.cs new file mode 100644 index 0000000..999695f --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModuleImpl.cs @@ -0,0 +1,458 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the MIT License, you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// +// http://www.opensource.org/licenses/mit-license.php +// +// Unless required by applicable law or agreed to in writing, software +// 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 UnityEngine; +using UnityEngine.EventSystems; + +#if UNITY_2017_2_OR_NEWER +using UnityEngine.XR; +#else +using XRSettings = UnityEngine.VR.VRSettings; +#endif // UNITY_2017_2_OR_NEWER + +/// Implementation of _GvrPointerInputModule_ +public class GvrPointerInputModuleImpl { + /// Interface for controlling the actual InputModule. + public IGvrInputModuleController ModuleController { get; set; } + + /// Interface for executing events. + public IGvrEventExecutor EventExecutor { get; set; } + + /// Determines whether pointer input is active in VR Mode only (`true`), or all of the + /// time (`false`). Set to false if you plan to use direct screen taps or other + /// input when not in VR Mode. + public bool VrModeOnly { get; set; } + + /// The GvrPointerScrollInput used to route Scroll Events through _EventSystem_ + public GvrPointerScrollInput ScrollInput { get; set; } + + /// PointerEventData from the most recent frame. + public PointerEventData CurrentEventData { get; private set; } + + /// The GvrBasePointer which will be responding to pointer events. + public GvrBasePointer Pointer { + get { + return pointer; + } + set { + if (pointer == value) { + return; + } + + TryExitPointer(); + + pointer = value; + } + } + + private GvrBasePointer pointer; + private Vector2 lastPose; + private bool isPointerHovering = false; + + // Active state + private bool isActive = false; + + public bool ShouldActivateModule() { + bool isVrModeEnabled = !VrModeOnly; + isVrModeEnabled |= XRSettings.enabled; + + bool activeState = ModuleController.ShouldActivate() && isVrModeEnabled; + + if (activeState != isActive) { + isActive = activeState; + } + + return activeState; + } + + public void DeactivateModule() { + TryExitPointer(); + ModuleController.Deactivate(); + if (CurrentEventData != null) { + HandlePendingClick(); + HandlePointerExitAndEnter(CurrentEventData, null); + CurrentEventData = null; + } + ModuleController.eventSystem.SetSelectedGameObject(null, ModuleController.GetBaseEventData()); + } + + public bool IsPointerOverGameObject(int pointerId) { + return CurrentEventData != null && CurrentEventData.pointerEnter != null; + } + + public void Process() { + // If the pointer is inactive, make sure it is exited if necessary. + if (!IsPointerActiveAndAvailable()) { + TryExitPointer(); + } + + // Save the previous Game Object + GameObject previousObject = GetCurrentGameObject(); + + CastRay(); + UpdateCurrentObject(previousObject); + UpdatePointer(previousObject); + + // True during the frame that the trigger has been pressed. + bool triggerDown = false; + // True if the trigger is held down. + bool triggering = false; + + if (IsPointerActiveAndAvailable()) { + triggerDown = Pointer.TriggerDown; + triggering = Pointer.Triggering; + } + + bool handlePendingClickRequired = !triggering; + + // Handle input + if (!triggerDown && triggering) { + HandleDrag(); + } else if (triggerDown && !CurrentEventData.eligibleForClick) { + // New trigger action. + HandleTriggerDown(); + } else if (handlePendingClickRequired) { + // Check if there is a pending click to handle. + HandlePendingClick(); + } + + ScrollInput.HandleScroll(GetCurrentGameObject(), CurrentEventData, Pointer, EventExecutor); + } + + private void CastRay() { + Vector2 currentPose = lastPose; + if (IsPointerActiveAndAvailable()) { + currentPose = GvrMathHelpers.NormalizedCartesianToSpherical(Pointer.PointerTransform.forward); + } + + if (CurrentEventData == null) { + CurrentEventData = new PointerEventData(ModuleController.eventSystem); + lastPose = currentPose; + } + + // Store the previous raycast result. + RaycastResult previousRaycastResult = CurrentEventData.pointerCurrentRaycast; + + // The initial cast must use the enter radius. + if (IsPointerActiveAndAvailable()) { + Pointer.ShouldUseExitRadiusForRaycast = false; + } + + // Cast a ray into the scene + CurrentEventData.Reset(); + // Set the position to the center of the camera. + // This is only necessary if using the built-in Unity raycasters. + RaycastResult raycastResult; + CurrentEventData.position = GvrVRHelpers.GetViewportCenter(); + bool isPointerActiveAndAvailable = IsPointerActiveAndAvailable(); + if (isPointerActiveAndAvailable) { + RaycastAll(); + raycastResult = ModuleController.FindFirstRaycast(ModuleController.RaycastResultCache); + if (Pointer.ControllerInputDevice == null || Pointer.ControllerInputDevice.IsDominantHand) { + CurrentEventData.pointerId = (int)GvrControllerHand.Dominant; + } else { + CurrentEventData.pointerId = (int)GvrControllerHand.NonDominant; + } + } else { + raycastResult = new RaycastResult(); + raycastResult.Clear(); + } + + // If we were already pointing at an object we must check that object against the exit radius + // to make sure we are no longer pointing at it to prevent flicker. + if (previousRaycastResult.gameObject != null + && raycastResult.gameObject != previousRaycastResult.gameObject + && isPointerActiveAndAvailable) { + Pointer.ShouldUseExitRadiusForRaycast = true; + RaycastAll(); + RaycastResult firstResult = ModuleController.FindFirstRaycast(ModuleController.RaycastResultCache); + if (firstResult.gameObject == previousRaycastResult.gameObject) { + raycastResult = firstResult; + } + } + + if (raycastResult.gameObject != null && raycastResult.worldPosition == Vector3.zero) { + raycastResult.worldPosition = + GvrMathHelpers.GetIntersectionPosition(CurrentEventData.enterEventCamera, raycastResult); + } + + CurrentEventData.pointerCurrentRaycast = raycastResult; + + // Find the real screen position associated with the raycast + // Based on the results of the hit and the state of the pointerData. + if (raycastResult.gameObject != null) { + CurrentEventData.position = raycastResult.screenPosition; + } else if (IsPointerActiveAndAvailable() && CurrentEventData.enterEventCamera != null) { + Vector3 pointerPos = Pointer.MaxPointerEndPoint; + CurrentEventData.position = CurrentEventData.enterEventCamera.WorldToScreenPoint(pointerPos); + } + + ModuleController.RaycastResultCache.Clear(); + CurrentEventData.delta = currentPose - lastPose; + lastPose = currentPose; + + // Check to make sure the Raycaster being used is a GvrRaycaster. + if (raycastResult.module != null + && !(raycastResult.module is GvrPointerGraphicRaycaster) + && !(raycastResult.module is GvrPointerPhysicsRaycaster)) { + Debug.LogWarning("Using Raycaster (Raycaster: " + raycastResult.module.GetType() + + ", Object: " + raycastResult.module.name + "). It is recommended to use " + + "GvrPointerPhysicsRaycaster or GvrPointerGrahpicRaycaster with GvrPointerInputModule."); + } + } + + private void UpdateCurrentObject(GameObject previousObject) { + if (CurrentEventData == null) { + return; + } + // Send enter events and update the highlight. + GameObject currentObject = GetCurrentGameObject(); // Get the pointer target + HandlePointerExitAndEnter(CurrentEventData, currentObject); + + // Update the current selection, or clear if it is no longer the current object. + var selected = EventExecutor.GetEventHandler(currentObject); + if (selected == ModuleController.eventSystem.currentSelectedGameObject) { + EventExecutor.Execute(ModuleController.eventSystem.currentSelectedGameObject, ModuleController.GetBaseEventData(), + ExecuteEvents.updateSelectedHandler); + } else { + ModuleController.eventSystem.SetSelectedGameObject(null, CurrentEventData); + } + + // Execute hover event. + if (currentObject != null && currentObject == previousObject) { + EventExecutor.ExecuteHierarchy(currentObject, CurrentEventData, GvrExecuteEventsExtension.pointerHoverHandler); + } + } + + private void UpdatePointer(GameObject previousObject) { + if (CurrentEventData == null) { + return; + } + + GameObject currentObject = GetCurrentGameObject(); // Get the pointer target + bool isPointerActiveAndAvailable = IsPointerActiveAndAvailable(); + + bool isInteractive = CurrentEventData.pointerPress != null || + EventExecutor.GetEventHandler(currentObject) != null || + EventExecutor.GetEventHandler(currentObject) != null; + + if (isPointerHovering && currentObject != null && currentObject == previousObject) { + if (isPointerActiveAndAvailable) { + Pointer.OnPointerHover(CurrentEventData.pointerCurrentRaycast, isInteractive); + } + } else { + // If the object's don't match or the hovering object has been destroyed + // then the pointer has exited. + if (previousObject != null || (currentObject == null && isPointerHovering)) { + if (isPointerActiveAndAvailable) { + Pointer.OnPointerExit(previousObject); + } + isPointerHovering = false; + } + + if (currentObject != null) { + if (isPointerActiveAndAvailable) { + Pointer.OnPointerEnter(CurrentEventData.pointerCurrentRaycast, isInteractive); + } + isPointerHovering = true; + } + } + } + + private static bool ShouldStartDrag(Vector2 pressPos, Vector2 currentPos, float threshold, bool useDragThreshold) { + if (!useDragThreshold) + return true; + + return (pressPos - currentPos).sqrMagnitude >= threshold * threshold; + } + + private void HandleDrag() { + bool moving = CurrentEventData.IsPointerMoving(); + bool shouldStartDrag = ShouldStartDrag(CurrentEventData.pressPosition, + CurrentEventData.position, + ModuleController.eventSystem.pixelDragThreshold, + CurrentEventData.useDragThreshold); + + if (moving && shouldStartDrag && CurrentEventData.pointerDrag != null && !CurrentEventData.dragging) { + EventExecutor.Execute(CurrentEventData.pointerDrag, CurrentEventData, + ExecuteEvents.beginDragHandler); + CurrentEventData.dragging = true; + } + + // Drag notification + if (CurrentEventData.dragging && moving && CurrentEventData.pointerDrag != null) { + // Before doing drag we should cancel any pointer down state + // And clear selection! + if (CurrentEventData.pointerPress != CurrentEventData.pointerDrag) { + EventExecutor.Execute(CurrentEventData.pointerPress, CurrentEventData, ExecuteEvents.pointerUpHandler); + + CurrentEventData.eligibleForClick = false; + CurrentEventData.pointerPress = null; + CurrentEventData.rawPointerPress = null; + } + + EventExecutor.Execute(CurrentEventData.pointerDrag, CurrentEventData, ExecuteEvents.dragHandler); + } + } + + private void HandlePendingClick() { + if (CurrentEventData == null || (!CurrentEventData.eligibleForClick && !CurrentEventData.dragging)) { + return; + } + + if (IsPointerActiveAndAvailable()) { + Pointer.OnPointerClickUp(); + } + + var go = CurrentEventData.pointerCurrentRaycast.gameObject; + + // Send pointer up and click events. + EventExecutor.Execute(CurrentEventData.pointerPress, CurrentEventData, ExecuteEvents.pointerUpHandler); + + GameObject pointerClickHandler = EventExecutor.GetEventHandler(go); + if (CurrentEventData.pointerPress == pointerClickHandler && CurrentEventData.eligibleForClick) { + EventExecutor.Execute(CurrentEventData.pointerPress, CurrentEventData, ExecuteEvents.pointerClickHandler); + } + + if (CurrentEventData != null && CurrentEventData.pointerDrag != null && CurrentEventData.dragging) { + EventExecutor.ExecuteHierarchy(go, CurrentEventData, ExecuteEvents.dropHandler); + EventExecutor.Execute(CurrentEventData.pointerDrag, CurrentEventData, ExecuteEvents.endDragHandler); + } + + if (CurrentEventData != null) { + // Clear the click state. + CurrentEventData.pointerPress = null; + CurrentEventData.rawPointerPress = null; + CurrentEventData.eligibleForClick = false; + CurrentEventData.clickCount = 0; + CurrentEventData.clickTime = 0; + CurrentEventData.pointerDrag = null; + CurrentEventData.dragging = false; + } + } + + private void HandleTriggerDown() { + var go = CurrentEventData.pointerCurrentRaycast.gameObject; + + // Send pointer down event. + CurrentEventData.pressPosition = CurrentEventData.position; + CurrentEventData.pointerPressRaycast = CurrentEventData.pointerCurrentRaycast; + CurrentEventData.pointerPress = + EventExecutor.ExecuteHierarchy(go, CurrentEventData, ExecuteEvents.pointerDownHandler) ?? + EventExecutor.GetEventHandler(go); + + // Save the pending click state. + CurrentEventData.rawPointerPress = go; + CurrentEventData.eligibleForClick = true; + CurrentEventData.delta = Vector2.zero; + CurrentEventData.dragging = false; + CurrentEventData.useDragThreshold = true; + CurrentEventData.clickCount = 1; + CurrentEventData.clickTime = Time.unscaledTime; + + // Save the drag handler as well + CurrentEventData.pointerDrag = EventExecutor.GetEventHandler(go); + if (CurrentEventData.pointerDrag != null) { + EventExecutor.Execute(CurrentEventData.pointerDrag, CurrentEventData, ExecuteEvents.initializePotentialDrag); + } + + if (IsPointerActiveAndAvailable()) { + Pointer.OnPointerClickDown(); + } + } + + private GameObject GetCurrentGameObject() { + if (CurrentEventData != null) { + return CurrentEventData.pointerCurrentRaycast.gameObject; + } + + return null; + } + + // Modified version of BaseInputModule.HandlePointerExitAndEnter that calls EventExecutor instead of + // UnityEngine.EventSystems.ExecuteEvents. + private void HandlePointerExitAndEnter(PointerEventData currentPointerData, GameObject newEnterTarget) { + // If we have no target or pointerEnter has been deleted then + // just send exit events to anything we are tracking. + // Afterwards, exit. + if (newEnterTarget == null || currentPointerData.pointerEnter == null) { + for (var i = 0; i < currentPointerData.hovered.Count; ++i) { + EventExecutor.Execute(currentPointerData.hovered[i], currentPointerData, ExecuteEvents.pointerExitHandler); + } + + currentPointerData.hovered.Clear(); + + if (newEnterTarget == null) { + currentPointerData.pointerEnter = newEnterTarget; + return; + } + } + + // If we have not changed hover target. + if (newEnterTarget && currentPointerData.pointerEnter == newEnterTarget) { + return; + } + + GameObject commonRoot = ModuleController.FindCommonRoot(currentPointerData.pointerEnter, newEnterTarget); + + // We already an entered object from last time. + if (currentPointerData.pointerEnter != null) { + // Send exit handler call to all elements in the chain + // until we reach the new target, or null! + Transform t = currentPointerData.pointerEnter.transform; + + while (t != null) { + // If we reach the common root break out! + if (commonRoot != null && commonRoot.transform == t) + break; + + EventExecutor.Execute(t.gameObject, currentPointerData, ExecuteEvents.pointerExitHandler); + currentPointerData.hovered.Remove(t.gameObject); + t = t.parent; + } + } + + // Now issue the enter call up to but not including the common root. + currentPointerData.pointerEnter = newEnterTarget; + if (newEnterTarget != null) { + Transform t = newEnterTarget.transform; + + while (t != null && t.gameObject != commonRoot) { + EventExecutor.Execute(t.gameObject, currentPointerData, ExecuteEvents.pointerEnterHandler); + currentPointerData.hovered.Add(t.gameObject); + t = t.parent; + } + } + } + + private void TryExitPointer() { + if (Pointer == null) { + return; + } + + GameObject currentGameObject = GetCurrentGameObject(); + if (currentGameObject) { + Pointer.OnPointerExit(currentGameObject); + } + } + + private bool IsPointerActiveAndAvailable() { + return pointer != null && pointer.IsAvailable; + } + + private void RaycastAll() { + ModuleController.RaycastResultCache.Clear(); + ModuleController.eventSystem.RaycastAll(CurrentEventData, ModuleController.RaycastResultCache); + } +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModuleImpl.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModuleImpl.cs.meta new file mode 100644 index 0000000..653b6e7 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/InputModule/GvrPointerInputModuleImpl.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d2e5fe232b3b94de2a12eb364ebc371e +timeCreated: 1492661146 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/InputModule/IGvrEventExecutor.cs b/Assets/GoogleVR/Scripts/EventSystem/InputModule/IGvrEventExecutor.cs new file mode 100644 index 0000000..882f9d5 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/InputModule/IGvrEventExecutor.cs @@ -0,0 +1,32 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.EventSystems; + +/// Provides an interface for executing events for _IEventSystemHandler_. +public interface IGvrEventExecutor { + bool Execute(GameObject target, + BaseEventData eventData, + ExecuteEvents.EventFunction functor) + where T : IEventSystemHandler; + + GameObject ExecuteHierarchy(GameObject root, + BaseEventData eventData, + ExecuteEvents.EventFunction callbackFunction) + where T : IEventSystemHandler; + + GameObject GetEventHandler(GameObject root) + where T : IEventSystemHandler; +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/InputModule/IGvrEventExecutor.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/InputModule/IGvrEventExecutor.cs.meta new file mode 100644 index 0000000..1728a5c --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/InputModule/IGvrEventExecutor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 171f0a30d9ead4516a8fa319cfebe270 +timeCreated: 1493142648 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/EventSystem/InputModule/IGvrInputModuleController.cs b/Assets/GoogleVR/Scripts/EventSystem/InputModule/IGvrInputModuleController.cs new file mode 100644 index 0000000..9cb89e2 --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/InputModule/IGvrInputModuleController.cs @@ -0,0 +1,30 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.EventSystems; + +/// Interface for manipulating an InputModule used by _GvrPointerInputModuleImpl_ +public interface IGvrInputModuleController { + EventSystem eventSystem { get; } + List RaycastResultCache { get; } + + bool ShouldActivate(); + void Deactivate(); + GameObject FindCommonRoot(GameObject g1, GameObject g2); + BaseEventData GetBaseEventData(); + RaycastResult FindFirstRaycast(List candidates); +} diff --git a/Assets/GoogleVR/Scripts/EventSystem/InputModule/IGvrInputModuleController.cs.meta b/Assets/GoogleVR/Scripts/EventSystem/InputModule/IGvrInputModuleController.cs.meta new file mode 100644 index 0000000..ee519dc --- /dev/null +++ b/Assets/GoogleVR/Scripts/EventSystem/InputModule/IGvrInputModuleController.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 118ed627eb676472d803284d1a988bbd +timeCreated: 1492665020 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/GvrCardboardHelpers.cs b/Assets/GoogleVR/Scripts/GvrCardboardHelpers.cs new file mode 100644 index 0000000..1a14a9b --- /dev/null +++ b/Assets/GoogleVR/Scripts/GvrCardboardHelpers.cs @@ -0,0 +1,64 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +using System; +using System.Runtime.InteropServices; + +// General Cardboard helper methods. +public class GvrCardboardHelpers { + /// Manual recenter for Cardboard apps. After recentering the camera's orientation will be given + /// in the new recentered coordinate system. + /// Do not use for Daydream apps as controller based recentering is handled automatically by + /// Google VR Services, see `GvrControllerInput.Rencentered` for details. + public static void Recenter() { +#if UNITY_EDITOR + if (GvrEditorEmulator.Instance != null) { + GvrEditorEmulator.Instance.Recenter(); + } +#elif (UNITY_ANDROID || UNITY_IOS) + IntPtr gvrContextPtr = GvrSettings.GetValidGvrNativePtrOrLogError(); + if (gvrContextPtr == IntPtr.Zero) { + return; + } + gvr_reset_tracking(gvrContextPtr); +#endif // (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR + Debug.Log("Use GvrEditorEmulator for in-editor recentering"); + } + + /// Set the Cardboard viewer params. + /// Example URI for 2015 Cardboard Viewer V2: + /// http://google.com/cardboard/cfg?p=CgZHb29nbGUSEkNhcmRib2FyZCBJL08gMjAxNR0rGBU9JQHegj0qEAAASEIAAEhCAABIQgAASEJYADUpXA89OggeZnc-Ej6aPlAAYAM + public static void SetViewerProfile(String viewerProfileUri) { +#if (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR + IntPtr gvrContextPtr = GvrSettings.GetValidGvrNativePtrOrLogError(); + if (gvrContextPtr == IntPtr.Zero) { + return; + } + gvr_set_default_viewer_profile(gvrContextPtr, viewerProfileUri); +#endif // (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR + Debug.Log("Unavailable for non-Android and non-iOS builds"); + } + +#if (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR + [DllImport(GvrActivityHelper.GVR_DLL_NAME)] + private static extern void gvr_reset_tracking(IntPtr gvr_context); + + [DllImport(GvrActivityHelper.GVR_DLL_NAME)] + private static extern void gvr_set_default_viewer_profile(IntPtr gvr_context, + [MarshalAs(UnmanagedType.LPStr)] string viewer_profile_uri); +#endif // (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR + +} diff --git a/Assets/GoogleVR/Scripts/GvrCardboardHelpers.cs.meta b/Assets/GoogleVR/Scripts/GvrCardboardHelpers.cs.meta new file mode 100644 index 0000000..f3fcbfe --- /dev/null +++ b/Assets/GoogleVR/Scripts/GvrCardboardHelpers.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cb5f458261eac491b9379eb30aec0947 +timeCreated: 1494387741 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/GvrEditorEmulator.cs b/Assets/GoogleVR/Scripts/GvrEditorEmulator.cs new file mode 100644 index 0000000..1a187f7 --- /dev/null +++ b/Assets/GoogleVR/Scripts/GvrEditorEmulator.cs @@ -0,0 +1,170 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System; +using System.Collections.Generic; + +using Gvr.Internal; + +/// Provides mouse-controlled head tracking emulation in the Unity editor. +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrEditorEmulator")] +public class GvrEditorEmulator : MonoBehaviour { + // GvrEditorEmulator should only be compiled in the Editor. + // + // Otherwise, it will override the camera pose every frame on device which causes the + // following behaviour: + // + // The rendered camera pose will still be correct because the VR.InputTracking pose + // gets applied after LateUpdate has occured. However, any functionality that + // queries the camera pose during Update or LateUpdate after GvrEditorEmulator has been + // updated will get the wrong value applied by GvrEditorEmulator intsead. +#if UNITY_EDITOR + private static GvrEditorEmulator instance; + private static bool instance_searched_for = false; + public static GvrEditorEmulator Instance { + get { + if (instance == null && !instance_searched_for) { + instance = FindObjectOfType(); + instance_searched_for = true; + } + return instance; + } + } + // Allocate an initial capacity; this will be resized if needed. + private static Camera[] AllCameras = new Camera[32]; + private const string AXIS_MOUSE_X = "Mouse X"; + private const string AXIS_MOUSE_Y = "Mouse Y"; + + // Simulated neck model. Vector from the neck pivot point to the point between the eyes. + private static readonly Vector3 NECK_OFFSET = new Vector3(0, 0.075f, 0.08f); + + // Use mouse to emulate head in the editor. + // These variables must be static so that head pose is maintained between scene changes, + // as it is on device. + private float mouseX = 0; + private float mouseY = 0; + private float mouseZ = 0; + + public Vector3 HeadPosition { get; private set; } + public Quaternion HeadRotation { get; private set; } + + public void Recenter() { + mouseX = mouseZ = 0; // Do not reset pitch, which is how it works on the phone. + UpdateHeadPositionAndRotation(); + ApplyHeadOrientationToVRCameras(); + } + + public void UpdateEditorEmulation() { + if (GvrControllerInput.Recentered) { + Recenter(); + } + bool rolled = false; + if (CanChangeYawPitch()) { + GvrCursorHelper.HeadEmulationActive = true; + mouseX += Input.GetAxis(AXIS_MOUSE_X) * 5; + if (mouseX <= -180) { + mouseX += 360; + } else if (mouseX > 180) { + mouseX -= 360; + } + mouseY -= Input.GetAxis(AXIS_MOUSE_Y) * 2.4f; + mouseY = Mathf.Clamp(mouseY, -85, 85); + } else if (CanChangeRoll()) { + GvrCursorHelper.HeadEmulationActive = true; + rolled = true; + mouseZ += Input.GetAxis(AXIS_MOUSE_X) * 5; + mouseZ = Mathf.Clamp(mouseZ, -85, 85); + } else { + GvrCursorHelper.HeadEmulationActive = false; + } + + if (!rolled) { + // People don't usually leave their heads tilted to one side for long. + mouseZ = Mathf.Lerp(mouseZ, 0, Time.deltaTime / (Time.deltaTime + 0.1f)); + } + + UpdateHeadPositionAndRotation(); + ApplyHeadOrientationToVRCameras(); + } + + void Awake() { + if (Instance == null) { + instance = this; + } else if (Instance != this) { + Debug.LogError("More than one active GvrEditorEmulator instance was found in your scene. " + + "Ensure that there is only one active GvrEditorEmulator."); + this.enabled = false; + return; + } + } + + void Update() { + // GvrControllerInput automatically updates GvrEditorEmulator. + // This guarantees that GvrEditorEmulator is updated before anything else responds to + // controller input, which ensures that re-centering works correctly in the editor. + // If GvrControllerInput is not available, then fallback to using Update(). + if (GvrControllerInput.ApiStatus != GvrControllerApiStatus.Error) { + return; + } + + UpdateEditorEmulation(); + } + + private bool CanChangeYawPitch() { + // If the MouseControllerProvider is currently active, then don't move the camera. + if (MouseControllerProvider.IsActivateButtonPressed) { + return false; + } + + return Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt); + } + + private bool CanChangeRoll() { + // If the MouseControllerProvider is currently active, then don't move the camera. + if (MouseControllerProvider.IsActivateButtonPressed) { + return false; + } + + return Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl); + } + + private void UpdateHeadPositionAndRotation() { + HeadRotation = Quaternion.Euler(mouseY, mouseX, mouseZ); + HeadPosition = HeadRotation * NECK_OFFSET - NECK_OFFSET.y * Vector3.up; + } + + private void ApplyHeadOrientationToVRCameras() { + // Get all Cameras in the scene using persistent data structures. + if (Camera.allCamerasCount > AllCameras.Length) { + int newAllCamerasSize = Camera.allCamerasCount; + while (Camera.allCamerasCount > newAllCamerasSize) { + newAllCamerasSize *= 2; + } + AllCameras = new Camera[newAllCamerasSize]; + } + // The GetAllCameras method doesn't allocate memory (Camera.allCameras does). + Camera.GetAllCameras(AllCameras); + // Update all VR cameras using Head position and rotation information. + for (int i=0; i < Camera.allCamerasCount; ++i) { + Camera cam = AllCameras[i]; + // Check if the Camera is a valid VR Camera, and if so update it to track head motion. + if (cam && cam.enabled && cam.stereoTargetEye != StereoTargetEyeMask.None) { + cam.transform.localPosition = HeadPosition * cam.transform.lossyScale.y; + cam.transform.localRotation = HeadRotation; + } + } + } +#endif // UNITY_EDITOR +} diff --git a/Assets/GoogleVR/Scripts/GvrEditorEmulator.cs.meta b/Assets/GoogleVR/Scripts/GvrEditorEmulator.cs.meta new file mode 100644 index 0000000..0c3c27f --- /dev/null +++ b/Assets/GoogleVR/Scripts/GvrEditorEmulator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 41679d3338266415f88d226e6bf3d0be +timeCreated: 1435273491 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/GvrSettings.cs b/Assets/GoogleVR/Scripts/GvrSettings.cs new file mode 100644 index 0000000..d1dbabc --- /dev/null +++ b/Assets/GoogleVR/Scripts/GvrSettings.cs @@ -0,0 +1,200 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + + +/// +/// Accesses and configures Daydream settings. +/// + +using UnityEngine; +using System; +using System.Runtime.InteropServices; + +#if UNITY_2017_2_OR_NEWER +using UnityEngine.XR; +#else +using XRDevice = UnityEngine.VR.VRDevice; +using XRSettings = UnityEngine.VR.VRSettings; +#endif // UNITY_2017_2_OR_NEWER + +#if UNITY_EDITOR +using UnityEditor; +#endif // UNITY_EDITOR + +public static class GvrSettings { + /// Name of 'None' VR SDK, as returned by `VRSettings.loadedDeviceName`. + public const string VR_SDK_NONE = "None"; + + /// Name of Daydream GVR SDK, as returned by `VRSettings.loadedDeviceName`. + public const string VR_SDK_DAYDREAM = "daydream"; + + /// Name of Cardboard GVR SDK, as returned by `VRSettings.loadedDeviceName` and supportedDevices. + public const string VR_SDK_CARDBOARD = "cardboard"; + + private const string METHOD_GET_WINDOW = "getWindow"; + private const string METHOD_RUN_ON_UI_THREAD = "runOnUiThread"; + private const string METHOD_SET_SUSTAINED_PERFORMANCE_MODE = "setSustainedPerformanceMode"; + + // Viewer type. + public enum ViewerPlatformType { + Error = -1, // Plugin-only value; does not exist in the NDK. + Cardboard, + Daydream + } + public static ViewerPlatformType ViewerPlatform { + // Expose a setter only for the editor emulator, for development testing purposes. +#if UNITY_EDITOR + get { + return editorEmulatorOnlyViewerPlatformType; + } + set { + editorEmulatorOnlyViewerPlatformType = value; + } +#elif !UNITY_ANDROID + // Running in non-Android player. + get { + return ViewerPlatformType.Error; + } +#else + // Running on Android. + get { + IntPtr gvrContextPtr = GetValidGvrNativePtrOrLogError(); + if (gvrContextPtr == IntPtr.Zero) { + return ViewerPlatformType.Error; + } + return (ViewerPlatformType) gvr_get_viewer_type(gvrContextPtr); + } +#endif // UNITY_EDITOR + } +#if UNITY_EDITOR + private static ViewerPlatformType editorEmulatorOnlyViewerPlatformType = + ViewerPlatformType.Daydream; +#endif // UNITY_EDITOR + + // The developer is expected to remember whether sustained performance mode is set + // at runtime, via the checkbox in Player Settings. + // This state may be recorded here in a future release. + public static bool SustainedPerformanceMode { + set { + SetSustainedPerformanceMode(value); + } + } + + // Handedness preference. + public enum UserPrefsHandedness { + Error = -1, // Plugin-only value, does not exist in the NDK. + Right, + Left + } + + public static UserPrefsHandedness Handedness { +#if UNITY_EDITOR + // Expose a setter only for the editor emulator, for development testing purposes. + get { + return (UserPrefsHandedness)EditorPrefs.GetInt(EMULATOR_HANDEDNESS_PREF_NAME, (int)UserPrefsHandedness.Right); + } + set { + EditorPrefs.SetInt(EMULATOR_HANDEDNESS_PREF_NAME, (int)value); + } +#elif !UNITY_ANDROID + // Running in non-Android player. + get { + return UserPrefsHandedness.Error; + } +#else + // Running on Android. + get { + IntPtr gvrContextPtr = GetValidGvrNativePtrOrLogError(); + if (gvrContextPtr == IntPtr.Zero) { + Debug.LogError("Unable to determine GVR user prefs' handedness"); + return UserPrefsHandedness.Error; + } + + IntPtr gvrUserPrefsPtr = gvr_get_user_prefs(gvrContextPtr); + if (gvrUserPrefsPtr == IntPtr.Zero) { + Debug.Log("Zero GVR user prefs pointer, unable to determine GVR user prefs' handedness"); + return UserPrefsHandedness.Error; + } + + return (UserPrefsHandedness) gvr_user_prefs_get_controller_handedness(gvrUserPrefsPtr); + } +#endif // UNITY_EDITOR + } +#if UNITY_EDITOR + // This allows developers to test handedness in the editor emulator. + private const string EMULATOR_HANDEDNESS_PREF_NAME = "GoogleVREditorEmulatorHandedness"; +#endif // UNITY_EDITOR + + private static void SetSustainedPerformanceMode(bool enabled) { +#if UNITY_ANDROID && !UNITY_EDITOR + AndroidJavaObject androidActivity = null; + try { + androidActivity = GvrActivityHelper.GetActivity(); + } catch (AndroidJavaException e) { + Debug.LogError("Exception while connecting to the Activity: " + e); + return; + } + + AndroidJavaObject androidWindow = androidActivity.Call(METHOD_GET_WINDOW); + if (androidWindow == null) { + Debug.LogError("No window found on the current android activity"); + return; + } + + // The sim thread in Unity is single-threaded, so we don't need to lock when accessing + // or assigning androidWindow. + androidActivity.Call(METHOD_RUN_ON_UI_THREAD, new AndroidJavaRunnable(() => { + androidWindow.Call(METHOD_SET_SUSTAINED_PERFORMANCE_MODE, enabled); + Debug.Log("Set sustained performance mode: " + (enabled ? "ON" : "OFF")); + }) + ); +#endif // UNITY_ANDROID && !UNITY_EDITOR + } + + /// Wraps call to `VRDevice.GetNativePtr()` and logs error if a supported GVR SDK is not active or + /// if the returned native pointer is `IntPtr.Zero`. + public static IntPtr GetValidGvrNativePtrOrLogError() { + if (!XRSettings.enabled) { + Debug.LogError("VR is disabled"); + return IntPtr.Zero; + } +#if UNITY_2018_3_OR_NEWER + string loadedDeviceName = GvrXREventsSubscriber.loadedDeviceName; +#else // !UNITY_2018_3_OR_NEWER; this leaks 30 bytes of memory per update. + string loadedDeviceName = XRSettings.loadedDeviceName; +#endif // UNITY_2018_3_OR_NEWER + if (loadedDeviceName != VR_SDK_DAYDREAM && loadedDeviceName != VR_SDK_CARDBOARD) { + Debug.LogErrorFormat("Loaded VR SDK '{0}' must be '{1}' or '{2}'", + loadedDeviceName, VR_SDK_DAYDREAM, VR_SDK_CARDBOARD); + return IntPtr.Zero; + } + IntPtr gvrContextPtr = XRDevice.GetNativePtr(); + if (gvrContextPtr == IntPtr.Zero) { + Debug.LogError("Unexpected zero GVR native context pointer"); + return gvrContextPtr; + } + return gvrContextPtr; + } + +#if UNITY_ANDROID && !UNITY_EDITOR + [DllImport(GvrActivityHelper.GVR_DLL_NAME)] + private static extern IntPtr gvr_get_user_prefs(IntPtr gvrContextPtr); + + [DllImport(GvrActivityHelper.GVR_DLL_NAME)] + private static extern int gvr_get_viewer_type(IntPtr gvrContextPtr); + + [DllImport(GvrActivityHelper.GVR_DLL_NAME)] + private static extern int gvr_user_prefs_get_controller_handedness(IntPtr gvrUserPrefsPtr); +#endif // UNITY_ANDROID && !UNITY_EDITOR +} diff --git a/Assets/GoogleVR/Scripts/GvrSettings.cs.meta b/Assets/GoogleVR/Scripts/GvrSettings.cs.meta new file mode 100644 index 0000000..0a9d312 --- /dev/null +++ b/Assets/GoogleVR/Scripts/GvrSettings.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c485d86d5e69340f09123a723b06bc87 +timeCreated: 1474311726 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/GvrUnitySdkVersion.cs b/Assets/GoogleVR/Scripts/GvrUnitySdkVersion.cs new file mode 100644 index 0000000..a1963d0 --- /dev/null +++ b/Assets/GoogleVR/Scripts/GvrUnitySdkVersion.cs @@ -0,0 +1,37 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +/// +/// Provides and logs versioning information for the GVR SDK for Unity. +/// +public class GvrUnitySdkVersion { + public const string GVR_SDK_VERSION = "1.170.0"; + +// Google VR SDK supports Unity 5.6 or newer. +#if !UNITY_5_6_OR_NEWER + #error Google VR SDK requires Unity version 5.6 or newer. +#endif // !UNITY_5_6_OR_NEWER + +// Only log GVR SDK version when running on an Android or iOS device. +#if (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR + private const string VERSION_HEADER = "GVR SDK for Unity version: "; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] + static void LogGvrUnitySdkVersion() { + Debug.Log(VERSION_HEADER + GVR_SDK_VERSION); + } +#endif // (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR +} diff --git a/Assets/GoogleVR/Scripts/GvrUnitySdkVersion.cs.meta b/Assets/GoogleVR/Scripts/GvrUnitySdkVersion.cs.meta new file mode 100644 index 0000000..baaef6b --- /dev/null +++ b/Assets/GoogleVR/Scripts/GvrUnitySdkVersion.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 12bd1ba026e3d49a285ef666388aa4e9 +timeCreated: 1476406456 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Headset.meta b/Assets/GoogleVR/Scripts/Headset.meta new file mode 100644 index 0000000..348e365 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6d077261531ff4d4db500d9dfbe54d13 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Headset/GvrHeadset.cs b/Assets/GoogleVR/Scripts/Headset/GvrHeadset.cs new file mode 100644 index 0000000..aba6d5b --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/GvrHeadset.cs @@ -0,0 +1,234 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System; +using System.Collections; +using System.ComponentModel; + +using Gvr.Internal; + +/// Main entry point for Standalone headset APIs. +/// +/// To use this API, use the GvrHeadset prefab. There can be only one +/// such prefab in a scene. +/// +/// This is a singleton object. +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrHeadset")] +public class GvrHeadset : MonoBehaviour { + private static GvrHeadset instance; + + private IHeadsetProvider headsetProvider; + private HeadsetState headsetState; + private IEnumerator standaloneUpdate; + private WaitForEndOfFrame waitForEndOfFrame = new WaitForEndOfFrame(); + + // Delegates for GVR events. + private OnSafetyRegionEvent safetyRegionDelegate; + private OnRecenterEvent recenterDelegate; + + // Delegate definitions. + /// This delegate is called when the headset crosses the safety region boundary. + public delegate void OnSafetyRegionEvent(bool enter); + /// This delegate is called after the headset is recentered. + /// |recenterType| indicates the reason recentering occurred. + /// |recenterFlags| are flags related to recentering. See |GvrRecenterFlags|. + /// |recenteredPosition| is the positional offset from the session start pose. + /// |recenteredOrientation| is the rotational offset from the session start pose. + public delegate void OnRecenterEvent(GvrRecenterEventType recenterType, + GvrRecenterFlags recenterFlags, + Vector3 recenteredPosition, + Quaternion recenteredOrientation); + +#region DELEGATE_HANDLERS + public static event OnSafetyRegionEvent OnSafetyRegionChange { + add { + if (instance != null) { + instance.safetyRegionDelegate += value; + } + } + remove { + if (instance != null) { + instance.safetyRegionDelegate -= value; + } + } + } + + public static event OnRecenterEvent OnRecenter { + add { + if (instance != null) { + instance.recenterDelegate += value; + } + } + remove { + if (instance != null) { + instance.recenterDelegate -= value; + } + } + } +#endregion // DELEGATE_HANDLERS + +#region GVR_HEADSET_PROPERTIES + /// Returns |true| if the current headset supports positionally tracked, 6DOF head poses. + /// Returns |false| if only rotation-based head poses are supported. + public static bool SupportsPositionalTracking { + get { + if (instance == null) { + return false; + } + try { + return instance.headsetProvider.SupportsPositionalTracking; + } + catch(Exception e) { + Debug.LogError("Error reading SupportsPositionalTracking: " + e.Message); + return false; + } + } + } + + /// If a floor is found, populates floorHeight with the detected height. + /// Otherwise, leaves the value unchanged. + /// Returns true if value retrieval was successful, false otherwise (depends on tracking state). + public static bool TryGetFloorHeight(ref float floorHeight) { + if (instance == null) { + return false; + } + return instance.headsetProvider.TryGetFloorHeight(ref floorHeight); + } + + /// If the last recentering transform is available, populates position and rotation with that + /// transform. + /// Returns true if value retrieval was successful, false otherwise (unlikely). + public static bool TryGetRecenterTransform(ref Vector3 position, ref Quaternion rotation) { + if (instance == null) { + return false; + } + return instance.headsetProvider.TryGetRecenterTransform(ref position, ref rotation); + } + + /// Populates safetyType with the available safety region feature on the + /// currently-running device. + /// Returns true if value retrieval was successful, false otherwise (unlikely). + public static bool TryGetSafetyRegionType(ref GvrSafetyRegionType safetyType) { + if (instance == null) { + return false; + } + return instance.headsetProvider.TryGetSafetyRegionType(ref safetyType); + } + + /// If the safety region is of type GvrSafetyRegionType.Cylinder, populates innerRadius with the + /// inner radius size (where fog starts appearing) of the safety cylinder in meters. + /// Assumes the safety region type has been previously checked by the caller. + /// Returns true if value retrieval was successful, false otherwise (if region type is + /// GvrSafetyRegionType.Invalid). + public static bool TryGetSafetyCylinderInnerRadius(ref float innerRadius) { + if (instance == null) { + return false; + } + return instance.headsetProvider.TryGetSafetyCylinderInnerRadius(ref innerRadius); + } + + /// If the safety region is of type GvrSafetyRegionType.Cylinder, populates outerRadius with the + /// outer radius size (where fog is 100% opaque) of the safety cylinder in meters. + /// Assumes the safety region type has been previously checked by the caller. + /// Returns true if value retrieval was successful, false otherwise (if region type is + /// GvrSafetyRegionType.Invalid). + public static bool TryGetSafetyCylinderOuterRadius(ref float outerRadius) { + if (instance == null) { + return false; + } + return instance.headsetProvider.TryGetSafetyCylinderOuterRadius(ref outerRadius); + } +#endregion // GVR_HEADSET_PROPERTIES + + private GvrHeadset() { + headsetState.Initialize(); + } + + void Awake() { + if (instance != null) { + Debug.LogError("More than one GvrHeadset instance was found in your scene. " + + "Ensure that there is only one GvrHeadset."); + this.enabled = false; + return; + } + instance = this; + if (headsetProvider == null) { + headsetProvider = HeadsetProviderFactory.CreateProvider(); + } + } + + void OnEnable() { + if (!SupportsPositionalTracking) { + return; + } + standaloneUpdate = EndOfFrame(); + StartCoroutine(standaloneUpdate); + } + + void OnDisable() { + if (!SupportsPositionalTracking) { + return; + } + StopCoroutine(standaloneUpdate); + } + + void OnDestroy() { + if (!SupportsPositionalTracking) { + return; + } + instance = null; + } + + private void UpdateStandalone() { + // Events are stored in a queue, so poll until we get Invalid. + headsetProvider.PollEventState(ref headsetState); + while (headsetState.eventType != GvrEventType.Invalid) { + switch (headsetState.eventType) { + case GvrEventType.Recenter: + if (recenterDelegate != null) { + recenterDelegate(headsetState.recenterEventType, + (GvrRecenterFlags) headsetState.recenterEventFlags, + headsetState.recenteredPosition, + headsetState.recenteredRotation); + } + break; + case GvrEventType.SafetyRegionEnter: + if (safetyRegionDelegate != null) { + safetyRegionDelegate(true); + } + break; + case GvrEventType.SafetyRegionExit: + if (safetyRegionDelegate != null) { + safetyRegionDelegate(false); + } + break; + case GvrEventType.Invalid: + throw new InvalidEnumArgumentException("Invalid headset event: " + headsetState.eventType); + default: // Fallthrough, should never get here. + break; + } + headsetProvider.PollEventState(ref headsetState); + } + } + + IEnumerator EndOfFrame() { + while (true) { + // This must be done at the end of the frame to ensure that all GameObjects had a chance + // to read transient state (e.g. events, etc) for the current frame before it gets reset. + yield return waitForEndOfFrame; + UpdateStandalone(); + } + } +} diff --git a/Assets/GoogleVR/Scripts/Headset/GvrHeadset.cs.meta b/Assets/GoogleVR/Scripts/Headset/GvrHeadset.cs.meta new file mode 100644 index 0000000..4ff8a53 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/GvrHeadset.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ecd9463bbd7994be09b972947a085067 +timeCreated: 1498190966 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Headset/GvrHeadsetEnums.cs b/Assets/GoogleVR/Scripts/Headset/GvrHeadsetEnums.cs new file mode 100644 index 0000000..1015511 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/GvrHeadsetEnums.cs @@ -0,0 +1,48 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// Maps to gvr_event_type in the C API. +public enum GvrEventType { + Invalid = -1, // Not in the C API. + Recenter = 1, + SafetyRegionExit = 2, + SafetyRegionEnter = 3, +}; + +// Maps to gvr_recenter_event_type in the C API. +public enum GvrRecenterEventType { + Invalid = -1, // Not in the C API. + RecenterEventRestart = 1, // Headset removal / re-attach recenter. + RecenterEventAligned = 2, // Controller-initiated recenter. +}; + +// Placeholder. No C spec for recenter flags yet. +public enum GvrRecenterFlags { + None = 0, +} + +// Maps to gvr_error in the C API. +public enum GvrErrorType { + None = 0, + ControllerCreateFailed = 2, + NoFrameAavilable = 3, + NoEventAvailable = 1000000, + NoPropertyAvailable = 1000001, +}; + +// Maps to gvr_safety_region_type in the C API. +public enum GvrSafetyRegionType { + None = 0, + Cylinder = 1, +}; diff --git a/Assets/GoogleVR/Scripts/Headset/GvrHeadsetEnums.cs.meta b/Assets/GoogleVR/Scripts/Headset/GvrHeadsetEnums.cs.meta new file mode 100644 index 0000000..ec57cff --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/GvrHeadsetEnums.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c39c9ce1c4cb949db8dc00fc0750f708 +timeCreated: 1498190965 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Headset/Internal.meta b/Assets/GoogleVR/Scripts/Headset/Internal.meta new file mode 100644 index 0000000..c24826b --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: adc010da5d914b042a8f72f76dca56f9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviderFactory.cs b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviderFactory.cs new file mode 100644 index 0000000..5b97603 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviderFactory.cs @@ -0,0 +1,45 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +/// @cond +namespace Gvr.Internal { + /// Factory that provides a concrete implementation of IHeadsetProvider for the + /// current platform. + static class HeadsetProviderFactory { + /// Provides a concrete implementation of IHeadsetProvider appropriate for the current + /// platform. This method never returns null. In the worst case, it might return a dummy + /// provider if the platform is not supported. For demo purposes the emulator controller + /// is returned in the editor and in Unity Standalone (desktop) builds, for use inside the + /// desktop player. + static internal IHeadsetProvider CreateProvider() { +// Use emualtor in editor, GVR SDK support on Android standalone headsets, and a +// dummy implementation otherwise.. +#if UNITY_EDITOR + return new EditorHeadsetProvider(); +#elif UNITY_ANDROID + // Use the GVR C API. + return new AndroidNativeHeadsetProvider(); +#else + // Platform not supported. + Debug.LogWarning("No Google VR standalone headset / 6DOF support on " + + Application.platform + " platform."); + return new DummyHeadsetProvider(); +#endif // UNITY_EDITOR || UNITY_ANDROID + } + } +} +/// @endcond + diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviderFactory.cs.meta b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviderFactory.cs.meta new file mode 100644 index 0000000..9aa4f59 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviderFactory.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1a8761daaa87949d9bfee83827f1cf81 +timeCreated: 1498369166 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders.meta b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders.meta new file mode 100644 index 0000000..2f32e5d --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1525d0b77f9bb764aa7e125b73490471 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/AndroidNativeHeadsetEnums.cs b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/AndroidNativeHeadsetEnums.cs new file mode 100644 index 0000000..c991dfa --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/AndroidNativeHeadsetEnums.cs @@ -0,0 +1,56 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System; + +/// @cond +namespace Gvr.Internal { + /// Maps to gvr_feature in the C API. + internal enum gvr_feature { + HeadPose6dof = 3, + }; + + /// Maps to gvr_property_type in the C API. + internal enum gvr_property_type { + TrackingFloorHeight = 1, // float; GVR_PROPERTY_TRACKING_FLOOR_HEIGHT + RecenterTransform = 2, // gvr_mat4f, GVR_PROPERTY_RECENTER_TRANSFORM + SafetyRegion = 3, // int (gvr_safety_region_type), GVR_PROPERTY_SAFETY_REGION + SafetyCylinderInnerRadius = 4, // float, GVR_PROPERTY_SAFETY_CYLINDER_INNER_RADIUS + SafetyCylinderOuterRadius = 5, // float, GVR_PROPERTY_SAFETY_CYLINDER_OUTER_RADIUS + }; + + /// Maps to gvr_value_type in the C API. + internal enum gvr_value_type { + None = 0, + Float = 1, + Double = 2, + Int = 3, + Int64 = 4, + Flags = 5, + Sizei = 6, + Recti = 7, + Rectf = 8, + Vec2f = 9, + Vec3f = 10, + Quat = 11, + Mat4f = 12, + ClockTimePoint = 13, + }; + + internal enum gvr_recenter_flags { + None = 0, + }; +} +/// @endcond diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/AndroidNativeHeadsetEnums.cs.meta b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/AndroidNativeHeadsetEnums.cs.meta new file mode 100644 index 0000000..8888905 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/AndroidNativeHeadsetEnums.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4768e786f437540fd9f7d0c0d5778312 +timeCreated: 1498382144 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/AndroidNativeHeadsetProvider.cs b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/AndroidNativeHeadsetProvider.cs new file mode 100644 index 0000000..86479c0 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/AndroidNativeHeadsetProvider.cs @@ -0,0 +1,386 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// This provider is only available on an Android device. +#if UNITY_ANDROID && !UNITY_EDITOR +using Gvr; +using System; +using System.Runtime.InteropServices; +using UnityEngine; + +#if UNITY_2017_2_OR_NEWER +using UnityEngine.XR; +#else +using XRDevice = UnityEngine.VR.VRDevice; +#endif // UNITY_2017_2_OR_NEWER + +/// @cond +namespace Gvr.Internal { + class AndroidNativeHeadsetProvider : IHeadsetProvider { + private IntPtr gvrContextPtr = XRDevice.GetNativePtr(); + private GvrValue gvrValue = new GvrValue(); + private gvr_event_header gvrEventHeader = new gvr_event_header(); + private gvr_recenter_event_data gvrRecenterEventData = new gvr_recenter_event_data(); + // |gvr_event| C struct is spec'd to be up to 512 bytes in size. + private byte[] gvrEventBuffer = new byte[512]; + private GCHandle gvrEventHandle; + private IntPtr gvrEventPtr; + private IntPtr gvrPropertiesPtr; + private int supportsPositionalTracking = -1; + + /// Used only as a temporary placeholder to avoid allocations. + /// Do not use this for storing state. + private MutablePose3D transientRecenteredPose3d = new MutablePose3D(); + + private readonly Matrix4x4 MATRIX4X4_IDENTITY = Matrix4x4.identity; + + public bool SupportsPositionalTracking { + get { + if (supportsPositionalTracking < 0) { + supportsPositionalTracking = + gvr_is_feature_supported(gvrContextPtr, (int)gvr_feature.HeadPose6dof) ? 1 : 0; + } + return supportsPositionalTracking > 0; + } + } + + internal AndroidNativeHeadsetProvider() { + gvrEventHandle = GCHandle.Alloc(gvrEventBuffer, GCHandleType.Pinned); + gvrEventPtr = gvrEventHandle.AddrOfPinnedObject(); + } + + ~AndroidNativeHeadsetProvider() { + gvrEventHandle.Free(); + } + + public void PollEventState(ref HeadsetState state) { + GvrErrorType eventType; + try { + eventType = (GvrErrorType)gvr_poll_event(gvrContextPtr, gvrEventPtr); + } catch (EntryPointNotFoundException) { + Debug.LogError("GvrHeadset not supported by this version of Unity. " + + "Support starts in 5.6.3p3 and 2017.1.1p1."); + throw; + } + if (eventType == GvrErrorType.NoEventAvailable) { + state.eventType = GvrEventType.Invalid; + return; + } + + Marshal.PtrToStructure(gvrEventPtr, gvrEventHeader); + state.eventFlags = gvrEventHeader.flags; + state.eventTimestampNs = gvrEventHeader.timestamp; + state.eventType = (GvrEventType) gvrEventHeader.type; + // Event data begins after header. + IntPtr eventDataPtr = new IntPtr(gvrEventPtr.ToInt64() + Marshal.SizeOf(gvrEventHeader)); + + if (state.eventType == GvrEventType.Recenter) { + Marshal.PtrToStructure(eventDataPtr, gvrRecenterEventData); + _HandleRecenterEvent(ref state, gvrRecenterEventData); + return; + } + } + + public bool TryGetFloorHeight(ref float floorHeight) { + if (!_GvrGetProperty(gvr_property_type.TrackingFloorHeight, gvrValue)) { + return false; + } + floorHeight = gvrValue.ToFloat(); + return true; + } + + public bool TryGetRecenterTransform(ref Vector3 position, ref Quaternion rotation) { + if (!_GvrGetProperty(gvr_property_type.RecenterTransform, gvrValue)) { + return false; + } + transientRecenteredPose3d.Set(gvrValue.ToMatrix4x4()); + position = transientRecenteredPose3d.Position; + rotation = transientRecenteredPose3d.Orientation; + return true; + } + + public bool TryGetSafetyRegionType(ref GvrSafetyRegionType safetyType) { + if (!_GvrGetProperty(gvr_property_type.SafetyRegion, gvrValue)) { + return false; + } + safetyType = (GvrSafetyRegionType) gvrValue.ToInt32(); + return true; + } + + public bool TryGetSafetyCylinderInnerRadius(ref float innerRadius) { + if (!_GvrGetProperty(gvr_property_type.SafetyCylinderInnerRadius, gvrValue)) { + return false; + } + innerRadius = gvrValue.ToFloat(); + return true; + } + + public bool TryGetSafetyCylinderOuterRadius(ref float outerRadius) { + if (!_GvrGetProperty(gvr_property_type.SafetyCylinderOuterRadius, gvrValue)) { + return false; + } + outerRadius = gvrValue.ToFloat(); + return true; + } + +#region PRIVATE_HELPERS + /// Returns true if a property was available and retrieved. + private bool _GvrGetProperty(gvr_property_type propertyType, GvrValue valueOut) { + gvr_value_type valueType = GetPropertyValueType(propertyType); + if (valueType == gvr_value_type.None) { + Debug.LogError("Unknown gvr property " + propertyType + ". Unable to type check."); + } + + if (gvrPropertiesPtr == IntPtr.Zero) { + try { + gvrPropertiesPtr = gvr_get_current_properties(gvrContextPtr); + } catch (EntryPointNotFoundException) { + Debug.LogError("GvrHeadset not supported by this version of Unity. " + + "Support starts in 5.6.3p3 and 2017.1.1p1."); + throw; + } + } + if (gvrPropertiesPtr == IntPtr.Zero) { + return false; + } + + // Assumes that gvr_properties_get (C API) will only ever return + // GvrErrorType.None or GvrErrorType.NoEventAvailable. + bool success = + (GvrErrorType.None == + (GvrErrorType) gvr_properties_get(gvrPropertiesPtr, propertyType, valueOut.BufferPtr)); + if (success) { + valueOut.Parse(); + success = (valueType == gvr_value_type.None || valueOut.TypeEnum == valueType); + if (!success) { + Debug.LogError("GvrGetProperty " + propertyType + " type mismatch, expected " + + valueType + " got " + valueOut.TypeEnum); + } + } + + return success; + } + + private void _HandleRecenterEvent(ref HeadsetState state, gvr_recenter_event_data eventData) { + state.recenterEventType = (GvrRecenterEventType) eventData.recenter_event_type; + state.recenterEventFlags = eventData.recenter_event_flags; + + Matrix4x4 poseTransform = MATRIX4X4_IDENTITY; + float[] poseRaw = eventData.pose_transform; + for (int i = 0; i < 4; i++) { + int j = i * 4; + Vector4 row = new Vector4(poseRaw[j], poseRaw[j + 1], poseRaw[j + 2], poseRaw[j + 3]); + poseTransform.SetRow(i, row); + } + + // Invert the matrix to go from row-major (GVR) to column-major (Unity), + // and change from LHS to RHS coordinates. + transientRecenteredPose3d.SetRightHanded(poseTransform.transpose); + state.recenteredPosition = transientRecenteredPose3d.Position; + state.recenteredRotation = transientRecenteredPose3d.Orientation; + } +#endregion // PRIVATE_HELPERS + +#region GVR_TYPE_HELPERS + private gvr_value_type GetPropertyValueType(gvr_property_type propertyType) { + gvr_value_type propType = gvr_value_type.None; + switch(propertyType) { + case gvr_property_type.TrackingFloorHeight: + propType = gvr_value_type.Float; + break; + case gvr_property_type.RecenterTransform: + propType = gvr_value_type.Mat4f; + break; + case gvr_property_type.SafetyRegion: + propType = gvr_value_type.Int; + break; + case gvr_property_type.SafetyCylinderInnerRadius: + propType = gvr_value_type.Float; + break; + case gvr_property_type.SafetyCylinderOuterRadius: + propType = gvr_value_type.Float; + break; + } + return propType; + } + + /// Helper class to parse |gvr_value| structs into the varied data types it could contain. + /// NOTE: Does NO type checking on value conversions. |_GvrGetProperty| checks types. + private class GvrValue { + private static readonly int HEADER_SIZE = Marshal.SizeOf(typeof(gvr_value_header)); + private gvr_value_header valueHeader = new gvr_value_header(); + // |gvr_value| C struct is spec'd to be up to 256 bytes in size. + private byte[] buffer = new byte[256]; + private IntPtr bufferPtr; + private IntPtr valuePtr; + private GCHandle bufferHandle; + + public GvrValue() { + bufferHandle = GCHandle.Alloc(buffer, GCHandleType.Pinned); + bufferPtr = bufferHandle.AddrOfPinnedObject(); + // Value portion starts after the header. + valuePtr = new IntPtr(bufferPtr.ToInt64() + HEADER_SIZE); + } + + ~GvrValue() { + bufferHandle.Free(); + } + + /// Gets the ptr to a buffer that can be used as an argument to |gvr_properties_get|. + public IntPtr BufferPtr { + get { + return bufferPtr; + } + } + + public gvr_value_type TypeEnum { + get { + return valueHeader.value_type; + } + } + + /// Parse the header of the current buffer. This should be called after the contents of + /// the buffer have been altered e.g. by a call to |gvr_properties_get|. + public void Parse() { + Marshal.PtrToStructure(bufferPtr, valueHeader); + } + + public int ToInt32() { + return BitConverter.ToInt32(buffer, HEADER_SIZE); + } + + public long ToInt64() { + return BitConverter.ToInt64(buffer, HEADER_SIZE); + } + + public float ToFloat() { + return BitConverter.ToSingle(buffer, HEADER_SIZE); + } + + public double ToDouble() { + return BitConverter.ToDouble(buffer, HEADER_SIZE); + } + + public Vector2 ToVector2() { + return (Vector2) Marshal.PtrToStructure(valuePtr, typeof(Vector2)); + } + + public Vector3 ToVector3() { + return (Vector3) Marshal.PtrToStructure(valuePtr, typeof(Vector3)); + } + + public Vector4 ToVector4() { + return (Vector4) Marshal.PtrToStructure(valuePtr, typeof(Vector4)); + } + + public Quaternion ToQuaternion() { + return (Quaternion) Marshal.PtrToStructure(valuePtr, typeof(Quaternion)); + } + + public gvr_rectf ToGvrRectf() { + return (gvr_rectf) Marshal.PtrToStructure(valuePtr, typeof(gvr_rectf)); + } + + public gvr_recti ToGvrRecti() { + return (gvr_recti) Marshal.PtrToStructure(valuePtr, typeof(gvr_recti)); + } + + public Matrix4x4 ToMatrix4x4() { + Matrix4x4 mat4 = (Matrix4x4) Marshal.PtrToStructure(valuePtr, typeof(Matrix4x4)); + // Transpose the matrix from row-major (GVR) to column-major (Unity), + // and change from LHS to RHS coordinates. + return Pose3D.FlipHandedness(mat4.transpose); + } + } +#endregion // GVR_TYPE_HELPERS + +#region GVR_NATIVE_STRUCTS + [StructLayout(LayoutKind.Sequential)] + private class gvr_recenter_event_data { + internal int recenter_event_type; // gvr_recenter_event_type + internal uint recenter_event_flags; // gvr_flags + + [MarshalAs(UnmanagedType.ByValArray, SizeConst=16)] + internal float[] pose_transform = new float[16]; // gvr_mat4f = float[4][4] + } + + [StructLayout(LayoutKind.Explicit)] + private class gvr_event_header { + [FieldOffset(0)] + internal long timestamp; + + [FieldOffset(8)] + internal int type; // gvr_event_type + + [FieldOffset(12)] + internal int flags; // gvr_flags + + // Event specific data starts at offset 16. + } + + [StructLayout(LayoutKind.Explicit)] + private class gvr_value_header { + [FieldOffset(0)] + internal gvr_value_type value_type; + + [FieldOffset(4)] + internal int flags; // gvr_flags + + // Value data starts at offset 8. + } + [StructLayout(LayoutKind.Sequential)] + public struct gvr_sizei { + internal int width; + internal int height; + } + + [StructLayout(LayoutKind.Sequential)] + public struct gvr_recti { + internal int left; + internal int right; + internal int bottom; + internal int top; + } + + [StructLayout(LayoutKind.Sequential)] + public struct gvr_rectf { + internal float left; + internal float right; + internal float bottom; + internal float top; + } + + +#endregion // GVR_NATIVE_STRUCTS + +#region GVR_C_API + private const string DLL_NAME = GvrActivityHelper.GVR_DLL_NAME; + + [DllImport(DLL_NAME)] + private static extern bool gvr_is_feature_supported(IntPtr gvr_context, int feature); + + [DllImport(DLL_NAME)] + private static extern int gvr_poll_event(IntPtr gvr_context, IntPtr event_out); + + [DllImport(DLL_NAME)] + private static extern IntPtr gvr_get_current_properties(IntPtr gvr_context); + + [DllImport(DLL_NAME)] + private static extern int gvr_properties_get( + IntPtr gvr_properties, gvr_property_type property_type, IntPtr value_out); +#endregion // GVR_C_API + } +} +/// @endcond +#endif // UNITY_ANDROID && !UNITY_EDITOR diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/AndroidNativeHeadsetProvider.cs.meta b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/AndroidNativeHeadsetProvider.cs.meta new file mode 100644 index 0000000..764463a --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/AndroidNativeHeadsetProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e39841bba8ebf4707aff759a1690a400 +timeCreated: 1498369167 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/DummyHeadsetProvider.cs b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/DummyHeadsetProvider.cs new file mode 100644 index 0000000..a9e18a2 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/DummyHeadsetProvider.cs @@ -0,0 +1,50 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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 Gvr; +using UnityEngine; + +/// Used for platforms that do not support the GoogleVR standalone headset (6DOF). +/// @cond +namespace Gvr.Internal { + class DummyHeadsetProvider : IHeadsetProvider { + private HeadsetState dummyState; + + public bool SupportsPositionalTracking { get { return false; } } + + public void PollEventState(ref HeadsetState state) { } + + public bool TryGetFloorHeight(ref float floorHeight) { + return false; + } + + public bool TryGetRecenterTransform( + ref Vector3 position, ref Quaternion rotation) { + return false; + } + + public bool TryGetSafetyRegionType(ref GvrSafetyRegionType safetyType) { + return false; + } + + public bool TryGetSafetyCylinderInnerRadius(ref float innerRadius) { + return false; + } + + public bool TryGetSafetyCylinderOuterRadius(ref float outerRadius) { + return false; + } + } +} +/// @endcond diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/DummyHeadsetProvider.cs.meta b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/DummyHeadsetProvider.cs.meta new file mode 100644 index 0000000..d516722 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/DummyHeadsetProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fff2ffa71f4754593a63b4ebb799955e +timeCreated: 1498369167 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/EditorHeadsetProvider.cs b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/EditorHeadsetProvider.cs new file mode 100644 index 0000000..d3088fc --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/EditorHeadsetProvider.cs @@ -0,0 +1,55 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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 Gvr; +using UnityEngine; + +/// @cond +namespace Gvr.Internal { + class EditorHeadsetProvider : IHeadsetProvider { + private HeadsetState dummyState; + + public bool SupportsPositionalTracking { get { return true; } } + + public void PollEventState(ref HeadsetState state) { + // Emulation coming soon. + } + + public bool TryGetFloorHeight(ref float floorHeight) { + floorHeight = -1.6f; + return true; + } + + public bool TryGetRecenterTransform( + ref Vector3 position, ref Quaternion rotation) { + return true; + } + + public bool TryGetSafetyRegionType(ref GvrSafetyRegionType safetyType) { + safetyType = GvrSafetyRegionType.Cylinder; + return true; + } + + public bool TryGetSafetyCylinderInnerRadius(ref float innerRadius) { + innerRadius = 0.6f; + return true; + } + + public bool TryGetSafetyCylinderOuterRadius(ref float outerRadius) { + outerRadius = 0.7f; + return true; + } + } +} +/// @endcond diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/EditorHeadsetProvider.cs.meta b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/EditorHeadsetProvider.cs.meta new file mode 100644 index 0000000..b3c0c25 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetProviders/EditorHeadsetProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 19a9f6c7cb74d44bd9bbc87397789f7c +timeCreated: 1498369166 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetState.cs b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetState.cs new file mode 100644 index 0000000..5a1071e --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetState.cs @@ -0,0 +1,47 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System; + +using Gvr; + +/// @cond +namespace Gvr.Internal { + // Internal representation of state for the headset. + struct HeadsetState { + internal GvrEventType eventType; + internal int eventFlags; + internal long eventTimestampNs; // Maps to gvr_clock_time_point monotonic_systemtime_nanos. + + // Recenter event data. + internal GvrRecenterEventType recenterEventType; + internal uint recenterEventFlags; + internal Vector3 recenteredPosition; + internal Quaternion recenteredRotation; + + public void Initialize() { + eventType = GvrEventType.Invalid; + eventFlags = 0; + eventTimestampNs = 0; + + recenterEventType = GvrRecenterEventType.Invalid; + recenterEventFlags = 0; + recenteredPosition = Vector3.zero; + recenteredRotation = Quaternion.identity; + } + + } +} // namespace Gvr.Internal +/// @endcond diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetState.cs.meta b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetState.cs.meta new file mode 100644 index 0000000..fb012a4 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/HeadsetState.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 127c2783105b84d52adbb2499339f572 +timeCreated: 1498369166 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/IHeadsetProvider.cs b/Assets/GoogleVR/Scripts/Headset/Internal/IHeadsetProvider.cs new file mode 100644 index 0000000..f2f0071 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/IHeadsetProvider.cs @@ -0,0 +1,56 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +/// @cond +namespace Gvr.Internal { + interface IHeadsetProvider { + /// Returns whether the current headset supports positionally tracked, 6DOF head poses. + bool SupportsPositionalTracking { get; } + + /// Polls for GVR standalone events. + void PollEventState(ref HeadsetState outState); + + /// If a floor is found, populates floorHeight with the detected height. + /// Otherwise, leaves the value unchanged. + /// Returns true if value retrieval was successful, false otherwise (depends on tracking state). + bool TryGetFloorHeight(ref float floorHeight); + + /// If the last recentering transform is available, populates position and rotation with that + /// transform. + /// Returns true if value retrieval was successful, false otherwise (unlikely). + bool TryGetRecenterTransform(ref Vector3 position, ref Quaternion rotation); + + /// Populates safetyType with the available safety region feature on the + /// currently-running device. + /// Returns true if value retrieval was successful, false otherwise (unlikely). + bool TryGetSafetyRegionType(ref GvrSafetyRegionType safetyType); + + /// If the safety region is of type GvrSafetyRegionType.Cylinder, populates innerRadius with the + /// inner radius size (where fog starts appearing) of the safety cylinder in meters. + /// Assumes the safety region type has been previously checked by the caller. + /// Returns true if value retrieval was successful, false otherwise (if region type is + /// GvrSafetyRegionType.Invalid). + bool TryGetSafetyCylinderInnerRadius(ref float innerRadius); + + /// If the safety region is of type GvrSafetyRegionType.Cylinder, populates outerRadius with the + /// outer radius size (where fog is 100% opaque) of the safety cylinder in meters. + /// Assumes the safety region type has been previously checked by the caller. + /// Returns true if value retrieval was successful, false otherwise (if region type is + /// GvrSafetyRegionType.Invalid). + bool TryGetSafetyCylinderOuterRadius(ref float outerRadius); + } +} +/// @endcond diff --git a/Assets/GoogleVR/Scripts/Headset/Internal/IHeadsetProvider.cs.meta b/Assets/GoogleVR/Scripts/Headset/Internal/IHeadsetProvider.cs.meta new file mode 100644 index 0000000..43ed188 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Headset/Internal/IHeadsetProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e5000c7de28ac497c8564ecb8d1f005d +timeCreated: 1498369167 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/InstantPreview.meta b/Assets/GoogleVR/Scripts/InstantPreview.meta new file mode 100644 index 0000000..83537fc --- /dev/null +++ b/Assets/GoogleVR/Scripts/InstantPreview.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: de1a791a03c2590438d1da45cca10255 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/InstantPreview/InstantPreview.apk.meta b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreview.apk.meta new file mode 100644 index 0000000..a3dc343 --- /dev/null +++ b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreview.apk.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dc278786e6540af428ccbf7825495004 +timeCreated: 1500315262 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/InstantPreview/InstantPreview.cs b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreview.cs new file mode 100644 index 0000000..596fd54 --- /dev/null +++ b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreview.cs @@ -0,0 +1,568 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System.Runtime.InteropServices; +using System; +using System.Text; +using System.Collections.Generic; +using System.IO; +using System.Threading; + +namespace Gvr.Internal { + [HelpURL("https://developers.google.com/vr/unity/reference/class/InstantPreview")] + public class InstantPreview : MonoBehaviour { + private const string NoDevicesFoundAdbResult = "error: no devices/emulators found"; + + internal static InstantPreview Instance { get; set; } + + internal const string dllName = "instant_preview_unity_plugin"; + + public enum Resolutions : int { + Big, + Regular, + WindowSized, + } + struct ResolutionSize { + public int width; + public int height; + } + + [Tooltip("Resolution of video stream. Higher = more expensive / better visual quality.")] + public Resolutions OutputResolution = Resolutions.Big; + + public enum MultisampleCounts { + One, + Two, + Four, + Eight, + } + + [Tooltip("Anti-aliasing for video preview. Higher = more expensive / better visual quality.")] + public MultisampleCounts MultisampleCount = MultisampleCounts.One; + + public enum BitRates { + _2000, + _4000, + _8000, + _16000, + _24000, + _32000, + } + + [Tooltip("Video codec streaming bit rate. Higher = more expensive / better visual quality.")] + public BitRates BitRate = BitRates._16000; + + [Tooltip("Installs the Instant Preview app if it isn't found on the connected device.")] + public bool InstallApkOnRun = true; + + public UnityEngine.Object InstantPreviewApk; + + struct UnityRect { + public float right; + public float left; + public float top; + public float bottom; + } + + struct UnityEyeViews { + public Matrix4x4 leftEyePose; + public Matrix4x4 rightEyePose; + public UnityRect leftEyeViewSize; + public UnityRect rightEyeViewSize; + } + +#if UNITY_HAS_GOOGLEVR && UNITY_EDITOR + static ResolutionSize[] resolutionSizes = new ResolutionSize[] { + new ResolutionSize() { width = 2560, height = 1440, }, // ResolutionSize.Big + new ResolutionSize() { width = 1920, height = 1080, }, // ResolutionSize.Regular + new ResolutionSize() , // ResolutionSize.WindowSized + }; + + private static readonly int[] multisampleCounts = new int[] { + 1, // MultisampleCounts.One + 2, // MultisampleCounts.Two + 4, // MultisampleCounts.Four + 8, // MultisampleCounts.Eight + }; + + private static readonly int[] bitRates = new int[] { + 2000, // BitRates._2000 + 4000, // BitRates._4000 + 8000, // BitRates._8000 + 16000, // BitRates._16000 + 24000, // BitRates._24000 + 32000, // BitRates._32000 + }; + + [DllImport(dllName)] + private static extern bool IsConnected(); + + [DllImport(dllName)] + private static extern bool GetHeadPose(out Matrix4x4 pose, out double timestamp); + + [DllImport(dllName)] + private static extern bool GetEyeViews(out UnityEyeViews outputEyeViews); + + [DllImport(dllName)] + private static extern IntPtr GetRenderEventFunc(); + + [DllImport(dllName)] + private static extern void SendFrame(IntPtr renderTexture, ref Matrix4x4 pose, double timestamp, int bitRate); + + [DllImport(dllName)] + private static extern void GetVersionString(StringBuilder dest, uint n); + + public bool IsCurrentlyConnected { get { return connected; } } + + private IntPtr renderEventFunc; + private RenderTexture renderTexture; + private Matrix4x4 headPose = Matrix4x4.identity; + private double timestamp; + + private class EyeCamera { + public Camera leftEyeCamera = null; + public Camera rightEyeCamera = null; + } + Dictionary eyeCameras = new Dictionary(); + + List camerasLastFrame = new List(); + + private bool connected; + + void Awake() { + renderEventFunc = GetRenderEventFunc(); + + if (Instance != null) { + Destroy(gameObject); + gameObject.SetActive(false); + return; + } + + Instance = this; + DontDestroyOnLoad(gameObject); + } + + void Start() { + // Gets local version name and prints it out. + var sb = new StringBuilder(256); + GetVersionString(sb, (uint)sb.Capacity); + var localVersionName = sb.ToString(); + Debug.Log("Instant Preview Version: " + localVersionName); + + // Tries to install Instant Preview apk if set to do so. + if (InstallApkOnRun) { + // Early outs if set to install but the apk can't be found. + if (InstantPreviewApk == null) { + Debug.LogError("Trying to install Instant Preview apk but reference to InstantPreview.apk is broken."); + return; + } + + // Gets the apk path and installs it on a separate thread. + var apkPath = Path.GetFullPath(UnityEditor.AssetDatabase.GetAssetPath(InstantPreviewApk)); + if (File.Exists(apkPath)) { + new Thread(() => { + string output; + string errors; + + // Gets version of installed apk. + RunCommand(InstantPreviewHelper.AdbPath, + "shell dumpsys package com.google.instantpreview | grep versionName", + out output, out errors); + string installedVersionName = null; + if (!string.IsNullOrEmpty(output) && string.IsNullOrEmpty(errors)) { + installedVersionName = output.Substring(output.IndexOf('=') + 1); + } + + // Early outs if no device is connected. + if (string.Compare(errors, NoDevicesFoundAdbResult) == 0) { + return; + } + + // Prints errors and exits on failure. + if (!string.IsNullOrEmpty(errors)) { + Debug.LogError(errors); + return; + } + + // Determines if app is installed. + if (installedVersionName != localVersionName) { + if (installedVersionName == null) { + Debug.Log(string.Format( + "Instant Preview: app not found on device, attempting to install it from {0}.", + apkPath)); + } else { + Debug.Log(string.Format( + "Instant Preview: installed version \"{0}\" does not match local version \"{1}\", attempting upgrade.", + installedVersionName, localVersionName)); + } + + RunCommand(InstantPreviewHelper.AdbPath, + string.Format("uninstall com.google.instantpreview", apkPath), + out output, out errors); + + RunCommand(InstantPreviewHelper.AdbPath, + string.Format("install \"{0}\"", apkPath), + out output, out errors); + + // Prints any output from trying to install. + if (!string.IsNullOrEmpty(output)) { + Debug.Log(output); + } + if (!string.IsNullOrEmpty(errors)) { + if (string.Equals(errors.Trim(), "Success")) { + Debug.Log("Successfully installed Instant Preview app."); + } else { + Debug.LogError(errors); + } + } + } + + StartInstantPreviewActivity(InstantPreviewHelper.AdbPath); + }).Start(); + } + } else { + new Thread(() => { StartInstantPreviewActivity(InstantPreviewHelper.AdbPath); }).Start(); + } + } + + void UpdateCamera(Camera camera) { + + EyeCamera eyeCamera; + + if (!eyeCameras.TryGetValue(camera, out eyeCamera)) { + return; + } + + if (connected) { + if (GetHeadPose(out headPose, out timestamp)) { + SetEditorEmulatorsEnabled(false); + camera.transform.localRotation = Quaternion.LookRotation(headPose.GetColumn(2), headPose.GetColumn(1)); + camera.transform.localPosition = camera.transform.localRotation * headPose.GetRow(3) * -1; + } else { + SetEditorEmulatorsEnabled(true); + } + + var eyeViews = new UnityEyeViews(); + if (GetEyeViews(out eyeViews)) { + SetTransformFromMatrix(eyeCamera.leftEyeCamera.gameObject.transform, eyeViews.leftEyePose); + SetTransformFromMatrix(eyeCamera.rightEyeCamera.gameObject.transform, eyeViews.rightEyePose); + + var near = Camera.main.nearClipPlane; + var far = Camera.main.farClipPlane; + eyeCamera.leftEyeCamera.projectionMatrix = + PerspectiveMatrixFromUnityRect(eyeViews.leftEyeViewSize, near, far); + eyeCamera.rightEyeCamera.projectionMatrix = + PerspectiveMatrixFromUnityRect(eyeViews.rightEyeViewSize, near, far); + + bool multisampleChanged = multisampleCounts[(int)MultisampleCount] != renderTexture.antiAliasing; + + // Adjusts render texture size. + if (OutputResolution != Resolutions.WindowSized) { + var selectedResolutionSize = resolutionSizes[(int)OutputResolution]; + if (selectedResolutionSize.width != renderTexture.width || + selectedResolutionSize.height != renderTexture.height || + multisampleChanged) { + ResizeRenderTexture(selectedResolutionSize.width, selectedResolutionSize.height); + } + } else { // OutputResolution == Resolutions.WindowSized + var screenAspectRatio = (float)Screen.width / Screen.height; + + var eyeViewsWidth = + -eyeViews.leftEyeViewSize.left + + eyeViews.leftEyeViewSize.right + + -eyeViews.rightEyeViewSize.left + + eyeViews.rightEyeViewSize.right; + var eyeViewsHeight = + eyeViews.leftEyeViewSize.top + + -eyeViews.leftEyeViewSize.bottom; + if (eyeViewsHeight > 0f) { + int renderTextureHeight; + int renderTextureWidth; + var eyeViewsAspectRatio = eyeViewsWidth / eyeViewsHeight; + if (screenAspectRatio > eyeViewsAspectRatio) { + renderTextureHeight = Screen.height; + renderTextureWidth = (int)(Screen.height * eyeViewsAspectRatio); + } else { + renderTextureWidth = Screen.width; + renderTextureHeight = (int)(Screen.width / eyeViewsAspectRatio); + } + renderTextureWidth = renderTextureWidth & ~0x3; + renderTextureHeight = renderTextureHeight & ~0x3; + + if (multisampleChanged || + renderTexture.width != renderTextureWidth || + renderTexture.height != renderTextureHeight) { + ResizeRenderTexture(renderTextureWidth, renderTextureHeight); + } + } + } + } + } else { // !connected + SetEditorEmulatorsEnabled(true); + + if (renderTexture.width != Screen.width || renderTexture.height != Screen.height) { + ResizeRenderTexture(Screen.width, Screen.height); + } + } + } + + void Update() { + if (!EnsureCameras()) { + return; + } + + var newConnectionState = IsConnected(); + if (connected && !newConnectionState) { + Debug.Log("Disconnected from Instant Preview."); + } else if (!connected && newConnectionState) { + Debug.Log("Connected to Instant Preview."); + } + connected = newConnectionState; + + foreach (KeyValuePair eyeCamera in eyeCameras) { + UpdateCamera(eyeCamera.Key); + } + } + + void OnPostRender() { + if (connected && renderTexture != null) { + var nativeTexturePtr = renderTexture.GetNativeTexturePtr(); + SendFrame(nativeTexturePtr, ref headPose, timestamp, bitRates[(int)BitRate]); + GL.IssuePluginEvent(renderEventFunc, 69); + } + } + + void EnsureCamera(Camera camera) { + // renderTexture might still be null so this creates and assigns it. + if (renderTexture == null) { + if (OutputResolution != Resolutions.WindowSized) { + var selectedResolutionSize = resolutionSizes[(int)OutputResolution]; + ResizeRenderTexture(selectedResolutionSize.width, selectedResolutionSize.height); + } else { + ResizeRenderTexture(Screen.width, Screen.height); + } + } + + EyeCamera eyeCamera; + + if (!eyeCameras.TryGetValue(camera, out eyeCamera)) { + eyeCamera = new EyeCamera(); + eyeCameras.Add(camera, eyeCamera); + } + + EnsureEyeCamera(camera, ":Instant Preview Left", new Rect(0.0f, 0.0f, 0.5f, 1.0f), ref eyeCamera.leftEyeCamera); + EnsureEyeCamera(camera, ":Instant Preview Right", new Rect(0.5f, 0.0f, 0.5f, 1.0f), ref eyeCamera.rightEyeCamera); + } + + private void CheckRemoveCameras(List cameras) { + // Any cameras that were here last frame and not here this frame need removing from eyeCameras. + foreach (Camera oldCamera in camerasLastFrame) { + + if (!cameras.Contains(oldCamera)) { + // Destroys the eye cameras. + EyeCamera curEyeCamera; + if (eyeCameras.TryGetValue(oldCamera, out curEyeCamera)) { + Destroy(curEyeCamera.leftEyeCamera.gameObject); + Destroy(curEyeCamera.rightEyeCamera.gameObject); + } + + // Removes eye camera entry from dictionary. + eyeCameras.Remove(oldCamera); + } + } + + camerasLastFrame = cameras; + } + + bool EnsureCameras() { + var mainCamera = Camera.main; + if (!mainCamera) { + // If the main camera doesn't exist, destroys a remaining render texture and exits. + if (renderTexture != null) { + Destroy(renderTexture); + renderTexture = null; + } + return false; + } + + // Find all the cameras and make sure any non-Instant Preview cameras have left/right eyes attached. + var cameras = new List(ValidCameras()); + CheckRemoveCameras(cameras); + + // Now go and make sure that all cameras that are to be driven by Instant Preview have the correct setup. + foreach (Camera camera in cameras) { + // Skips the Instant Preview camera, which is used for a + // convenience preview. + if (camera.gameObject == gameObject) { + continue; + } + + EnsureCamera(camera); + } + + return true; + } + + void EnsureEyeCamera(Camera mainCamera, String eyeCameraName, Rect rect, ref Camera eyeCamera) { + // Creates eye camera object if it doesn't exist. + if (eyeCamera == null) { + var eyeCameraObject = new GameObject(mainCamera.gameObject.name + eyeCameraName); + eyeCamera = eyeCameraObject.AddComponent(); + eyeCameraObject.transform.SetParent(mainCamera.gameObject.transform, false); + } + + eyeCamera.CopyFrom(mainCamera); + eyeCamera.rect = rect; + eyeCamera.targetTexture = renderTexture; + + // Match child camera's skyboxes to main camera. + Skybox monoCameraSkybox = mainCamera.gameObject.GetComponent(); + Skybox customSkybox = eyeCamera.GetComponent(); + if (monoCameraSkybox != null) { + if (customSkybox == null) { + customSkybox = eyeCamera.gameObject.AddComponent(); + } + customSkybox.material = monoCameraSkybox.material; + } else if (customSkybox != null) { + Destroy(customSkybox); + } + } + + void ResizeRenderTexture(int width, int height) { + var newRenderTexture = new RenderTexture(width, height, 16); + newRenderTexture.antiAliasing = multisampleCounts[(int)MultisampleCount]; + if (renderTexture != null) { + foreach (KeyValuePair camera in eyeCameras) { + if (camera.Value.leftEyeCamera != null) { + camera.Value.leftEyeCamera.targetTexture = null; + } + if (camera.Value.rightEyeCamera != null) { + camera.Value.rightEyeCamera.targetTexture = null; + } + } + + Destroy(renderTexture); + } + renderTexture = newRenderTexture; + } + + private static void SetEditorEmulatorsEnabled(bool enabled) { + foreach (var editorEmulator in FindObjectsOfType()) { + editorEmulator.enabled = enabled; + } + } + + private static Matrix4x4 PerspectiveMatrixFromUnityRect(UnityRect rect, float near, float far) { + if (rect.left == rect.right || rect.bottom == rect.top || near == far || + near <= 0f || far <= 0f) { + return Matrix4x4.identity; + } + rect.left *= near; + rect.right *= near; + rect.top *= near; + rect.bottom *= near; + var X = (2 * near) / (rect.right - rect.left); + var Y = (2 * near) / (rect.top - rect.bottom); + var A = (rect.right + rect.left) / (rect.right - rect.left); + var B = (rect.top + rect.bottom) / (rect.top - rect.bottom); + var C = (near + far) / (near - far); + var D = (2 * near * far) / (near - far); + + var perspectiveMatrix = new Matrix4x4(); + perspectiveMatrix[0, 0] = X; + perspectiveMatrix[0, 2] = A; + perspectiveMatrix[1, 1] = Y; + perspectiveMatrix[1, 2] = B; + perspectiveMatrix[2, 2] = C; + perspectiveMatrix[2, 3] = D; + perspectiveMatrix[3, 2] = -1f; + return perspectiveMatrix; + } + + private static void SetTransformFromMatrix(Transform transform, Matrix4x4 matrix) { + var position = matrix.GetRow(3); + position.x *= -1; + transform.localPosition = position; + transform.localRotation = Quaternion.LookRotation(matrix.GetColumn(2), matrix.GetColumn(1)); + } + + private static void StartInstantPreviewActivity(string adbPath) { + string output; + string errors; + RunCommand(adbPath, "shell monkey -p com.google.instantpreview -c android.intent.category.LAUNCHER 1", out output, out errors); + + // Early outs if no device is connected. + if (string.Compare(errors, NoDevicesFoundAdbResult) == 0) { + return; + } + } + + private static void RunCommand(string fileName, string arguments, out string output, out string errors) { + using (var process = new System.Diagnostics.Process()) { + System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(fileName, arguments); + startInfo.UseShellExecute = false; + startInfo.RedirectStandardError = true; + startInfo.RedirectStandardOutput = true; + + startInfo.CreateNoWindow = true; + process.StartInfo = startInfo; + + var outputBuilder = new StringBuilder(); + var errorBuilder = new StringBuilder(); + process.OutputDataReceived += (o, ef) => outputBuilder.AppendLine(ef.Data); + process.ErrorDataReceived += (o, ef) => errorBuilder.AppendLine(ef.Data); + + process.Start(); + process.BeginOutputReadLine(); + process.BeginErrorReadLine(); + process.WaitForExit(); + process.Close(); + + // Trims the output strings to make comparison easier. + output = outputBuilder.ToString().Trim(); + errors = errorBuilder.ToString().Trim(); + } + } + + // Gets active, stereo, non-eye cameras in the scene. + private IEnumerable ValidCameras() { + foreach (var camera in Camera.allCameras) { + if (!camera.enabled || camera.stereoTargetEye == StereoTargetEyeMask.None) { + continue; + } + + // Skips camera if it is determined to be an eye camera. + var parent = camera.transform.parent; + if (parent != null) { + var parentCamera = parent.GetComponent(); + if (parentCamera != null) { + EyeCamera parentEyeCamera; + if (eyeCameras.TryGetValue(parentCamera, out parentEyeCamera)) { + if (camera == parentEyeCamera.leftEyeCamera || camera == parentEyeCamera.rightEyeCamera) { + continue; + } + } + } + } + + yield return camera; + } + } + +#else + public bool IsCurrentlyConnected { get { return false; } } +#endif + } +} diff --git a/Assets/GoogleVR/Scripts/InstantPreview/InstantPreview.cs.meta b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreview.cs.meta new file mode 100644 index 0000000..9f0576e --- /dev/null +++ b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreview.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7528488988f9d48478da328909125dea +timeCreated: 1494615574 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/InstantPreview/InstantPreviewControllerProvider.cs b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreviewControllerProvider.cs new file mode 100644 index 0000000..57f23f4 --- /dev/null +++ b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreviewControllerProvider.cs @@ -0,0 +1,87 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +#if UNITY_HAS_GOOGLEVR && UNITY_EDITOR +using System.Runtime.InteropServices; +using UnityEngine; + +namespace Gvr.Internal { + class InstantPreviewControllerProvider { + /// + /// This is a mirror of Gvr.Internal.ControllerState, but a struct instead. + /// + private struct NativeControllerState { + public GvrConnectionState connectionState; + public Quaternion orientation; + public Vector3 gyro; + public Vector3 accel; + public Vector2 touchPos; + [MarshalAs(UnmanagedType.U1)] + public bool isTouching; + [MarshalAs(UnmanagedType.U1)] + public bool appButtonState; + [MarshalAs(UnmanagedType.U1)] + public bool clickButtonState; + public int batteryLevel; + [MarshalAs(UnmanagedType.U1)] + public bool isCharging; + [MarshalAs(UnmanagedType.U1)] + public bool isRecentered; + [MarshalAs(UnmanagedType.U1)] + public bool homeButtonState; + } + + private GvrControllerButton prevButtonsState; + + [DllImport(InstantPreview.dllName)] + private static extern void ReadControllerState(out NativeControllerState nativeControllerState); + + public void ReadState(ControllerState outState) { + var nativeControllerState = new NativeControllerState(); + ReadControllerState(out nativeControllerState); + + outState.connectionState = nativeControllerState.connectionState; + outState.orientation = new Quaternion( + -nativeControllerState.orientation.y, + -nativeControllerState.orientation.z, + nativeControllerState.orientation.w, + nativeControllerState.orientation.x); + + outState.gyro = new Vector3(-nativeControllerState.gyro.x, -nativeControllerState.gyro.y, nativeControllerState.gyro.z); + outState.accel = new Vector3(nativeControllerState.accel.x, nativeControllerState.accel.y, -nativeControllerState.accel.z); + outState.touchPos = nativeControllerState.touchPos; + outState.batteryLevel = (GvrControllerBatteryLevel)nativeControllerState.batteryLevel; + outState.isCharging = nativeControllerState.isCharging; + outState.recentered = nativeControllerState.isRecentered; + + outState.buttonsState = 0; + if (nativeControllerState.appButtonState) { + outState.buttonsState |= GvrControllerButton.App; + } + if (nativeControllerState.clickButtonState) { + outState.buttonsState |= GvrControllerButton.TouchPadButton; + } + if (nativeControllerState.homeButtonState) { + outState.buttonsState |= GvrControllerButton.System; + } + if (nativeControllerState.isTouching) { + outState.buttonsState |= GvrControllerButton.TouchPadTouch; + } + + outState.SetButtonsUpDownFromPrevious(prevButtonsState); + prevButtonsState = outState.buttonsState; + } + } +} +#endif diff --git a/Assets/GoogleVR/Scripts/InstantPreview/InstantPreviewControllerProvider.cs.meta b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreviewControllerProvider.cs.meta new file mode 100644 index 0000000..b95063b --- /dev/null +++ b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreviewControllerProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c36f3afb2cb4ef840bf3183652900afe +timeCreated: 1494615575 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/InstantPreview/InstantPreviewHelper.cs b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreviewHelper.cs new file mode 100644 index 0000000..75d928e --- /dev/null +++ b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreviewHelper.cs @@ -0,0 +1,73 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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.IO; +using System.Runtime.InteropServices; +using Gvr.Internal; +#if UNITY_EDITOR +using UnityEditor; +#endif +using UnityEngine; + +[ExecuteInEditMode] +[HelpURL("https://developers.google.com/vr/unity/reference/class/InstantPreviewHelper")] +public class InstantPreviewHelper : MonoBehaviour { + public static string AdbPath; + +#if UNITY_HAS_GOOGLEVR && UNITY_EDITOR + [DllImport(InstantPreview.dllName)] + private static extern bool SetAdbPathAndStart(string adbPath); + + void Awake() { + // Gets android SDK root from preferences. + var sdkRoot = EditorPrefs.GetString("AndroidSdkRoot"); + if (string.IsNullOrEmpty(sdkRoot)) { + Debug.LogError("Instant Preview requires your Unity Android SDK path to be set. Please set it under Preferences/External Tools/Android. You may need to install the Android SDK first."); + return; + } + + // Gets adb path from known directory. + AdbPath = Path.Combine(Path.GetFullPath(sdkRoot), "platform-tools" + Path.DirectorySeparatorChar + "adb"); +#if UNITY_EDITOR_WIN + AdbPath = Path.ChangeExtension(AdbPath, "exe"); +#endif // UNITY_EDITOR_WIN + + if (!File.Exists(AdbPath)) { + Debug.LogErrorFormat("adb not found at \"{0}\". Please add adb to your SDK path and restart the Unity editor.", AdbPath); + return; + } + + // Tries to start server. + var started = SetAdbPathAndStart(AdbPath); + if (!started) { + Debug.LogErrorFormat("Couldn't start Instant Preview server with adb path: {0}.", AdbPath); + } + } + +#elif UNITY_EDITOR + void Awake() { + Debug.LogWarning("Instant Preview is disabled; set target platform to Android to use it."); + } + +#endif +} + +#if !UNITY_HAS_GOOGLEVR && UNITY_EDITOR +[CustomEditor(typeof(InstantPreviewHelper))] +public class InstantPreviewHelperEditor : Editor { + public override void OnInspectorGUI() { + EditorGUILayout.LabelField("Instant Preview is disabled; set target platform to Android to use it."); + } +} +#endif diff --git a/Assets/GoogleVR/Scripts/InstantPreview/InstantPreviewHelper.cs.meta b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreviewHelper.cs.meta new file mode 100644 index 0000000..46d454d --- /dev/null +++ b/Assets/GoogleVR/Scripts/InstantPreview/InstantPreviewHelper.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1b78ffabb50d1e94ca164106f5444e34 +timeCreated: 1494616992 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Keyboard.meta b/Assets/GoogleVR/Scripts/Keyboard.meta new file mode 100644 index 0000000..5400419 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d1fd8458abc58344989e310f3fc650fe +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboard.cs b/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboard.cs new file mode 100644 index 0000000..54acdfb --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboard.cs @@ -0,0 +1,371 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.EventSystems; +using Gvr.Internal; +using System; +using System.Collections; +using System.Collections.Generic; + +// Events to update the keyboard. +// These values depend on C API keyboard values +public enum GvrKeyboardEvent { + /// Unknown error. + GVR_KEYBOARD_ERROR_UNKNOWN = 0, + /// The keyboard service could not be connected. This is usually due to the + /// keyboard service not being installed. + GVR_KEYBOARD_ERROR_SERVICE_NOT_CONNECTED = 1, + /// No locale was found in the keyboard service. + GVR_KEYBOARD_ERROR_NO_LOCALES_FOUND = 2, + /// The keyboard SDK tried to load dynamically but failed. This is usually due + /// to the keyboard service not being installed or being out of date. + GVR_KEYBOARD_ERROR_SDK_LOAD_FAILED = 3, + /// Keyboard becomes visible. + GVR_KEYBOARD_SHOWN = 4, + /// Keyboard becomes hidden. + GVR_KEYBOARD_HIDDEN = 5, + /// Text has been updated. + GVR_KEYBOARD_TEXT_UPDATED = 6, + /// Text has been committed. + GVR_KEYBOARD_TEXT_COMMITTED = 7, +}; + +// These values depend on C API keyboard values. +public enum GvrKeyboardError { + UNKNOWN = 0, + SERVICE_NOT_CONNECTED = 1, + NO_LOCALES_FOUND = 2, + SDK_LOAD_FAILED = 3 +}; + +// These values depend on C API keyboard values. +public enum GvrKeyboardInputMode { + DEFAULT = 0, + NUMERIC = 1 +}; + +// Handles keyboard state management such as hiding and displaying +// the keyboard, directly modifying text and stereoscopic rendering. +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrKeyboard")] +public class GvrKeyboard : MonoBehaviour { + + private static GvrKeyboard instance; + private static IKeyboardProvider keyboardProvider; + private KeyboardState keyboardState = new KeyboardState(); + private IEnumerator keyboardUpdate; + + // Keyboard delegate types. + public delegate void StandardCallback(); + public delegate void EditTextCallback(string edit_text); + public delegate void ErrorCallback(GvrKeyboardError err); + public delegate void KeyboardCallback(IntPtr closure, GvrKeyboardEvent evt); + + // Private data and callbacks. + private ErrorCallback errorCallback = null; + private StandardCallback showCallback = null; + private StandardCallback hideCallback = null; + private EditTextCallback updateCallback = null; + private EditTextCallback enterCallback = null; + +#if UNITY_ANDROID + // Which eye is currently being rendered. + private bool isRight = false; +#endif // UNITY_ANDROID + + private bool isKeyboardHidden = false; + private const float kExecuterWait = 0.01f; + private static List threadSafeCallbacks = + new List(); + private static System.Object callbacksLock = new System.Object(); + + // Public parameters. + public GvrKeyboardDelegateBase keyboardDelegate = null; + public GvrKeyboardInputMode inputMode = GvrKeyboardInputMode.DEFAULT; + public bool useRecommended = true; + public float distance = 0; + + public string EditorText { + get { return instance != null ? instance.keyboardState.editorText : string.Empty; } + set { keyboardProvider.EditorText = value; } + } + + public GvrKeyboardInputMode Mode { + get { return instance != null ? instance.keyboardState.mode : GvrKeyboardInputMode.DEFAULT; } + } + + public bool IsValid { + get { return instance != null ? instance.keyboardState.isValid : false; } + } + + public bool IsReady { + get { return instance != null ? instance.keyboardState.isReady : false; } + } + + public Matrix4x4 WorldMatrix { + get { return instance != null ? instance.keyboardState.worldMatrix : Matrix4x4.zero; } + } + + void Awake() { + if (instance != null) { + Debug.LogError("More than one GvrKeyboard instance was found in your scene. " + + "Ensure that there is only one GvrKeyboard."); + enabled = false; + return; + } + instance = this; + if (keyboardProvider == null) { + keyboardProvider = KeyboardProviderFactory.CreateKeyboardProvider(this); + } + } + + void OnDestroy() { + instance = null; + threadSafeCallbacks.Clear(); + } + + // Use this for initialization. + void Start() { + if (keyboardDelegate != null) { + errorCallback = keyboardDelegate.OnKeyboardError; + showCallback = keyboardDelegate.OnKeyboardShow; + hideCallback = keyboardDelegate.OnKeyboardHide; + updateCallback = keyboardDelegate.OnKeyboardUpdate; + enterCallback = keyboardDelegate.OnKeyboardEnterPressed; + keyboardDelegate.KeyboardHidden += KeyboardDelegate_KeyboardHidden; + keyboardDelegate.KeyboardShown += KeyboardDelegate_KeyboardShown; + } + keyboardProvider.ReadState(keyboardState); + + if (IsValid) { + if (keyboardProvider.Create(OnKeyboardCallback)) { + keyboardProvider.SetInputMode(inputMode); + } + } else { + Debug.LogError("Could not validate keyboard"); + } + } + + // Update per-frame data. + void Update() { + if (keyboardProvider == null) { + return; + } + keyboardProvider.ReadState(keyboardState); + if (IsReady) { + // Reset position of keyboard. + if (transform.hasChanged) { + Show(); + transform.hasChanged = false; + } + + keyboardProvider.UpdateData(); + } + } + + // Use this function for procedural rendering + // Gets called twice per frame, once for each eye. + // On each frame, left eye renders before right eye so + // we keep track of a boolean that toggles back and forth + // between each eye. + void OnRenderObject() { + if (keyboardProvider == null || !IsReady) { + return; + } +#if UNITY_ANDROID + Camera camera = Camera.current; + if (camera && camera == Camera.main) { + // Get current eye. + Camera.StereoscopicEye camEye = isRight ? Camera.StereoscopicEye.Right : Camera.StereoscopicEye.Left; + + // Camera matrices. + Matrix4x4 proj = camera.GetStereoProjectionMatrix(camEye); + Matrix4x4 modelView = camera.GetStereoViewMatrix(camEye); + + // Camera viewport. + Rect viewport = camera.pixelRect; + + // Render keyboard. + keyboardProvider.Render((int) camEye, modelView, proj, viewport); + + // Swap. + isRight = !isRight; + } +#endif // !UNITY_ANDROID + } + + // Resets keyboard text. + public void ClearText() { + if (keyboardProvider != null) { + keyboardProvider.EditorText = string.Empty; + } + } + + public void Show() { + if (keyboardProvider == null) { + return; + } + + // Get user matrix. + Quaternion fixRot = new Quaternion(transform.rotation.x * -1, transform.rotation.y * -1, + transform.rotation.z, transform.rotation.w); + // Need to convert from left handed to right handed for the Keyboard coordinates. + Vector3 fixPos = new Vector3(transform.position.x, transform.position.y, + transform.position.z * -1); + Matrix4x4 modelMatrix = Matrix4x4.TRS(fixPos, fixRot, Vector3.one); + Matrix4x4 mat = Matrix4x4.identity; + Vector3 position = gameObject.transform.position; + if (position.x == 0 && position.y == 0 && position.z == 0 && !useRecommended) { + // Force use recommended to be true, otherwise keyboard won't show up. + keyboardProvider.Show(mat, true, distance, modelMatrix); + return; + } + + // Matrix needs to be set only if we're not using the recommended one. + // Uses the values of the keyboard gameobject transform as reported by Unity. If this is + // the zero vector, parent it under another gameobject instead. + if (!useRecommended) { + mat = GetKeyboardObjectMatrix(position); + } + + keyboardProvider.Show(mat, useRecommended, distance, modelMatrix); + } + + public void Hide() { + if (keyboardProvider != null) { + keyboardProvider.Hide(); + } + } + + public void OnPointerClick(BaseEventData data) { + if (isKeyboardHidden) { + Show(); + } + } + + void OnEnable() { + keyboardUpdate = Executer(); + StartCoroutine(keyboardUpdate); + } + + void OnDisable() { + StopCoroutine(keyboardUpdate); + } + + void OnApplicationPause(bool paused) { + if (null == keyboardProvider) return; + if (paused) { + keyboardProvider.OnPause(); + } else { + keyboardProvider.OnResume(); + } + } + + IEnumerator Executer() { + while (true) { + yield return new WaitForSeconds(kExecuterWait); + + while (threadSafeCallbacks.Count > 0) { + GvrKeyboardEvent keyboardEvent = threadSafeCallbacks[0]; + PoolKeyboardCallbacks(keyboardEvent); + lock (callbacksLock) { + threadSafeCallbacks.RemoveAt(0); + } + } + } + } + + private void PoolKeyboardCallbacks(GvrKeyboardEvent keyboardEvent) { + switch (keyboardEvent) { + case GvrKeyboardEvent.GVR_KEYBOARD_ERROR_UNKNOWN: + errorCallback(GvrKeyboardError.UNKNOWN); + break; + case GvrKeyboardEvent.GVR_KEYBOARD_ERROR_SERVICE_NOT_CONNECTED: + errorCallback(GvrKeyboardError.SERVICE_NOT_CONNECTED); + break; + case GvrKeyboardEvent.GVR_KEYBOARD_ERROR_NO_LOCALES_FOUND: + errorCallback(GvrKeyboardError.NO_LOCALES_FOUND); + break; + case GvrKeyboardEvent.GVR_KEYBOARD_ERROR_SDK_LOAD_FAILED: + errorCallback(GvrKeyboardError.SDK_LOAD_FAILED); + break; + case GvrKeyboardEvent.GVR_KEYBOARD_SHOWN: + showCallback(); + break; + case GvrKeyboardEvent.GVR_KEYBOARD_HIDDEN: + hideCallback(); + break; + case GvrKeyboardEvent.GVR_KEYBOARD_TEXT_UPDATED: + updateCallback(keyboardProvider.EditorText); + break; + case GvrKeyboardEvent.GVR_KEYBOARD_TEXT_COMMITTED: + enterCallback(keyboardProvider.EditorText); + break; + } + } + + [AOT.MonoPInvokeCallback(typeof(GvrKeyboardEvent))] + private static void OnKeyboardCallback(IntPtr closure, GvrKeyboardEvent keyboardEvent) { + lock (callbacksLock) { + threadSafeCallbacks.Add(keyboardEvent); + } + } + + private void KeyboardDelegate_KeyboardShown(object sender, System.EventArgs e) { + isKeyboardHidden = false; + } + + private void KeyboardDelegate_KeyboardHidden(object sender, System.EventArgs e) { + isKeyboardHidden = true; + } + + // Returns a matrix populated by the keyboard's gameobject position. If the position is not + // zero, but comes back as zero, parent this under another gameobject instead. + private Matrix4x4 GetKeyboardObjectMatrix(Vector3 position) { + // Set keyboard position based on this gameObject's position. + float angleX = Mathf.Atan2(position.y, position.x); + float kTanAngleX = Mathf.Tan(angleX); + float newPosX = kTanAngleX * position.x; + + float angleY = Mathf.Atan2(position.x, position.y); + float kTanAngleY = Mathf.Tan(angleY); + float newPosY = kTanAngleY * position.y; + + float angleZ = Mathf.Atan2(position.y, position.z); + float kTanAngleZ = Mathf.Tan(angleZ); + float newPosZ = kTanAngleZ * position.z; + + Vector3 keyboardPosition = new Vector3(newPosX, newPosY, newPosZ); + Vector3 lookPosition = Camera.main.transform.position; + + Quaternion rotation = Quaternion.LookRotation(lookPosition); + Matrix4x4 mat = new Matrix4x4(); + mat.SetTRS(keyboardPosition, rotation, position); + + // Set diagonal to identity if any of them are zero. + if (mat[0, 0] == 0) { + Vector4 row0 = mat.GetRow(0); + mat.SetRow(0, new Vector4(1, row0.y, row0.z, row0.w)); + } + if (mat[1, 1] == 0) { + Vector4 row1 = mat.GetRow(1); + mat.SetRow(1, new Vector4(row1.x, 1, row1.z, row1.w)); + } + if (mat[2, 2] == 0) { + Vector4 row2 = mat.GetRow(2); + mat.SetRow(2, new Vector4(row2.x, row2.y, 1, row2.w)); + } + return mat; + } +} diff --git a/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboard.cs.meta b/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboard.cs.meta new file mode 100644 index 0000000..1f184fe --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboard.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 573e2b04dc4734d68a2b6747421ce0bc +timeCreated: 1478820921 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboardDelegateBase.cs b/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboardDelegateBase.cs new file mode 100644 index 0000000..fcabaef --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboardDelegateBase.cs @@ -0,0 +1,35 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System; + +// This is an abstract class instead of an interface so that it can be exposed in Unity's +// editor. It inherits from MonoBehaviour so that it can be directly used as a game object. +public abstract class GvrKeyboardDelegateBase : MonoBehaviour { + + public abstract void OnKeyboardShow(); + + public abstract void OnKeyboardHide(); + + public abstract void OnKeyboardUpdate(string edit_text); + + public abstract void OnKeyboardEnterPressed(string edit_text); + + public abstract void OnKeyboardError(GvrKeyboardError errorCode); + + public abstract event EventHandler KeyboardHidden; + public abstract event EventHandler KeyboardShown; +} + diff --git a/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboardDelegateBase.cs.meta b/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboardDelegateBase.cs.meta new file mode 100644 index 0000000..d8e8221 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboardDelegateBase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3590c93395a39449ca11509317375cea +timeCreated: 1478820262 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboardIntent.cs b/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboardIntent.cs new file mode 100644 index 0000000..78c0958 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboardIntent.cs @@ -0,0 +1,99 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0(the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System; + +public class GvrKeyboardIntent { + +#if UNITY_ANDROID && !UNITY_EDITOR + // The Play Store intent is requested via an Android Activity Fragment Java object. + private AndroidJavaObject keyboardFragment = null; +#endif // UNITY_ANDROID && !UNITY_EDITOR + + // Constants used via JNI to access the keyboard fragment. + private const string FRAGMENT_CLASSNAME = + "com.google.gvr.keyboardsupport.KeyboardFragment"; + private const string CALLBACK_CLASSNAME = FRAGMENT_CLASSNAME + + "$KeyboardCallback"; + + // Singleton instance. + private static GvrKeyboardIntent theInstance; + + /// The singleton instance of the PermissionsRequester class, + /// lazily instantiated. + public static GvrKeyboardIntent Instance { + get { + if (theInstance == null) { + theInstance = new GvrKeyboardIntent(); + if (!theInstance.InitializeFragment()) { + Debug.LogError("Cannot initialize fragment!"); + theInstance = null; + } + } + return theInstance; + } + } + + /// + /// Initializes the fragment via JNI. + /// + /// True if fragment was initialized. + protected bool InitializeFragment() { +#if !UNITY_ANDROID || UNITY_EDITOR + Debug.LogWarning("GvrKeyboardIntent requires the Android runtime environment"); + return false; +#else + AndroidJavaClass ajc = new AndroidJavaClass(FRAGMENT_CLASSNAME); + + if (ajc != null) { + // Get the KeyboardFragment object + keyboardFragment = ajc.CallStatic("getInstance", + GvrActivityHelper.GetActivity()); + } + + return keyboardFragment != null && + keyboardFragment.GetRawObject() != IntPtr.Zero; +#endif // !UNITY_ANDROID || UNITY_EDITOR + } + + public void LaunchPlayStore() { +#if !UNITY_ANDROID || UNITY_EDITOR + Debug.LogError("GvrKeyboardIntent requires the Android runtime environment"); +#else + KeyboardCallback cb = new KeyboardCallback(); + keyboardFragment.Call("launchPlayStore", cb); +#endif // !UNITY_ANDROID || UNITY_EDITOR + } + + /// + /// Keyboard callback implementation. + /// + /// Instances of this class are passed to the java fragment and then + /// invoked once the request process is completed by the user. + /// + class KeyboardCallback : AndroidJavaProxy { + + internal KeyboardCallback() : base(CALLBACK_CLASSNAME) { + } + + /// + /// Called when then flow is completed. + /// + void onPlayStoreResult() { + Application.Quit(); + } + } + +} diff --git a/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboardIntent.cs.meta b/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboardIntent.cs.meta new file mode 100644 index 0000000..8c725b7 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/GvrKeyboardIntent.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 75e29b2b7f39fc5489e792b0f3338c79 +timeCreated: 1494440249 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal.meta b/Assets/GoogleVR/Scripts/Keyboard/Internal.meta new file mode 100644 index 0000000..ad22117 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4ef5f024c2ab92847a201d444256a76b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal/IKeyboardProvider.cs b/Assets/GoogleVR/Scripts/Keyboard/Internal/IKeyboardProvider.cs new file mode 100644 index 0000000..a06d840 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal/IKeyboardProvider.cs @@ -0,0 +1,48 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +namespace Gvr.Internal { + /// Internal interface that abstracts an implementation of a keyboard. + /// + /// Each platform has a different concrete implementation of a Keyboard Provider. + /// For example, if running on the Unity Editor, we use an implementation that + /// emulates the keyboard behaviour. If running on a real Android device, + /// we use an implementation that uses the underlying Daydream keyboard API. + interface IKeyboardProvider { + /// Notifies the controller provider that the application has paused. + void OnPause(); + + /// Notifies the controller provider that the application has resumed. + void OnResume(); + + /// Reads the controller's current state and stores it in outState. + void ReadState(KeyboardState outState); + + bool Create(GvrKeyboard.KeyboardCallback keyboardEvent); + + void UpdateData(); + + void Render(int eye, Matrix4x4 modelview, Matrix4x4 projection, Rect viewport); + + void Hide(); + + void Show(Matrix4x4 controllerMatrix, bool useRecommended, float distance, Matrix4x4 model); + + void SetInputMode(GvrKeyboardInputMode mode); + + string EditorText { get; set; } + } +} diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal/IKeyboardProvider.cs.meta b/Assets/GoogleVR/Scripts/Keyboard/Internal/IKeyboardProvider.cs.meta new file mode 100644 index 0000000..567cebd --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal/IKeyboardProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1f16e78d5a8cbe946b9dbaad22815581 +timeCreated: 1491935011 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviderFactory.cs b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviderFactory.cs new file mode 100644 index 0000000..8a37d3a --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviderFactory.cs @@ -0,0 +1,36 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +namespace Gvr.Internal { + /// Factory that provides a concrete implementation of IKeyboardProvider for the + /// current platform. + static class KeyboardProviderFactory { + static internal IKeyboardProvider CreateKeyboardProvider(GvrKeyboard owner) + { +// Use emulator in editor. +#if UNITY_EDITOR + return new EmulatorKeyboardProvider(); +#elif UNITY_ANDROID + // Running on an Android device. + return new AndroidNativeKeyboardProvider(); +#else + // Other platforms not supported, including iOS and Unity versions w/o the native integraiton. + Debug.LogWarning("GVR Keyboard not supported on " + Application.platform); + return new DummyKeyboardProvider(); +#endif // UNITY_EDITOR + } + } +} diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviderFactory.cs.meta b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviderFactory.cs.meta new file mode 100644 index 0000000..9572f8c --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviderFactory.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 696c86fab86049947bd12e68a9b724cf +timeCreated: 1491935011 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders.meta b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders.meta new file mode 100644 index 0000000..13bb5cf --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5d26023142e798440b25a7a2004ba138 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/AndroidNativeKeyboardProvider.cs b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/AndroidNativeKeyboardProvider.cs new file mode 100644 index 0000000..3dd3246 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/AndroidNativeKeyboardProvider.cs @@ -0,0 +1,374 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +// This is a Keyboard Subclass that runs on device only. It displays the +// full VR Keyboard. + +using UnityEngine; +using System; +using System.Runtime.InteropServices; + +#if UNITY_2017_2_OR_NEWER +using UnityEngine.XR; +#else +using UnityEngine.VR; +#endif // UNITY_2017_2_OR_NEWER + +/// @cond +namespace Gvr.Internal { + public class AndroidNativeKeyboardProvider : IKeyboardProvider { + private IntPtr renderEventFunction; + +#if UNITY_ANDROID && !UNITY_EDITOR + private float currentDistance = 0.0f; +#endif // UNITY_ANDROID && !UNITY_EDITOR + + // Android method names. + private const string METHOD_NAME_GET_PACKAGE_MANAGER = "getPackageManager"; + private const string METHOD_NAME_GET_PACKAGE_INFO = "getPackageInfo"; + private const string PACKAGE_NAME_VRINPUTMETHOD = "com.google.android.vr.inputmethod"; + private const string FIELD_NAME_VERSION_CODE = "versionCode"; + + // Min version for VrInputMethod. + private const int MIN_VERSION_VRINPUTMETHOD = 170509062; + + // Library name. + private const string dllName = "gvr_keyboard_shim_unity"; + + // Enum gvr_trigger_state. + private const int TRIGGER_NONE = 0; + private const int TRIGGER_PRESSED = 1; + + [StructLayout (LayoutKind.Sequential)] + private struct gvr_clock_time_point { + public long monotonic_system_time_nanos; + } + + [StructLayout (LayoutKind.Sequential)] + private struct gvr_recti { + public int left; + public int right; + public int bottom; + public int top; + } + + [DllImport (GvrActivityHelper.GVR_DLL_NAME)] + private static extern gvr_clock_time_point gvr_get_time_point_now(); + + [DllImport (dllName)] + private static extern GvrKeyboardInputMode gvr_keyboard_get_input_mode(IntPtr keyboard_context); + + [DllImport (dllName)] + private static extern void gvr_keyboard_set_input_mode(IntPtr keyboard_context, GvrKeyboardInputMode mode); + +#if UNITY_ANDROID + [DllImport(dllName)] + private static extern IntPtr gvr_keyboard_initialize(AndroidJavaObject app_context, AndroidJavaObject class_loader); +#endif + [DllImport (dllName)] + private static extern IntPtr gvr_keyboard_create(IntPtr closure, GvrKeyboard.KeyboardCallback callback); + + // Gets a recommended world space matrix. + [DllImport (dllName)] + private static extern void gvr_keyboard_get_recommended_world_from_keyboard_matrix(float distance_from_eye, + IntPtr matrix); + + // Sets the recommended world space matrix. The matrix may + // contain a combination of translation/rotation/scaling information. + [DllImport(dllName)] + private static extern void gvr_keyboard_set_world_from_keyboard_matrix(IntPtr keyboard_context, IntPtr matrix); + + // Shows the keyboard + [DllImport (dllName)] + private static extern void gvr_keyboard_show(IntPtr keyboard_context); + + // Updates the keyboard with the controller's button state. + [DllImport(dllName)] + private static extern void gvr_keyboard_update_button_state(IntPtr keyboard_context, int buttonIndex, bool pressed); + + // Updates the controller ray on the keyboard. + [DllImport(dllName)] + private static extern bool gvr_keyboard_update_controller_ray(IntPtr keyboard_context, IntPtr vector3Start, + IntPtr vector3End, IntPtr vector3Hit); + + // Updates the touch state of the controller. + [DllImport(dllName)] + private static extern void gvr_keyboard_update_controller_touch(IntPtr keyboard_context, bool touched, IntPtr vector2Pos); + + // Returns the EditText with for the keyboard. + [DllImport (dllName)] + private static extern IntPtr gvr_keyboard_get_text(IntPtr keyboard_context); + + // Sets the edit_text for the keyboard. + // @return 1 if the edit text could be set. 0 if it cannot be set. + [DllImport (dllName)] + private static extern int gvr_keyboard_set_text(IntPtr keyboard_context, IntPtr edit_text); + + // Hides the keyboard. + [DllImport (dllName)] + private static extern void gvr_keyboard_hide(IntPtr keyboard_context); + + // Destroys the keyboard. Resources related to the keyboard is released. + [DllImport (dllName)] + private static extern void gvr_keyboard_destroy(IntPtr keyboard_context); + + // Called once per frame to set the time index. + [DllImport(dllName)] + private static extern void GvrKeyboardSetFrameData(IntPtr keyboard_context, gvr_clock_time_point t); + + // Sets VR eye data in preparation for rendering a single eye's view. + [DllImport(dllName)] + private static extern void GvrKeyboardSetEyeData(int eye_type, Matrix4x4 modelview, Matrix4x4 projection, gvr_recti viewport); + + [DllImport(dllName)] + private static extern IntPtr GetKeyboardRenderEventFunc(); + + // Private class data. + private IntPtr keyboard_context = IntPtr.Zero; + + // Used in the GVR Unity C++ shim layer. + private const int advanceID = 0x5DAC793B; + private const int renderLeftID = 0x3CF97A3D; + private const int renderRightID = 0x3CF97A3E; + private const string KEYBOARD_JAVA_CLASS = "com.google.vr.keyboard.GvrKeyboardUnity"; + private const long kPredictionTimeWithoutVsyncNanos = 50000000; + private const int kGvrControllerButtonClick = 1; + + private GvrKeyboardInputMode mode = GvrKeyboardInputMode.DEFAULT; + private string editorText = string.Empty; + private Matrix4x4 worldMatrix; + private bool isValid = false; + private bool isReady = false; + + public string EditorText { + get { + IntPtr text = gvr_keyboard_get_text(keyboard_context); + editorText = Marshal.PtrToStringAnsi(text); + return editorText; + } + set { + editorText = value; + IntPtr text = Marshal.StringToHGlobalAnsi(editorText); + gvr_keyboard_set_text(keyboard_context, text); + } + } + + public void SetInputMode(GvrKeyboardInputMode mode) { + Debug.Log("Calling set input mode: " + mode); + gvr_keyboard_set_input_mode(keyboard_context, mode); + this.mode = mode; + } + + public void OnPause() { } + + public void OnResume() { } + + public void ReadState(KeyboardState outState) { + outState.editorText = editorText; + outState.mode = mode; + outState.worldMatrix = worldMatrix; + outState.isValid = isValid; + outState.isReady = isReady; + } + + // Initialization function. + public AndroidNativeKeyboardProvider() { +#if UNITY_ANDROID && !UNITY_EDITOR + // Running on Android device. + AndroidJavaObject activity = GvrActivityHelper.GetActivity(); + if (activity == null) { + Debug.Log("Failed to get activity for keyboard."); + return; + } + + AndroidJavaObject context = GvrActivityHelper.GetApplicationContext(activity); + if (context == null) { + Debug.Log("Failed to get context for keyboard."); + return; + } + + AndroidJavaObject plugin = new AndroidJavaObject(KEYBOARD_JAVA_CLASS); + if (plugin != null) { + plugin.Call("initializeKeyboard", context); + isValid = true; + } +#endif // UNITY_ANDROID && !UNITY_EDITOR + renderEventFunction = GetKeyboardRenderEventFunc(); + } + + ~AndroidNativeKeyboardProvider() { + if (keyboard_context != IntPtr.Zero) + gvr_keyboard_destroy(keyboard_context); + } + + public bool Create(GvrKeyboard.KeyboardCallback keyboardEvent) { + if (!IsVrInputMethodAppMinVersion(keyboardEvent)) { + return false; + } + keyboard_context = gvr_keyboard_create(IntPtr.Zero, keyboardEvent); + isReady = keyboard_context != IntPtr.Zero; + return isReady; + } + + public void Show(Matrix4x4 userMatrix, bool useRecommended, float distance, Matrix4x4 model) { +#if UNITY_ANDROID && !UNITY_EDITOR + currentDistance = distance; +#endif // UNITY_ANDROID && !UNITY_EDITOR + + if (useRecommended) { + worldMatrix = getRecommendedMatrix(distance); + } else { + // Convert to GVR coordinates. + worldMatrix = Pose3D.FlipHandedness(userMatrix).transpose; + } + Matrix4x4 matToSet = worldMatrix * model.transpose; + IntPtr mat_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(matToSet)); + Marshal.StructureToPtr(matToSet, mat_ptr, true); + gvr_keyboard_set_world_from_keyboard_matrix(keyboard_context, mat_ptr); + gvr_keyboard_show(keyboard_context); + Marshal.FreeHGlobal(mat_ptr); + } + + public void UpdateData() { +#if UNITY_ANDROID && !UNITY_EDITOR + // Running on Android device. + // Update controller state. + GvrBasePointer pointer = GvrPointerInputModule.Pointer; + bool isPointerAvailable = pointer != null && pointer.IsAvailable; + if (isPointerAvailable) { + GvrControllerInputDevice controllerInputDevice = pointer.ControllerInputDevice; + if (controllerInputDevice != null && controllerInputDevice.State == GvrConnectionState.Connected) { + bool pressed = controllerInputDevice.GetButton(GvrControllerButton.TouchPadButton); + gvr_keyboard_update_button_state(keyboard_context, kGvrControllerButtonClick, pressed); + + // Update touch state + Vector2 touch_pos = controllerInputDevice.TouchPos; + IntPtr touch_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(touch_pos)); + Marshal.StructureToPtr(touch_pos, touch_ptr, true); + bool isTouching = controllerInputDevice.GetButton(GvrControllerButton.TouchPadTouch); + gvr_keyboard_update_controller_touch(keyboard_context, isTouching, touch_ptr); + + GvrBasePointer.PointerRay pointerRay = pointer.GetRayForDistance(currentDistance); + + Vector3 startPoint = pointerRay.ray.origin; + // Need to flip Z for native library + startPoint.z *= -1; + IntPtr start_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(startPoint)); + Marshal.StructureToPtr(startPoint, start_ptr, true); + + Vector3 endPoint = pointerRay.ray.GetPoint(pointerRay.distance); + // Need to flip Z for native library + endPoint.z *= -1; + IntPtr end_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(endPoint)); + Marshal.StructureToPtr(endPoint, end_ptr, true); + + Vector3 hit = Vector3.one; + IntPtr hit_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(Vector3.zero)); + Marshal.StructureToPtr(Vector3.zero, hit_ptr, true); + + gvr_keyboard_update_controller_ray(keyboard_context, start_ptr, end_ptr, hit_ptr); + hit = (Vector3)Marshal.PtrToStructure(hit_ptr, typeof(Vector3)); + hit.z *= -1; + + Marshal.FreeHGlobal(touch_ptr); + Marshal.FreeHGlobal(hit_ptr); + Marshal.FreeHGlobal(end_ptr); + Marshal.FreeHGlobal(start_ptr); + } + } +#endif // UNITY_ANDROID && !UNITY_EDITOR + + // Get time stamp. + gvr_clock_time_point time = gvr_get_time_point_now(); + time.monotonic_system_time_nanos += kPredictionTimeWithoutVsyncNanos; + + // Update frame data. + GvrKeyboardSetFrameData(keyboard_context, time); + GL.IssuePluginEvent(renderEventFunction, advanceID); + } + + public void Render(int eye, Matrix4x4 modelview, Matrix4x4 projection, Rect viewport) { + gvr_recti rect = new gvr_recti(); + rect.left = (int)viewport.x; + rect.top = (int)viewport.y + (int)viewport.height; + rect.right = (int)viewport.x + (int)viewport.width; + rect.bottom = (int)viewport.y; + + // For the modelview matrix, we need to convert it to a world-to-camera + // matrix for GVR keyboard, hence the inverse. We need to convert left + // handed to right handed, hence the multiply by flipZ. + // Unity projection matrices are already in a form GVR needs. + // Unity stores matrices row-major, so both get a final transpose to get + // them column-major for GVR. + GvrKeyboardSetEyeData(eye, + (Pose3D.FLIP_Z * modelview.inverse).transpose.inverse, + projection.transpose, + rect); + GL.IssuePluginEvent(renderEventFunction, eye == 0 ? renderLeftID : renderRightID); + } + + public void Hide() { + gvr_keyboard_hide(keyboard_context); + } + + // Return the recommended keyboard local to world space + // matrix given a distance value by the user. This value should + // be between 1 and 5 and will get clamped to that range. + private Matrix4x4 getRecommendedMatrix(float inputDistance) { + float distance = Mathf.Clamp(inputDistance, 1.0f, 5.0f); + Matrix4x4 result = new Matrix4x4(); + + IntPtr mat_ptr = Marshal.AllocHGlobal(Marshal.SizeOf (result)); + Marshal.StructureToPtr(result, mat_ptr, true); + gvr_keyboard_get_recommended_world_from_keyboard_matrix(distance, mat_ptr); + + result = (Matrix4x4) Marshal.PtrToStructure(mat_ptr, typeof(Matrix4x4)); + Marshal.FreeHGlobal(mat_ptr); + + return result; + } + + // Returns true if the VrInputMethod APK is at least as high as MIN_VERSION_VRINPUTMETHOD. + private bool IsVrInputMethodAppMinVersion(GvrKeyboard.KeyboardCallback keyboardEvent) { +#if UNITY_ANDROID && !UNITY_EDITOR + // Running on Android device. + AndroidJavaObject activity = GvrActivityHelper.GetActivity(); + if (activity == null) { + Debug.Log("Failed to get activity for keyboard."); + return false; + } + AndroidJavaObject packageManager = activity.Call(METHOD_NAME_GET_PACKAGE_MANAGER); + if (packageManager == null) { + Debug.Log("Failed to get activity package manager"); + return false; + } + + AndroidJavaObject info = packageManager.Call(METHOD_NAME_GET_PACKAGE_INFO, PACKAGE_NAME_VRINPUTMETHOD, 0); + if (info == null) { + Debug.Log("Failed to get package info for com.google.android.apps.vr.inputmethod"); + return false; + } + + int versionCode = info.Get(FIELD_NAME_VERSION_CODE); + if (versionCode < MIN_VERSION_VRINPUTMETHOD) { + keyboardEvent(IntPtr.Zero, GvrKeyboardEvent.GVR_KEYBOARD_ERROR_SDK_LOAD_FAILED); + return false; + } + return true; +#else + return true; +#endif // UNITY_ANDROID && !UNITY_EDITOR + } + } +} diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/AndroidNativeKeyboardProvider.cs.meta b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/AndroidNativeKeyboardProvider.cs.meta new file mode 100644 index 0000000..2553ee1 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/AndroidNativeKeyboardProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 494e0fcfce3cb4d1c973863b3ad4e5d0 +timeCreated: 1478821396 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/DummyKeyboardProvider.cs b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/DummyKeyboardProvider.cs new file mode 100644 index 0000000..f065096 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/DummyKeyboardProvider.cs @@ -0,0 +1,47 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +namespace Gvr.Internal { + class DummyKeyboardProvider : IKeyboardProvider { + + private KeyboardState dummyState = new KeyboardState(); + + internal DummyKeyboardProvider() { } + + public void ReadState(KeyboardState outState) { + outState.CopyFrom(dummyState); + } + + public void OnPause() { } + + public void OnResume() { } + + public void UpdateData() { } + + public void Render(int eye, Matrix4x4 modelview, Matrix4x4 projection, Rect viewport) { } + + public void Hide() { } + + public void Show(Matrix4x4 controllerMatrix, bool useRecommended, float distance, + Matrix4x4 model) { } + + public bool Create(GvrKeyboard.KeyboardCallback keyboardEvent) { return true; } + + public void SetInputMode(GvrKeyboardInputMode mode) { } + + public string EditorText { get; set; } + } +} diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/DummyKeyboardProvider.cs.meta b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/DummyKeyboardProvider.cs.meta new file mode 100644 index 0000000..344471e --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/DummyKeyboardProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b9fcd2a047ec9c440a2bfeace305c425 +timeCreated: 1491941207 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/EmulatorKeyboardProvider.cs b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/EmulatorKeyboardProvider.cs new file mode 100644 index 0000000..d67e467 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/EmulatorKeyboardProvider.cs @@ -0,0 +1,145 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + + +// This is a version of the keyboard that runs directly in the Unity Editor. +// It is meant to simply be a placeholder so developers can test their games +// without having to use actual devices. +using UnityEngine; +using System; + +/// @cond +namespace Gvr.Internal { + /// Keyboard subclass to run in the Unity editor + public class EmulatorKeyboardProvider : IKeyboardProvider { + + private GameObject stub; + private bool showing; + + GvrKeyboard.KeyboardCallback keyboardCallback; + + private string editorText = string.Empty; + private GvrKeyboardInputMode mode = GvrKeyboardInputMode.DEFAULT; + private Matrix4x4 worldMatrix; + private bool isValid = false; + + public string EditorText { + get { return editorText; } + set { editorText = value; } + } + + public void SetInputMode(GvrKeyboardInputMode mode) { + this.mode = mode; + } + + public EmulatorKeyboardProvider() { + Debug.Log("Creating stub keyboard"); + + // Set default data; + showing = false; + isValid = true; + } + + public void OnPause() { } + + public void OnResume() { } + + public void ReadState(KeyboardState outState) { + outState.mode = mode; + outState.editorText = editorText; + outState.worldMatrix = worldMatrix; + outState.isValid = isValid; + outState.isReady = true; + } + + public bool Create(GvrKeyboard.KeyboardCallback keyboardEvent) { + keyboardCallback = keyboardEvent; + + if (!isValid) { + keyboardCallback(IntPtr.Zero, GvrKeyboardEvent.GVR_KEYBOARD_ERROR_SERVICE_NOT_CONNECTED); + } + return true; + } + + public void Show(Matrix4x4 controllerMatrix, bool useRecommended, float distance, Matrix4x4 model) { + if (!showing && isValid) { + showing = true; + worldMatrix = controllerMatrix; + keyboardCallback(IntPtr.Zero, GvrKeyboardEvent.GVR_KEYBOARD_SHOWN); + } + } + + public void UpdateData() { + // Can skip if keyboard not available + if (!showing) + { + return; + } + + if (Input.GetKeyDown(KeyCode.KeypadEnter)) + { + keyboardCallback(IntPtr.Zero, GvrKeyboardEvent.GVR_KEYBOARD_TEXT_COMMITTED); + return; + } + + if (Input.GetKeyDown(KeyCode.Backspace)) + { + if (editorText.Length > 0) + { + editorText = editorText.Substring(0, editorText.Length - 1); + SendUpdateNotification(); + } + return; + } + + if (Input.inputString.Length <= 0) + { + return; + } + + switch (mode) + { + case GvrKeyboardInputMode.DEFAULT: + editorText += Input.inputString; + break; + case GvrKeyboardInputMode.NUMERIC: + foreach (char n in Input.inputString) + { + if (n >= '0' && n <= '9') + { + editorText += n; + } + } + break; + default: + break; + } + + SendUpdateNotification(); + } + + public void Render(int eye, Matrix4x4 modelview, Matrix4x4 projection, Rect viewport) {} + + public void Hide() { + if (showing) { + showing = false; + keyboardCallback(IntPtr.Zero, GvrKeyboardEvent.GVR_KEYBOARD_HIDDEN); + } + } + + private void SendUpdateNotification() { + keyboardCallback(IntPtr.Zero, GvrKeyboardEvent.GVR_KEYBOARD_TEXT_UPDATED); + } + } +} diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/EmulatorKeyboardProvider.cs.meta b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/EmulatorKeyboardProvider.cs.meta new file mode 100644 index 0000000..70c8e10 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardProviders/EmulatorKeyboardProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f73feeef531a54f2a8cf5b05a8c06e58 +timeCreated: 1478821396 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardState.cs b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardState.cs new file mode 100644 index 0000000..7e1bb10 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardState.cs @@ -0,0 +1,32 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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 KeyboardState { + + internal string editorText = string.Empty; + internal GvrKeyboardInputMode mode = GvrKeyboardInputMode.DEFAULT; + internal bool isValid = false; + internal bool isReady = false; + internal Matrix4x4 worldMatrix; + + public void CopyFrom(KeyboardState other) { + editorText = other.editorText; + mode = other.mode; + isValid = other.isValid; + isReady = other.isReady; + worldMatrix = other.worldMatrix; + } +} diff --git a/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardState.cs.meta b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardState.cs.meta new file mode 100644 index 0000000..97b7ff4 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Keyboard/Internal/KeyboardState.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5baa0455970b442238015283920cc587 +timeCreated: 1479086112 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Permissions.meta b/Assets/GoogleVR/Scripts/Permissions.meta new file mode 100644 index 0000000..b2c4e78 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Permissions.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b0491620dbf7b354a8df803d26cfe878 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Permissions/GvrPermissionsRequester.cs b/Assets/GoogleVR/Scripts/Permissions/GvrPermissionsRequester.cs new file mode 100644 index 0000000..5bff1fd --- /dev/null +++ b/Assets/GoogleVR/Scripts/Permissions/GvrPermissionsRequester.cs @@ -0,0 +1,174 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0(the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. +#if UNITY_ANDROID || UNITY_EDITOR +using UnityEngine; +using System; +using System.Collections.Generic; + +// Requests dangerous permissions at runtime +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrPermissionsRequester")] +public class GvrPermissionsRequester { + + // Permissions are requested via an Android Activity Fragment java object. + private AndroidJavaObject permissionsFragment = null; + + // Constants used via JNI to access the permissions fragment. + private const string FRAGMENT_CLASSNAME = + "com.google.gvr.permissionsupport.PermissionsFragment"; + private const string CALLBACK_CLASSNAME = FRAGMENT_CLASSNAME + + "$PermissionsCallback"; + + // Singleton instance. + private static GvrPermissionsRequester theInstance; + + /// The singleton instance of the PermissionsRequester class, + /// lazily instanciated. + public static GvrPermissionsRequester Instance { + get { + if (theInstance == null) { + theInstance = new GvrPermissionsRequester(); + if (!theInstance.InitializeFragment()) { + Debug.LogError("Cannot initialize fragment!"); + theInstance = null; + } + } + return theInstance; + } + } + + /// + /// Initializes the fragment via JNI. + /// + /// True if fragment was initialized. + protected bool InitializeFragment() { +#if !UNITY_ANDROID || UNITY_EDITOR + Debug.LogWarning("GvrPermissionsRequester requires the Android runtime environment"); + return false; +#else + AndroidJavaClass ajc = new AndroidJavaClass(FRAGMENT_CLASSNAME); + + if (ajc != null) { + // Get the PermissionsRequesterFragment object + permissionsFragment = ajc.CallStatic("getInstance", + GvrActivityHelper.GetActivity()); + } + + return permissionsFragment != null && + permissionsFragment.GetRawObject() != IntPtr.Zero; +#endif // !UNITY_ANDROID || UNITY_EDITOR + } + + public bool IsPermissionGranted(string permission) { + return permissionsFragment.Call("hasPermission", permission); + } + + public bool[] HasPermissionsGranted(string[] permissions) { + Debug.Log("Calling HasPermissionsGranted: " + permissions); + + object[] args = { permissions }; + AndroidJavaObject resultArr = + permissionsFragment.Call("hasPermissions", args); + + if (resultArr.GetRawObject() != IntPtr.Zero) { + return AndroidJNIHelper.ConvertFromJNIArray( + resultArr.GetRawObject()); + } else { + return new bool[0]; + } + + } + + public bool ShouldShowRational(string permission) { + Debug.Log("GvrPermissionsRequester.ShouldShowRational()"); + return permissionsFragment.Call("shouldShowRational", permission); + } + + public void RequestPermissions(string[] permissionArray, + Action callback) { + + PermissionsCallback cb = new PermissionsCallback(permissionArray, callback); + permissionsFragment.Call("requestPermission", permissionArray, cb); + Debug.Log("Calling requestPermission"); + } + + public class PermissionStatus + { + public PermissionStatus(string name, bool granted) { + Name = name; + Granted = granted; + } + public string Name + { + get; + set; + } + + public bool Granted + { + get; + set; + } + } + + /// + /// Permissions callback implementation. + /// + /// Instances of this class are passed to the java fragment and then + /// invoked once the request process is completed by the user. + /// + class PermissionsCallback : AndroidJavaProxy + { + + // permissions being requested. + private string[] permissionNames; + private Action callback; + internal PermissionsCallback(string[] requestedPermissions, + Action callback) : + base(CALLBACK_CLASSNAME) { + permissionNames = requestedPermissions; + this.callback = callback; + } + + /// + /// Called when then permission request flow is completed. + /// + /// + /// True if all permissions granted. + void onRequestPermissionResult(bool allPermissionsGranted) { + List permissionStatusList = + new List(); + if (allPermissionsGranted) { + Debug.Log("onRequestPermissionResult(): all permissions granted"); + foreach (string p in permissionNames) { + permissionStatusList.Add(new PermissionStatus(p, true)); + } + } + else { + Debug.Log("onRequestPermissionResult(): some permissions denied"); + + bool[] grantResults = Instance.HasPermissionsGranted(permissionNames); + Debug.Log("onRequestPermissionResult(): checking " + grantResults); + int size = grantResults.Length; + for (int i = 0; i < size; i++) { + // get the grant result + string name = permissionNames[i]; + bool grantResult = grantResults[i]; + permissionStatusList.Add(new PermissionStatus(name, grantResult)); + } + } + callback(permissionStatusList.ToArray()); + } + } +} +#endif // UNITY_ANDROID diff --git a/Assets/GoogleVR/Scripts/Permissions/GvrPermissionsRequester.cs.meta b/Assets/GoogleVR/Scripts/Permissions/GvrPermissionsRequester.cs.meta new file mode 100644 index 0000000..6e0865d --- /dev/null +++ b/Assets/GoogleVR/Scripts/Permissions/GvrPermissionsRequester.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b0dc366f6bd074945a86579cd29111b7 +timeCreated: 1477353933 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Pose3D.cs b/Assets/GoogleVR/Scripts/Pose3D.cs new file mode 100644 index 0000000..9a5005c --- /dev/null +++ b/Assets/GoogleVR/Scripts/Pose3D.cs @@ -0,0 +1,94 @@ +// Copyright 2014 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +/// @cond +/// Encapsulates a rotation and a translation. This is a convenience class that allows +/// construction and value access either by Matrix4x4 or Quaternion + Vector3 types. +public class Pose3D { + /// Right-handed to left-handed matrix converter (and vice versa). + public static readonly Matrix4x4 FLIP_Z = Matrix4x4.Scale(new Vector3(1, 1, -1)); + + /// Flip the handedness of a matrix. + static public Matrix4x4 FlipHandedness(Matrix4x4 matrix) { + return FLIP_Z * matrix * FLIP_Z; + } + + /// The translation component of the pose. + public Vector3 Position { get; protected set; } + + /// The rotation component of the pose. + public Quaternion Orientation { get; protected set; } + + /// The pose as a matrix in Unity gameobject convention (left-handed). + public Matrix4x4 Matrix { get; protected set; } + + /// The pose as a matrix in right-handed coordinates. + public Matrix4x4 RightHandedMatrix { + get { + return FlipHandedness(Matrix); + } + } + + /// Default constructor. + /// Initializes position to the origin and orientation to the identity rotation. + public Pose3D() { + Position = Vector3.zero; + Orientation = Quaternion.identity; + Matrix = Matrix4x4.identity; + } + + /// Constructor that takes a Vector3 and a Quaternion. + public Pose3D(Vector3 position, Quaternion orientation) { + Set(position, orientation); + } + + /// Constructor that takes a Matrix4x4. + public Pose3D(Matrix4x4 matrix) { + Set(matrix); + } + + protected void Set(Vector3 position, Quaternion orientation) { + Position = position; + Orientation = orientation; + Matrix = Matrix4x4.TRS(position, orientation, Vector3.one); + } + + protected void Set(Matrix4x4 matrix) { + Matrix = matrix; + Position = matrix.GetColumn(3); + Orientation = Quaternion.LookRotation(matrix.GetColumn(2), matrix.GetColumn(1)); + } +} +/// @endcond + +/// @cond +/// Mutable version of Pose3D. +public class MutablePose3D : Pose3D { + /// Sets the position and orientation from a Vector3 + Quaternion. + public new void Set(Vector3 position, Quaternion orientation) { + base.Set(position, orientation); + } + + /// Sets the position and orientation from a Matrix4x4. + public new void Set(Matrix4x4 matrix) { + base.Set(matrix); + } + + /// Sets the position and orientation from a right-handed Matrix4x4. + public void SetRightHanded(Matrix4x4 matrix) { + Set(FlipHandedness(matrix)); + } +} +/// @endcond diff --git a/Assets/GoogleVR/Scripts/Pose3D.cs.meta b/Assets/GoogleVR/Scripts/Pose3D.cs.meta new file mode 100644 index 0000000..673b8ee --- /dev/null +++ b/Assets/GoogleVR/Scripts/Pose3D.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d6dc4d56dabb6444a8fda878f2e8acc1 +timeCreated: 1428963852 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/PropertyDrawers.meta b/Assets/GoogleVR/Scripts/PropertyDrawers.meta new file mode 100644 index 0000000..ea9836e --- /dev/null +++ b/Assets/GoogleVR/Scripts/PropertyDrawers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fc8ce93db400e734c8c6c1c363dc6af2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/PropertyDrawers/GvrInfoDrawer.cs b/Assets/GoogleVR/Scripts/PropertyDrawers/GvrInfoDrawer.cs new file mode 100644 index 0000000..09d98e9 --- /dev/null +++ b/Assets/GoogleVR/Scripts/PropertyDrawers/GvrInfoDrawer.cs @@ -0,0 +1,71 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System.Collections; +using System; + +#if UNITY_EDITOR +using UnityEditor; +#endif // UNITY_EDITOR + +/// Use to display an Info box in the inspector for a Monobehaviour or ScriptableObject. +[AttributeUsage(AttributeTargets.Field, AllowMultiple = true, Inherited = true)] +public class GvrInfo : PropertyAttribute { + public string text; + public int numLines; + + public GvrInfo(string text, int numLines) { + this.text = text; + this.numLines = numLines; + } +} + +#if UNITY_EDITOR +[CustomPropertyDrawer(typeof(GvrInfo))] +public class GvrInfoDrawer : DecoratorDrawer { + GvrInfo info { + get { return ((GvrInfo)attribute); } + } + + public override float GetHeight() { + return GetHeightForLines(info.numLines); + } + + public override void OnGUI(Rect position) { + Draw(position, info.text); + } + + public static float GetHeightForLines(int numLines) { + return EditorGUIUtility.singleLineHeight * numLines; + } + + public static void Draw(Rect position, string text) { + position.height -= EditorGUIUtility.standardVerticalSpacing; + + int oldFontSize = EditorStyles.helpBox.fontSize; + EditorStyles.helpBox.fontSize = 11; + FontStyle oldFontStyle = EditorStyles.helpBox.fontStyle; + EditorStyles.helpBox.fontStyle = FontStyle.Bold; + bool oldWordWrap = EditorStyles.helpBox.wordWrap; + EditorStyles.helpBox.wordWrap = false; + + EditorGUI.HelpBox(position, text, MessageType.Info); + + EditorStyles.helpBox.fontSize = oldFontSize; + EditorStyles.helpBox.fontStyle = oldFontStyle; + EditorStyles.helpBox.wordWrap = oldWordWrap; + } +} +#endif // UNITY_EDITOR \ No newline at end of file diff --git a/Assets/GoogleVR/Scripts/PropertyDrawers/GvrInfoDrawer.cs.meta b/Assets/GoogleVR/Scripts/PropertyDrawers/GvrInfoDrawer.cs.meta new file mode 100644 index 0000000..98238d0 --- /dev/null +++ b/Assets/GoogleVR/Scripts/PropertyDrawers/GvrInfoDrawer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c173d28b2a4224c52a4c8ea503f4e2b9 +timeCreated: 1496357031 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/UI.meta b/Assets/GoogleVR/Scripts/UI.meta new file mode 100644 index 0000000..bf1ffae --- /dev/null +++ b/Assets/GoogleVR/Scripts/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9f63b933895932440b5627284f93d22d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/UI/GvrDropdown.cs b/Assets/GoogleVR/Scripts/UI/GvrDropdown.cs new file mode 100644 index 0000000..7c55c17 --- /dev/null +++ b/Assets/GoogleVR/Scripts/UI/GvrDropdown.cs @@ -0,0 +1,102 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.UI; +using UnityEngine.EventSystems; +using System.Collections; + +/// Dropdown UI component that works with the GvrRaycasters. +/// This is a workaround for the fact that the Dropdown component doesn't work with custom raycasters +/// because it internally adds two GraphicRaycasters. +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrDropdown")] +public class GvrDropdown : Dropdown { + private GameObject currentBlocker; + + public override void OnPointerClick(PointerEventData eventData) { + base.OnPointerClick(eventData); + FixTemplateAndBlockerRaycasters(); + } + + public override void OnSubmit(BaseEventData eventData) { + base.OnSubmit(eventData); + FixTemplateAndBlockerRaycasters(); + } + + private void FixTemplateAndBlockerRaycasters() { + if (template != null) { + FixRaycaster(template.gameObject, false); + } + FixRaycaster(currentBlocker, true); + } + + protected override GameObject CreateBlocker(Canvas rootCanvas) { + currentBlocker = base.CreateBlocker(rootCanvas); + return currentBlocker; + } + + protected override GameObject CreateDropdownList(GameObject template) { + GameObject dropdown = base.CreateDropdownList(template); + FixRaycaster(dropdown, false); + return dropdown; + } + + private void FixRaycaster(GameObject go, bool shouldCopyProperties) { + if (go == null) { + return; + } + + GraphicRaycaster oldRaycaster = go.GetComponent(); + Destroy(oldRaycaster); + + bool addedRaycaster; + GvrPointerGraphicRaycaster raycaster; + raycaster = GetOrAddComponent(go, out addedRaycaster); + + if (shouldCopyProperties) { + GvrPointerGraphicRaycaster templateRaycaster = GetTemplateRaycaster(); + if (addedRaycaster && templateRaycaster != null) { + CopyRaycasterProperties(templateRaycaster, raycaster); + } + } + } + + private GvrPointerGraphicRaycaster GetTemplateRaycaster() { + if (template == null) { + return null; + } + + return template.GetComponent(); + } + + private void CopyRaycasterProperties(GvrPointerGraphicRaycaster source, GvrPointerGraphicRaycaster dest) { + if (source == null || dest == null) { + return; + } + + dest.blockingMask = source.blockingMask; + dest.blockingObjects = source.blockingObjects; + dest.ignoreReversedGraphics = source.ignoreReversedGraphics; + } + + private static T GetOrAddComponent(GameObject go, out bool addedComponent) where T : Component { + T comp = go.GetComponent(); + addedComponent = false; + if (!comp) { + comp = go.AddComponent(); + addedComponent = true; + } + return comp; + } +} diff --git a/Assets/GoogleVR/Scripts/UI/GvrDropdown.cs.meta b/Assets/GoogleVR/Scripts/UI/GvrDropdown.cs.meta new file mode 100644 index 0000000..61ad389 --- /dev/null +++ b/Assets/GoogleVR/Scripts/UI/GvrDropdown.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fbdf93500b5014ec9872a59cb683089a +timeCreated: 1484681912 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Utilities.meta b/Assets/GoogleVR/Scripts/Utilities.meta new file mode 100644 index 0000000..39954d6 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5f0b356def7d58346b16ed6d6f23ab3b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrActivityHelper.cs b/Assets/GoogleVR/Scripts/Utilities/GvrActivityHelper.cs new file mode 100644 index 0000000..4bfb984 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrActivityHelper.cs @@ -0,0 +1,54 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +// Simple static class to abstract out several jni calls that need to be shared +// between different classes. +public static class GvrActivityHelper { +#if UNITY_IOS + public const string GVR_DLL_NAME = "__Internal"; +#else + public const string GVR_DLL_NAME = "gvr"; +#endif // UNITY_IOS + public const string PACKAGE_UNITY_PLAYER = "com.unity3d.player.UnityPlayer"; + +#if UNITY_ANDROID && !UNITY_EDITOR + /// Returns the Android Activity used by the Unity device player. The caller is + /// responsible for memory-managing the returned AndroidJavaObject. + public static AndroidJavaObject GetActivity() { + AndroidJavaClass jc = new AndroidJavaClass(PACKAGE_UNITY_PLAYER); + if (jc == null) { + Debug.LogErrorFormat("Failed to get class {0}", PACKAGE_UNITY_PLAYER); + return null; + } + AndroidJavaObject activity = jc.GetStatic("currentActivity"); + if (activity == null) { + Debug.LogError("Failed to obtain current Android activity."); + return null; + } + return activity; + } + + /// Returns the application context of the current Android Activity. + public static AndroidJavaObject GetApplicationContext(AndroidJavaObject activity) { + AndroidJavaObject context = activity.Call("getApplicationContext"); + if (context == null) { + Debug.LogError("Failed to get application context from Activity."); + return null; + } + return context; + } +#endif // UNITY_ANDROID && !UNITY_EDITOR +} diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrActivityHelper.cs.meta b/Assets/GoogleVR/Scripts/Utilities/GvrActivityHelper.cs.meta new file mode 100644 index 0000000..9c845a4 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrActivityHelper.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a89c2f792b6ed4b3c8e3d82ed9b3c4cc +timeCreated: 1478903803 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrCursorHelper.cs b/Assets/GoogleVR/Scripts/Utilities/GvrCursorHelper.cs new file mode 100644 index 0000000..99a402d --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrCursorHelper.cs @@ -0,0 +1,48 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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 UnityEngine; + +namespace Gvr.Internal { + /// Manages cursor lock state while developer is using editor head and controller emulation. + public class GvrCursorHelper { + + // Whether MouseControllerProvider is currently tracking mouse movement. + private static bool cachedHeadEmulationActive; + + // Whether GvrEditorEmulator is currently tracking mouse movement. + private static bool cachedControllerEmulationActive; + + public static bool HeadEmulationActive { + set { + cachedHeadEmulationActive = value; + UpdateCursorLockState(); + } + } + + public static bool ControllerEmulationActive { + set { + cachedControllerEmulationActive = value; + UpdateCursorLockState(); + } + } + + private static void UpdateCursorLockState() { + bool active = cachedHeadEmulationActive || cachedControllerEmulationActive; + Cursor.lockState = active ? CursorLockMode.Locked : CursorLockMode.None; + } + + } +} \ No newline at end of file diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrCursorHelper.cs.meta b/Assets/GoogleVR/Scripts/Utilities/GvrCursorHelper.cs.meta new file mode 100644 index 0000000..361ab84 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrCursorHelper.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b6ecee1e7b5ef4412ba89d59a49afd69 +timeCreated: 1506962278 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrDaydreamApi.cs b/Assets/GoogleVR/Scripts/Utilities/GvrDaydreamApi.cs new file mode 100644 index 0000000..3bb7cac --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrDaydreamApi.cs @@ -0,0 +1,144 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using System; +using System.Runtime.InteropServices; + +/// Main entry point Daydream specific APIs. +/// +/// This class automatically instantiates an instance when this API is used for the first time. +/// For explicit control over when the instance is created and the Java references are setup +/// call the provided CreateAsync method, for example when no UI is being displayed to the user. +public class GvrDaydreamApi : IDisposable { + private const string METHOD_CREATE = "create"; + private const string METHOD_LAUNCH_VR_HOMESCREEN = "launchVrHomescreen"; + private const string METHOD_RUN_ON_UI_THREAD = "runOnUiThread"; + private const string PACKAGE_DAYDREAM_API = "com.google.vr.ndk.base.DaydreamApi"; + + private static GvrDaydreamApi m_instance; + +#if UNITY_ANDROID && !UNITY_EDITOR + private AndroidJavaObject m_daydreamApiObject; + private AndroidJavaClass m_daydreamApiClass = new AndroidJavaClass(PACKAGE_DAYDREAM_API); + + public static AndroidJavaObject JavaInstance { + get { + EnsureCreated(null); + return m_instance.m_daydreamApiObject; + } + } +#endif // UNITY_ANDROID && !UNITY_EDITOR + + public static bool IsCreated { + get { +#if !UNITY_ANDROID || UNITY_EDITOR + return (m_instance != null); +#else + return (m_instance != null) && (m_instance.m_daydreamApiObject != null); +#endif // !UNITY_ANDROID || UNITY_EDITOR + } + } + + private static void EnsureCreated(Action callback) { + if (!IsCreated) { + CreateAsync(callback); + } else { + callback(true); + } + } + + /// @cond + /// Call Dispose to free up memory used by this API. + public void Dispose() { + m_instance = null; + } + /// @endcond + + [System.Obsolete("Create() without arguments is deprecated. Use CreateAsync(callback) instead.")] + public static void Create() { + CreateAsync(null); + } + + /// Asynchronously instantiates a GvrDayreamApi. + /// + /// The provided callback will be called with a bool argument indicating + /// whether instance creation was successful. + public static void CreateAsync(Action callback) { + if (m_instance == null) { + m_instance = new GvrDaydreamApi(); + } +#if UNITY_ANDROID && !UNITY_EDITOR + if (m_instance.m_daydreamApiObject != null) { + return; + } + + if (m_instance.m_daydreamApiClass == null) { + Debug.LogErrorFormat("Failed to get DaydreamApi class, {0}", PACKAGE_DAYDREAM_API); + return; + } + + AndroidJavaObject activity = GvrActivityHelper.GetActivity(); + if (activity == null) { + Debug.LogError("DaydreamApi.Create failed to get acitivty"); + return; + } + + AndroidJavaObject context = GvrActivityHelper.GetApplicationContext(activity); + if (context == null) { + Debug.LogError("DaydreamApi.Create failed to get application context from activity"); + return; + } + + activity.Call(METHOD_RUN_ON_UI_THREAD, new AndroidJavaRunnable(() => { + m_instance.m_daydreamApiObject = + m_instance.m_daydreamApiClass.CallStatic(METHOD_CREATE, context); + bool success = m_instance.m_daydreamApiObject != null; + if (!success) { + Debug.LogErrorFormat("DaydreamApi.Create call to {0} failed to instantiate object", + METHOD_CREATE); + } + if (callback != null) { + callback(success); + } + }) + ); +#endif // UNITY_ANDROID && !UNITY_EDITOR + } + + [System.Obsolete("LaunchVrHome() deprecated. Use LaunchVrHomeAsync(callback) instead.")] + public static void LaunchVrHome() { + LaunchVrHomeAsync(null); + } + + /// Asynchronously launches VR Home. + /// Instantiates an instance of GvrDaydreamApi if necessary. If successful, + /// launches VR Home. + /// The provided callback will be called with a bool argument indicating + /// whether instance creation and launch of VR Home was successful. + public static void LaunchVrHomeAsync(Action callback) { + EnsureCreated((success) => { + if (success) { +#if UNITY_ANDROID && !UNITY_EDITOR + m_instance.m_daydreamApiObject.Call(METHOD_LAUNCH_VR_HOMESCREEN); +#else + Debug.LogWarning("Launching VR Home is only possible on Android devices."); +#endif // UNITY_ANDROID && !UNITY_EDITOR + } + if (callback != null) { + callback(success); + } + }); + } +} diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrDaydreamApi.cs.meta b/Assets/GoogleVR/Scripts/Utilities/GvrDaydreamApi.cs.meta new file mode 100644 index 0000000..c5cbded --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrDaydreamApi.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c4d57836d4e064f449f3e2f03330e9ce +timeCreated: 1490648002 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrIntent.cs b/Assets/GoogleVR/Scripts/Utilities/GvrIntent.cs new file mode 100644 index 0000000..82c4768 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrIntent.cs @@ -0,0 +1,85 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; + +/// +/// Provides information about the Android Intent that started the current Activity. +/// +public static class GvrIntent { + + private const string METHOD_GET_INTENT = "getIntent"; + private const string METHOD_HASH_CODE = "hashCode"; + private const string METHOD_INTENT_GET_DATA_STRING = "getDataString"; + private const string METHOD_INTENT_GET_BOOLEAN_EXTRA = "getBooleanExtra"; + + private const string EXTRA_VR_LAUNCH = "android.intent.extra.VR_LAUNCH"; + + // Returns the string representation of the data URI on which this activity's intent is + // operating. See Intent.getDataString() in the Android documentation. + public static string GetData() { +#if UNITY_EDITOR || !UNITY_ANDROID + return null; +#else + AndroidJavaObject androidIntent = GetIntent(); + if (androidIntent == null) { + Debug.Log("Intent on current activity was null"); + return null; + } + return androidIntent.Call(METHOD_INTENT_GET_DATA_STRING); +#endif // UNITY_EDITOR || !UNITY_ANDROID + } + + // Returns true if the intent category contains "android.intent.extra.VR_LAUNCH". + public static bool IsLaunchedFromVr() { +#if UNITY_EDITOR || !UNITY_ANDROID + return false; +#else + AndroidJavaObject androidIntent = GetIntent(); + if (androidIntent == null) { + Debug.Log("Intent on current activity was null"); + return false; + } + return androidIntent.Call(METHOD_INTENT_GET_BOOLEAN_EXTRA, EXTRA_VR_LAUNCH, false); +#endif // UNITY_EDITOR || !UNITY_ANDROID + } + + // Returns the hash code of the Java intent object. Useful for discerning whether + // you have a new intent on un-pause. + public static int GetIntentHashCode() { +#if UNITY_EDITOR || !UNITY_ANDROID + return 0; +#else + AndroidJavaObject androidIntent = GetIntent(); + if (androidIntent == null) { + Debug.Log("Intent on current activity was null"); + return 0; + } + return androidIntent.Call(METHOD_HASH_CODE); +#endif // UNITY_EDITOR || !UNITY_ANDROID + } + +#if !UNITY_EDITOR && UNITY_ANDROID + private static AndroidJavaObject GetIntent() { + AndroidJavaObject androidActivity = null; + try { + androidActivity = GvrActivityHelper.GetActivity(); + } catch (AndroidJavaException e) { + Debug.LogError("Exception while connecting to the Activity: " + e); + return null; + } + return androidActivity.Call(METHOD_GET_INTENT); + } +#endif // !UNITY_EDITOR && UNITY_ANDROID +} diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrIntent.cs.meta b/Assets/GoogleVR/Scripts/Utilities/GvrIntent.cs.meta new file mode 100644 index 0000000..e0b6313 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrIntent.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9961197a3979a4fa684159098ac5881f +timeCreated: 1473201821 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrMathHelpers.cs b/Assets/GoogleVR/Scripts/Utilities/GvrMathHelpers.cs new file mode 100644 index 0000000..d1efdfa --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrMathHelpers.cs @@ -0,0 +1,96 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.EventSystems; +using System.Collections; + +#if UNITY_2017_2_OR_NEWER +using UnityEngine.XR; +#else +using XRSettings = UnityEngine.VR.VRSettings; +#endif // UNITY_2017_2_OR_NEWER + +/// Helper functions to perform common math operations for Gvr. +public static class GvrMathHelpers { + public static Vector3 GetIntersectionPosition(Camera cam, RaycastResult raycastResult) { + // Check for camera + if (cam == null) { + return Vector3.zero; + } + + float intersectionDistance = raycastResult.distance + cam.nearClipPlane; + Vector3 intersectionPosition = cam.transform.position + cam.transform.forward * intersectionDistance; + return intersectionPosition; + } + + public static Vector2 NormalizedCartesianToSpherical(Vector3 cartCoords) { + cartCoords.Normalize(); + + if (cartCoords.x == 0) { + cartCoords.x = Mathf.Epsilon; + } + + float polar = Mathf.Atan(cartCoords.z / cartCoords.x); + + if (cartCoords.x < 0) { + polar += Mathf.PI; + } + + float elevation = Mathf.Asin(cartCoords.y); + return new Vector2(polar, elevation); + } + + public static float EaseOutCubic(float min, float max, float value) { + if (min > max) { + Debug.LogError("Invalid values passed to EaseOutCubic, max must be greater than min. " + + "min: " + min + ", max: " + max); + return value; + } + + value = Mathf.Clamp01(value); + value -= 1.0f; + float delta = max - min; + float result = delta * (value * value * value + 1.0f) + min; + return result; + } + + /// Converts a float array of length 16 into a column-major 4x4 matrix. + public static Matrix4x4 ConvertFloatArrayToMatrix(float[] floatArray) { + Matrix4x4 result = new Matrix4x4(); + + if (floatArray == null || floatArray.Length != 16) { + throw new System.ArgumentException("floatArray must not be null and have a length of 16."); + } + + result[0, 0] = floatArray[0]; + result[1, 0] = floatArray[1]; + result[2, 0] = floatArray[2]; + result[3, 0] = floatArray[3]; + result[0, 1] = floatArray[4]; + result[1, 1] = floatArray[5]; + result[2, 1] = floatArray[6]; + result[3, 1] = floatArray[7]; + result[0, 2] = floatArray[8]; + result[1, 2] = floatArray[9]; + result[2, 2] = floatArray[10]; + result[3, 2] = floatArray[11]; + result[0, 3] = floatArray[12]; + result[1, 3] = floatArray[13]; + result[2, 3] = floatArray[14]; + result[3, 3] = floatArray[15]; + + return result; + } +} diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrMathHelpers.cs.meta b/Assets/GoogleVR/Scripts/Utilities/GvrMathHelpers.cs.meta new file mode 100644 index 0000000..6f2726a --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrMathHelpers.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2057fd0fa21f34bc2ba2dd2a4a2a38b5 +timeCreated: 1493226132 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrUIHelpers.cs b/Assets/GoogleVR/Scripts/Utilities/GvrUIHelpers.cs new file mode 100644 index 0000000..e6bb92f --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrUIHelpers.cs @@ -0,0 +1,35 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.UI; +using System.Collections; + +public static class GvrUIHelpers { + /// Finds the meters scale for the local coordinate system + /// of the root canvas that contains the canvasObject passed in. + public static float GetMetersToCanvasScale(Transform canvasObject) { + Canvas canvas = canvasObject.GetComponentInParent(); + if (canvas == null) { + return 0.0f; + } + + if (!canvas.isRootCanvas) { + canvas = canvas.rootCanvas; + } + + float metersToCanvasScale = canvas.transform.localScale.x; + return metersToCanvasScale; + } +} diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrUIHelpers.cs.meta b/Assets/GoogleVR/Scripts/Utilities/GvrUIHelpers.cs.meta new file mode 100644 index 0000000..b0dd505 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrUIHelpers.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 00f93e3df109d4a69834d44deb072725 +timeCreated: 1483744183 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrVRHelpers.cs b/Assets/GoogleVR/Scripts/Utilities/GvrVRHelpers.cs new file mode 100644 index 0000000..a8fa0d5 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrVRHelpers.cs @@ -0,0 +1,115 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.EventSystems; +using System.Collections; +using Gvr.Internal; + +#if UNITY_2017_2_OR_NEWER +using UnityEngine.XR; +#else +using UnityEngine.VR; +using XRNode = UnityEngine.VR.VRNode; +using XRSettings = UnityEngine.VR.VRSettings; +#endif // UNITY_2017_2_OR_NEWER + +/// Helper functions common to GVR VR applications. +public static class GvrVRHelpers { + public static Vector2 GetViewportCenter() { + int viewportWidth = Screen.width; + int viewportHeight = Screen.height; + if (XRSettings.enabled) { + viewportWidth = XRSettings.eyeTextureWidth; + viewportHeight = XRSettings.eyeTextureHeight; + } + + return new Vector2(0.5f * viewportWidth, 0.5f * viewportHeight); + } + + public static Vector3 GetHeadForward() { + return GetHeadRotation() * Vector3.forward; + } + + public static Quaternion GetHeadRotation() { +#if UNITY_EDITOR + if (InstantPreview.Instance != null && InstantPreview.Instance.IsCurrentlyConnected) { + // In-editor; Instant Preview is active: + return Camera.main.transform.localRotation; + } else { + // In-editor; Instant Preview is not active: + if (GvrEditorEmulator.Instance == null) { + Debug.LogWarning("No GvrEditorEmulator instance was found in your scene. Please ensure that " + + "GvrEditorEmulator exists in your scene."); + return Quaternion.identity; + } + + return GvrEditorEmulator.Instance.HeadRotation; + } +#else + // Not running in editor: + return InputTracking.GetLocalRotation(XRNode.Head); +#endif // UNITY_EDITOR + } + + public static Vector3 GetHeadPosition() { +#if UNITY_EDITOR + if (GvrEditorEmulator.Instance == null) { + Debug.LogWarning("No GvrEditorEmulator instance was found in your scene. Please ensure that " + + "GvrEditorEmulator exists in your scene."); + return Vector3.zero; + } + + return GvrEditorEmulator.Instance.HeadPosition; +#else + return InputTracking.GetLocalPosition(XRNode.Head); +#endif // UNITY_EDITOR + } + + public static float GetRecommendedMaxLaserDistance(GvrBasePointer.RaycastMode mode) { + switch(mode) { + case GvrBasePointer.RaycastMode.Direct: + return 20.0f; + case GvrBasePointer.RaycastMode.Hybrid: + return 1.0f; + case GvrBasePointer.RaycastMode.Camera: + default: + return 0.75f; + } + } + + public static float GetRayIntersection(GvrBasePointer.RaycastMode mode) { + switch (mode) { + case GvrBasePointer.RaycastMode.Direct: + return 0.0f; + case GvrBasePointer.RaycastMode.Hybrid: + return 0.0f; + case GvrBasePointer.RaycastMode.Camera: + default: + return 2.5f; + } + } + + public static bool GetShrinkLaser(GvrBasePointer.RaycastMode mode) { + switch (mode) { + case GvrBasePointer.RaycastMode.Direct: + return false; + case GvrBasePointer.RaycastMode.Hybrid: + return true; + case GvrBasePointer.RaycastMode.Camera: + default: + return false; + } + } +} diff --git a/Assets/GoogleVR/Scripts/Utilities/GvrVRHelpers.cs.meta b/Assets/GoogleVR/Scripts/Utilities/GvrVRHelpers.cs.meta new file mode 100644 index 0000000..b2a2eb2 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Utilities/GvrVRHelpers.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d0dea43be37504c45ab74cf9fcfbf34a +timeCreated: 1493226132 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Video.meta b/Assets/GoogleVR/Scripts/Video.meta new file mode 100644 index 0000000..7bbc48a --- /dev/null +++ b/Assets/GoogleVR/Scripts/Video.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 47b177c0ce85c1746bb50e145f18389e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Scripts/Video/GvrVideoPlayerTexture.cs b/Assets/GoogleVR/Scripts/Video/GvrVideoPlayerTexture.cs new file mode 100644 index 0000000..2463532 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Video/GvrVideoPlayerTexture.cs @@ -0,0 +1,1017 @@ +// Copyright 2016 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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; +using UnityEngine.UI; +using System.Collections; +using System.Runtime.InteropServices; +using System; +using System.Collections.Generic; + +/// +/// Plays video using Exoplayer rendering it on the main texture. +/// +[HelpURL("https://developers.google.com/vr/unity/reference/class/GvrVideoPlayerTexture")] +public class GvrVideoPlayerTexture : MonoBehaviour { + + /// + /// The video player pointer used to uniquely identify the player instance. + /// + private IntPtr videoPlayerPtr; + + /// + /// The video player event base. + /// + /// This is added to the event id when issues events to + /// the plugin. + /// + private int videoPlayerEventBase; + + private Texture initialTexture; + private Texture surfaceTexture; + private float[] videoMatrixRaw; + private Matrix4x4 videoMatrix; + private int videoMatrixPropertyId; + private long lastVideoTimestamp; + + private bool initialized; + private int texWidth = 1024; + private int texHeight = 1024; + private long lastBufferedPosition; + private float framecount = 0; + + private Renderer screen; + + /// + /// The render event function. + /// + private IntPtr renderEventFunction; + + private bool playOnResume; + + /// List of callbacks to invoke when the video is ready. + private List> onEventCallbacks; + + /// List of callbacks to invoke on exception. + /// The first parameter is the type of exception, + /// the second is the message. + /// + private List> onExceptionCallbacks; + + private readonly static Queue ExecuteOnMainThread = new Queue(); + + // Attach a text component to get some debug status info. + public Text statusText; + + /// + /// Video type. + /// + public enum VideoType { + Dash = 0, + HLS = 2, + Other = 3 + }; + + public enum VideoResolution { + Lowest = 1, + _720 = 720, + _1080 = 1080, + _2048 = 2048, + Highest = 4096 + }; + + /// + /// Video player state. + /// + public enum VideoPlayerState { + Idle = 1, + Preparing = 2, + Buffering = 3, + Ready = 4, + Ended = 5 + }; + + public enum VideoEvents { + VideoReady = 1, + VideoStartPlayback = 2, + VideoFormatChanged = 3, + VideoSurfaceSet = 4, + VideoSizeChanged = 5 + }; + + public enum StereoMode { + NoValue = -1, + Mono = 0, + TopBottom = 1, + LeftRight = 2 + } + + /// + /// Plugin render commands. + /// + /// + /// These are added to the eventbase for the specific player object and + /// issued to the plugin. + /// + private enum RenderCommand { + None = -1, + InitializePlayer = 0, + UpdateVideo = 1, + RenderMono = 2, + RenderLeftEye = 3, + RenderRightEye = 4, + Shutdown = 5 + }; + + /// + /// The type of the video. + /// + public VideoType videoType; + public string videoURL; + public string videoContentID; + public string videoProviderId; + + public VideoResolution initialResolution = VideoResolution.Highest; + + /// + /// True for adjusting the aspect ratio of the renderer. + /// + public bool adjustAspectRatio; + + /// + /// The use secure path for DRM protected video. + /// + public bool useSecurePath; + + public bool VideoReady { + get { + return videoPlayerPtr != IntPtr.Zero && IsVideoReady(videoPlayerPtr); + } + } + + public long CurrentPosition { + get { + return videoPlayerPtr != IntPtr.Zero ? GetCurrentPosition(videoPlayerPtr) : 0; + } + set { + // If the position is being set to 0, reset the framecount as well. + // This allows the texture swapping to work correctly at the beginning + // of the stream. + if (value == 0) { + framecount = 0; + } + + SetCurrentPosition(videoPlayerPtr, value); + } + } + + public long VideoDuration { + get { + return videoPlayerPtr != IntPtr.Zero ? GetDuration(videoPlayerPtr) : 0; + } + } + + public long BufferedPosition { + get { + return videoPlayerPtr != IntPtr.Zero ? GetBufferedPosition(videoPlayerPtr) : 0; + } + } + + public int BufferedPercentage { + get { + return videoPlayerPtr != IntPtr.Zero ? GetBufferedPercentage(videoPlayerPtr) : 0; + } + } + + public bool IsPaused { + get { + return !initialized || videoPlayerPtr == IntPtr.Zero || IsVideoPaused(videoPlayerPtr); + } + } + + public VideoPlayerState PlayerState { + get { + return videoPlayerPtr != IntPtr.Zero ? (VideoPlayerState)GetPlayerState(videoPlayerPtr) : VideoPlayerState.Idle; + } + } + + public int MaxVolume { + get { + return videoPlayerPtr != IntPtr.Zero ? GetMaxVolume(videoPlayerPtr) : 0; + } + } + + public int CurrentVolume { + get { + return videoPlayerPtr != IntPtr.Zero ? GetCurrentVolume(videoPlayerPtr) : 0; + } + set { + SetCurrentVolume(value); + } + } + + public StereoMode CurrentStereoMode { + get { + return videoPlayerPtr != IntPtr.Zero ? (StereoMode)GetStereoMode(videoPlayerPtr) : StereoMode.NoValue; + } + } + + public bool HasProjection { + get { + return videoPlayerPtr != IntPtr.Zero ? HasProjectionData(videoPlayerPtr) : false; + } + } + + public Renderer Screen { + get { + return screen; + } + set { + if (screen == value) { + return; + } + + if (screen != null && initialTexture != null) { + screen.sharedMaterial.mainTexture = initialTexture; + } + + screen = value; + + if (screen != null) { + initialTexture = screen.sharedMaterial.mainTexture; + } + } + } + + public Texture CurrentFrameTexture { + get { + return surfaceTexture; + } + } + + public int Width { + get { + return texWidth; + } + } + + public int Height { + get { + return texHeight; + } + } + + public float AspectRatio { + get { + if (texHeight == 0) { + return 0.0f; + } + + return (float)texWidth / (float)texHeight; + } + } + + /// Create the video player instance and the event base id. + void Awake() { + videoMatrixRaw = new float[16]; + videoMatrixPropertyId = Shader.PropertyToID("video_matrix"); + + // Defaults the Screen to the Renderer component on the same object as this script. + // The Screen can also be set explicitly. + Screen = GetComponent(); + + CreatePlayer(); + } + + void CreatePlayer() { + videoPlayerPtr = CreateVideoPlayer(); + videoPlayerEventBase = GetVideoPlayerEventBase(videoPlayerPtr); + Debug.Log(" -- " + gameObject.name + " created with base " + + videoPlayerEventBase); + + SetOnVideoEventCallback((eventId) => { + Debug.Log("------------- E V E N T " + eventId + " -----------------"); + UpdateStatusText(); + }); + + SetOnExceptionCallback((type, msg) => { + Debug.LogError("Exception: " + type + ": " + msg); + }); + + initialized = false; + } + + void OnDisable() { + if (videoPlayerPtr != IntPtr.Zero) { + if (GetPlayerState(videoPlayerPtr) == (int)VideoPlayerState.Ready) { + PauseVideo(videoPlayerPtr); + } + } + } + + /// + /// Sets the display texture. + /// + /// Texture to display. + // If null, the initial texture of the renderer is used. + public void SetDisplayTexture(Texture texture) { + if (texture == null) { + texture = initialTexture; + } + + if (texture == null) { + return; + } + + if (screen != null) { + screen.sharedMaterial.mainTexture = texture; + } + } + + public void CleanupVideo() { + Debug.Log("Cleaning Up video!"); + if (videoPlayerPtr != IntPtr.Zero) { + DestroyVideoPlayer(videoPlayerPtr); + videoPlayerPtr = IntPtr.Zero; + } + if (surfaceTexture != null) { + Destroy(surfaceTexture); + surfaceTexture = null; + } + if (screen != null) { + screen.sharedMaterial.mainTexture = initialTexture; + } + } + + public void ReInitializeVideo() { + if (screen != null) { + screen.sharedMaterial.mainTexture = initialTexture; + } + + if (videoPlayerPtr == IntPtr.Zero) { + CreatePlayer(); + } + Init(); + } + + void OnDestroy() { + CleanupVideo(); + } + + void OnApplicationPause(bool bPause) { + if (videoPlayerPtr != IntPtr.Zero) { + if (bPause) { + playOnResume = !IsPaused; + PauseVideo(videoPlayerPtr); + } else { + if (playOnResume) { + PlayVideo(videoPlayerPtr); + } + } + } + } + + void UpdateMaterial() { + // Don't render if not initialized. + if (videoPlayerPtr == IntPtr.Zero) { + return; + } + + texWidth = GetWidth(videoPlayerPtr); + texHeight = GetHeight(videoPlayerPtr); + + int externalTextureId = GetExternalSurfaceTextureId(videoPlayerPtr); + if (surfaceTexture != null + && surfaceTexture.GetNativeTexturePtr().ToInt32() != externalTextureId) { + Destroy(surfaceTexture); + surfaceTexture = null; + } + if (surfaceTexture == null && externalTextureId != 0) { + Debug.Log("Creating external texture with surface texture id " + externalTextureId); + // Size of this texture doesn't really matter and can change on the fly anyway. + surfaceTexture = Texture2D.CreateExternalTexture(4, 4, TextureFormat.RGBA32, + false, false, new System.IntPtr(externalTextureId)); + } + if (surfaceTexture == null) { + return; + } + + // Don't swap the textures if the video ended. + if (PlayerState == VideoPlayerState.Ended) { + return; + } + + if (screen == null) { + Debug.LogError("GvrVideoPlayerTexture: No screen to display the video is set."); + return; + } + + if (screen != null) { + // Unity may build new a new material instance when assigning + // material.x which can lead to duplicating materials each frame + // whereas using the shared material will modify the original material. + // Update the material's texture if it is different. + if (screen.sharedMaterial.mainTexture == null || + screen.sharedMaterial.mainTexture.GetNativeTexturePtr() != surfaceTexture.GetNativeTexturePtr()) { + screen.sharedMaterial.mainTexture = surfaceTexture; + } + + screen.sharedMaterial.SetMatrix(videoMatrixPropertyId, videoMatrix); + } + } + + private void OnRestartVideoEvent(int eventId) { + if (eventId == (int)VideoEvents.VideoReady) { + Debug.Log("Restarting video complete."); + RemoveOnVideoEventCallback(OnRestartVideoEvent); + } + } + + /// + /// Resets the video player. + /// + public void RestartVideo() { + SetOnVideoEventCallback(OnRestartVideoEvent); + + string theUrl = ProcessURL(); + + InitVideoPlayer(videoPlayerPtr, (int) videoType, theUrl, + videoContentID, + videoProviderId, + useSecurePath, + true); + framecount = 0; + lastVideoTimestamp = -1; + } + + public void SetCurrentVolume(int val) { + SetCurrentVolume(videoPlayerPtr, val); + } + + /// + /// Initialize the video player. + /// + /// true if successful + public bool Init() { + if (initialized) { + Debug.Log("Skipping initialization: video player already loaded"); + return true; + } + + if (videoURL == null || videoURL.Length == 0) { + Debug.LogError("Cannot initialize with null videoURL"); + return false; + } + + videoURL = videoURL == null ? "" : videoURL.Trim(); + videoContentID = videoContentID == null ? "" : videoContentID.Trim(); + videoProviderId = videoProviderId == null ? "" : videoProviderId.Trim(); + + SetInitialResolution(videoPlayerPtr, (int) initialResolution); + + string theUrl = ProcessURL(); + Debug.Log("Playing " + videoType + " " + theUrl); + Debug.Log("videoContentID = " + videoContentID); + Debug.Log("videoProviderId = " + videoProviderId); + videoPlayerPtr = InitVideoPlayer(videoPlayerPtr, (int) videoType, theUrl, + videoContentID, videoProviderId, + useSecurePath, false); + IssuePlayerEvent(RenderCommand.InitializePlayer); + initialized = true; + framecount = 0; + lastVideoTimestamp = -1; + return videoPlayerPtr != IntPtr.Zero; + } + + public bool Play() { + if (!initialized) { + Init(); + } + if (videoPlayerPtr != IntPtr.Zero && IsVideoReady(videoPlayerPtr)) { + return PlayVideo(videoPlayerPtr) == 0; + } else { + Debug.LogError("Video player not ready to Play!"); + return false; + } + } + + public bool Pause() { + if (!initialized) { + Init(); + } + if (VideoReady) { + return PauseVideo(videoPlayerPtr) == 0; + } else { + Debug.LogError("Video player not ready to Pause!"); + return false; + } + } + + /// + /// Adjusts the aspect ratio. + /// + /// + /// This adjusts the transform scale to match the aspect + /// ratio of the texture. + /// + private void AdjustAspectRatio() { + float aspectRatio = AspectRatio; + if (aspectRatio == 0.0f) { + return; + } + + // set the y scale based on the x value + Vector3 newscale = transform.localScale; + newscale.y = Mathf.Min(newscale.y, newscale.x / aspectRatio); + + transform.localScale = newscale; + } + + private void UpdateStatusText() { + float fps = CurrentPosition > 0 ? + (framecount / (CurrentPosition / 1000f)) : CurrentPosition; + string status = texWidth + " x " + texHeight + " buffer: " + + (BufferedPosition / 1000) + " " + PlayerState + " fps: " + fps; + if (statusText != null) { + if (statusText.text != status) { + statusText.text = status; + } + } + } + + /// + /// Issues the player event. + /// + /// The event to send to the video player + /// instance. + /// + private void IssuePlayerEvent(RenderCommand evt) { + if (renderEventFunction == IntPtr.Zero) { + renderEventFunction = GetRenderEventFunc(); + } + + if (renderEventFunction == IntPtr.Zero || evt == RenderCommand.None) { + Debug.LogError("Attempt to IssuePlayerEvent before renderEventFunction ready."); + return; + } + + GL.IssuePluginEvent(renderEventFunction, videoPlayerEventBase + (int)evt); + } + + void Update() { + while (ExecuteOnMainThread.Count > 0) { + ExecuteOnMainThread.Dequeue().Invoke(); + } + + if (VideoReady) { + IssuePlayerEvent(RenderCommand.UpdateVideo); + GetVideoMatrix(videoPlayerPtr, videoMatrixRaw); + videoMatrix = GvrMathHelpers.ConvertFloatArrayToMatrix(videoMatrixRaw); + long vidTimestamp = GetVideoTimestampNs(videoPlayerPtr); + if (vidTimestamp != lastVideoTimestamp) { + framecount++; + } + lastVideoTimestamp = vidTimestamp; + + UpdateMaterial(); + + if (adjustAspectRatio) { + AdjustAspectRatio(); + } + + if ((int) framecount % 30 == 0) { + UpdateStatusText(); + } + + long bp = BufferedPosition; + if (bp != lastBufferedPosition) { + lastBufferedPosition = bp; + UpdateStatusText(); + } + } + } + + public void RemoveOnVideoEventCallback(Action callback) { + if (onEventCallbacks != null) { + onEventCallbacks.Remove(callback); + } + } + + public void SetOnVideoEventCallback(Action callback) { + if (onEventCallbacks == null) { + onEventCallbacks = new List>(); + } + onEventCallbacks.Add(callback); + SetOnVideoEventCallback(videoPlayerPtr, InternalOnVideoEventCallback, + ToIntPtr(this)); + } + + internal void FireVideoEvent(int eventId) { + if (onEventCallbacks == null) { + return; + } + + // Copy the collection so the callbacks can remove themselves from the list. + Action[] cblist = onEventCallbacks.ToArray(); + foreach (Action cb in cblist) { + try { + cb(eventId); + } catch (Exception e) { + Debug.LogError("exception calling callback: " + e); + } + } + } + + [AOT.MonoPInvokeCallback(typeof(OnVideoEventCallback))] + static void InternalOnVideoEventCallback(IntPtr cbdata, int eventId) { + if (cbdata == IntPtr.Zero) { + return; + } + + GvrVideoPlayerTexture player; + var gcHandle = GCHandle.FromIntPtr(cbdata); + try { + player = (GvrVideoPlayerTexture) gcHandle.Target; + } + catch (InvalidCastException e) { + Debug.LogError("GC Handle pointed to unexpected type: " + + gcHandle.Target + ". Expected " + + typeof(GvrVideoPlayerTexture)); + throw e; + } + + if (player != null) { + ExecuteOnMainThread.Enqueue(() => player.FireVideoEvent(eventId)); + } + } + + public void SetOnExceptionCallback(Action callback) { + if (onExceptionCallbacks == null) { + onExceptionCallbacks = new List>(); + SetOnExceptionCallback(videoPlayerPtr, InternalOnExceptionCallback, + ToIntPtr(this)); + } + onExceptionCallbacks.Add(callback); + } + + + [AOT.MonoPInvokeCallback(typeof(OnExceptionCallback))] + static void InternalOnExceptionCallback(string type, string msg, + IntPtr cbdata) { + if (cbdata == IntPtr.Zero) { + return; + } + + GvrVideoPlayerTexture player; + var gcHandle = GCHandle.FromIntPtr(cbdata); + try { + player = (GvrVideoPlayerTexture) gcHandle.Target; + } + catch (InvalidCastException e) { + Debug.LogError("GC Handle pointed to unexpected type: " + + gcHandle.Target + ". Expected " + + typeof(GvrVideoPlayerTexture)); + throw e; + } + + if (player != null) { + ExecuteOnMainThread.Enqueue(() => player.FireOnException(type, msg)); + } + } + + internal void FireOnException(string type, string msg) { + if (onExceptionCallbacks == null) { + return; + } + + foreach (Action cb in onExceptionCallbacks) { + try { + cb(type, msg); + } catch (Exception e) { + Debug.LogError("exception calling callback: " + e); + } + } + } + + internal static IntPtr ToIntPtr(System.Object obj) { + GCHandle handle = GCHandle.Alloc(obj); + return GCHandle.ToIntPtr(handle); + } + + internal string ProcessURL() { + return videoURL.Replace("${Application.dataPath}", Application.dataPath); + } + + internal delegate void OnVideoEventCallback(IntPtr cbdata, int eventId); + + internal delegate void OnExceptionCallback(string type, string msg, + IntPtr cbdata); + +#if UNITY_ANDROID && !UNITY_EDITOR + private const string dllName = "gvrvideo"; + [DllImport(dllName)] + private static extern IntPtr GetRenderEventFunc(); + + [DllImport(dllName)] + private static extern void SetExternalTextures(IntPtr videoPlayerPtr, + int[] texIds, + int size, + int w, + int h); + + [DllImport(dllName)] + private static extern IntPtr GetRenderableTextureId(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern int GetExternalSurfaceTextureId(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern void GetVideoMatrix(IntPtr videoPlayerPtr, + float[] videoMatrix); + + [DllImport(dllName)] + private static extern long GetVideoTimestampNs(IntPtr videoPlayerPtr); + + // Keep public so we can check for the dll being present at runtime. + [DllImport(dllName)] + public static extern IntPtr CreateVideoPlayer(); + + // Keep public so we can check for the dll being present at runtime. + [DllImport(dllName)] + public static extern void DestroyVideoPlayer(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern int GetVideoPlayerEventBase(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern IntPtr InitVideoPlayer(IntPtr videoPlayerPtr, + int videoType, + string videoURL, + string contentID, + string providerId, + bool useSecurePath, + bool useExisting); + + [DllImport(dllName)] + private static extern void SetInitialResolution(IntPtr videoPlayerPtr, + int initialResolution); + + [DllImport(dllName)] + private static extern int GetPlayerState(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern int GetWidth(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern int GetHeight(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern int PlayVideo(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern int PauseVideo(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern bool IsVideoReady(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern bool IsVideoPaused(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern long GetDuration(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern long GetBufferedPosition(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern long GetCurrentPosition(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern void SetCurrentPosition(IntPtr videoPlayerPtr, + long pos); + + [DllImport(dllName)] + private static extern int GetBufferedPercentage(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern int GetMaxVolume(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern int GetCurrentVolume(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern void SetCurrentVolume(IntPtr videoPlayerPtr, + int value); + + [DllImport(dllName)] + private static extern int GetStereoMode(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern bool HasProjectionData(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern bool SetVideoPlayerSupportClassname( + IntPtr videoPlayerPtr, + string classname); + + [DllImport(dllName)] + private static extern IntPtr GetRawPlayer(IntPtr videoPlayerPtr); + + [DllImport(dllName)] + private static extern void SetOnVideoEventCallback(IntPtr videoPlayerPtr, + OnVideoEventCallback callback, + IntPtr callback_arg); + + [DllImport(dllName)] + private static extern void SetOnExceptionCallback(IntPtr videoPlayerPtr, + OnExceptionCallback callback, + IntPtr callback_arg); +#else + private const string NOT_IMPLEMENTED_MSG = + "Not implemented on this platform"; + + private static IntPtr GetRenderEventFunc() { + Debug.Log(NOT_IMPLEMENTED_MSG); + return IntPtr.Zero; + } + + private static void SetExternalTextures(IntPtr videoPlayerPtr, + int[] texIds, + int size, + int w, + int h) { + Debug.Log(NOT_IMPLEMENTED_MSG); + } + + private static IntPtr GetRenderableTextureId(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return IntPtr.Zero; + } + + private static int GetExternalSurfaceTextureId(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return 0; + } + + private static void GetVideoMatrix(IntPtr videoPlayerPtr, + float[] videoMatrix) { + Debug.Log(NOT_IMPLEMENTED_MSG); + } + + private static long GetVideoTimestampNs(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return -1; + } + + // Make this public so we can test the loading of the DLL. + public static IntPtr CreateVideoPlayer() { + Debug.Log(NOT_IMPLEMENTED_MSG); + return IntPtr.Zero; + } + + // Make this public so we can test the loading of the DLL. + public static void DestroyVideoPlayer(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + } + + + private static int GetVideoPlayerEventBase(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return 0; + } + + private static IntPtr InitVideoPlayer(IntPtr videoPlayerPtr, int videoType, + string videoURL, + string contentID, + string providerId, + bool useSecurePath, + bool useExisting) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return IntPtr.Zero; + } + + private static void SetInitialResolution(IntPtr videoPlayerPtr, + int initialResolution) { + Debug.Log(NOT_IMPLEMENTED_MSG); + } + + private static int GetPlayerState(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return -1; + } + + private static int GetWidth(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return -1; + } + + private static int GetHeight(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return -1; + } + + private static int PlayVideo(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return 0; + } + + + private static int PauseVideo(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return 0; + } + + private static bool IsVideoReady(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return false; + } + + private static bool IsVideoPaused(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return true; + } + + private static long GetDuration(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return -1; + } + + private static long GetBufferedPosition(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return -1; + } + + private static long GetCurrentPosition(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return -1; + } + + private static void SetCurrentPosition(IntPtr videoPlayerPtr, long pos) { + Debug.Log(NOT_IMPLEMENTED_MSG); + } + + private static int GetBufferedPercentage(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return 0; + } + + private static int GetMaxVolume(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return 0; + } + + private static int GetCurrentVolume(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return 0; + } + + private static void SetCurrentVolume(IntPtr videoPlayerPtr, int value) { + Debug.Log(NOT_IMPLEMENTED_MSG); + } + + private static int GetStereoMode(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return -1; + } + + private static bool HasProjectionData(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return false; + } + + private static bool SetVideoPlayerSupportClassname(IntPtr videoPlayerPtr, + string classname) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return false; + } + + private static IntPtr GetRawPlayer(IntPtr videoPlayerPtr) { + Debug.Log(NOT_IMPLEMENTED_MSG); + return IntPtr.Zero; + } + + private static void SetOnVideoEventCallback(IntPtr videoPlayerPtr, + OnVideoEventCallback callback, + IntPtr callback_arg) { + Debug.Log(NOT_IMPLEMENTED_MSG); + } + + private static void SetOnExceptionCallback(IntPtr videoPlayerPtr, + OnExceptionCallback callback, + IntPtr callback_arg) { + Debug.Log(NOT_IMPLEMENTED_MSG); + } +#endif // UNITY_ANDROID && !UNITY_EDITOR +} + diff --git a/Assets/GoogleVR/Scripts/Video/GvrVideoPlayerTexture.cs.meta b/Assets/GoogleVR/Scripts/Video/GvrVideoPlayerTexture.cs.meta new file mode 100644 index 0000000..5c298b4 --- /dev/null +++ b/Assets/GoogleVR/Scripts/Video/GvrVideoPlayerTexture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 410d5a91205334dda9fd1bf3d325809a +timeCreated: 1469747977 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Shaders.meta b/Assets/GoogleVR/Shaders.meta new file mode 100644 index 0000000..bc2ec0b --- /dev/null +++ b/Assets/GoogleVR/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 82a526f622cb86f4c9f5c215e0331edb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Shaders/GvrAdditiveOverlay.shader b/Assets/GoogleVR/Shaders/GvrAdditiveOverlay.shader new file mode 100644 index 0000000..d7c3e82 --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrAdditiveOverlay.shader @@ -0,0 +1,45 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +Shader "GoogleVR/Particles/Additive Overlay" { + Properties { + _MainTex ("Particle Texture", 2D) = "white" {} + } + + Category { + Tags { + "Queue"="Overlay+100" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + } + + Blend SrcAlpha One + Cull Off Lighting Off ZWrite Off Fog { Color (0,0,0,0) } + + BindChannels { + Bind "Color", color + Bind "Vertex", vertex + Bind "TexCoord", texcoord + } + + SubShader { + Pass { + SetTexture [_MainTex] { + combine texture * primary + } + } + } + } +} diff --git a/Assets/GoogleVR/Shaders/GvrAdditiveOverlay.shader.meta b/Assets/GoogleVR/Shaders/GvrAdditiveOverlay.shader.meta new file mode 100644 index 0000000..3a2da7d --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrAdditiveOverlay.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 66ce34a5829a64856be634609edd8912 +timeCreated: 1479169225 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Shaders/GvrController.shader b/Assets/GoogleVR/Shaders/GvrController.shader new file mode 100644 index 0000000..eb70b79 --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrController.shader @@ -0,0 +1,161 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +Shader "GoogleVR/Unlit/Controller" { + Properties { + _Color ("Color", COLOR) = (1, 1, 1, 1) + _MainTex ("Texture", 2D) = "white" {} + } + SubShader { + Tags { + "Queue" = "Overlay+100" + "IgnoreProjector" = "True" + "RenderType"="Transparent" + } + LOD 100 + + ZWrite On + Blend SrcAlpha OneMinusSrcAlpha + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + /// The size of the touch display. A value of 1 sets the radius to equal the touchpad radius + #define _GVR_DISPLAY_RADIUS .25 + + // How opaque is the battery indicator when illuminated + #define _GVR_BATTERY_ACTIVE_ALPHA 0.9 + + //How opaque is the battery indicator when not illuminated + #define _GVR_BATTERY_OFF_ALPHA 0.25 + + // How much do the app and system buttons depress when pushed + #define _BUTTON_PRESS_DEPTH 0.001 + + // Larger values tighten the feather + #define _TOUCH_FEATHER 8 + + /// The center of the touchpad in UV space + /// Only change this value if you also change the UV layout of the mesh + #define _GVR_TOUCHPAD_CENTER half2(.15, .85) + + /// The radius of the touchpad in UV space, based on the geometry + /// Only change this value if you also change the UV layout of the mesh + #define _GVR_TOUCHPAD_RADIUS .139 + + struct appdata { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + float4 color : COLOR; + }; + + struct v2f { + half2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + half4 color : TEXCOORD1; + half2 touchVector : TEXCOORD2; + half alpha : TEXCOORD3; + }; + + sampler2D _MainTex; + half4 _GvrControllerAlpha; + float4 _MainTex_ST; + + half4 _Color; + half4 _GvrTouchPadColor; + half4 _GvrAppButtonColor; + half4 _GvrSystemButtonColor; + half4 _GvrBatteryColor; + half4 _GvrTouchInfo;//xy position, z touch duration, w battery info + + v2f vert (appdata v) { + v2f o; + float4 vertex4; + vertex4.xyz = v.vertex; + vertex4.w = 1.0; + + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + o.color = half4(0,0,0,0); + o.touchVector = half2(0,0); + + + half batteryOrController = saturate( 10.0 * (v.color.a - 0.6) ); + half batteryMask = saturate( 10.0 * (1 - v.color.a) ); + half batteryLevelMask = saturate( 20.0 * (v.color.a - _GvrTouchInfo.w) ); + o.alpha = batteryOrController; + o.color.a = _GvrBatteryColor.a * batteryMask * (batteryLevelMask * _GVR_BATTERY_ACTIVE_ALPHA + (1-batteryLevelMask)*_GVR_BATTERY_OFF_ALPHA); + o.color.rgb = batteryMask * (batteryLevelMask * _GvrBatteryColor.rgb); + + // v.color.r = Touchpad, v.color.g = AppButton, v.color.b = SystemButton, v.color.a = BatteryIndicator + // Update touch vector info, but only if in the touchpad region. + + //This is the distance between the scaled center of the touchpad in UV space, and the input coords + half2 touchPosition = ((v.uv - _GVR_TOUCHPAD_CENTER)/_GVR_TOUCHPAD_RADIUS - _GvrTouchInfo.xy); + + // the duration of a press + minimum radius + half scaledInput = _GvrTouchInfo.z + _GVR_DISPLAY_RADIUS; + + // Apply a cubic function, but make sure when press duration =1 , we cancel out the min radius + half bounced = 2 * (2 * scaledInput - scaledInput*scaledInput ) - + (1 - 2.0*_GVR_DISPLAY_RADIUS*_GVR_DISPLAY_RADIUS); + + o.touchVector = v.color.r * ((2-bounced)*( (1 - _GvrControllerAlpha.y)/_GVR_DISPLAY_RADIUS ) *touchPosition); + + // Apply colors based on masked values. + o.color.rgb += v.color.r * _GvrTouchInfo.z * _GvrTouchPadColor.rgb + + v.color.g * _GvrControllerAlpha.z * _GvrAppButtonColor.rgb + + v.color.b * _GvrControllerAlpha.w * _GvrSystemButtonColor.rgb; + + o.color.a += v.color.r * _GvrTouchInfo.z + + v.color.g * _GvrControllerAlpha.z + + v.color.b * _GvrControllerAlpha.w; + + // Animate position based on masked values. + vertex4.y -= v.color.g * _BUTTON_PRESS_DEPTH*_GvrControllerAlpha.z + + v.color.b * _BUTTON_PRESS_DEPTH*_GvrControllerAlpha.w; + + o.vertex = UnityObjectToClipPos(vertex4); + + return o; + } + + fixed4 frag (v2f i) : SV_Target { + + // Compute the length from a touchpoint, scale the value to control the edge sharpness. + half len = saturate(_TOUCH_FEATHER*(1-length(i.touchVector)) ); + i.color = i.color *len; + + half4 texcol = tex2D(_MainTex, i.uv); + half3 tintColor = (i.color.rgb + (1-i.color.a) * _Color.rgb); + + // Tint the controller based on luminance + half luma = Luminance(tintColor); + tintColor = texcol.rgb *(tintColor + .25*(1-luma)); + + /// Battery indicator. + texcol.a = i.alpha * texcol.a + (1-i.alpha)*(texcol.r)* i.color.a; + texcol.rgb = i.alpha * tintColor + (1-i.alpha)*i.color.rgb; + + texcol.a *= _GvrControllerAlpha.x; + return texcol; + } + ENDCG + } + } + FallBack "Unlit/Transparent" +} diff --git a/Assets/GoogleVR/Shaders/GvrController.shader.meta b/Assets/GoogleVR/Shaders/GvrController.shader.meta new file mode 100644 index 0000000..1f34ebf --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrController.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fdbce15836bf64163856f689fdd67b2c +timeCreated: 1497972574 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Shaders/GvrControllerReticle.shader b/Assets/GoogleVR/Shaders/GvrControllerReticle.shader new file mode 100644 index 0000000..9144a2b --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrControllerReticle.shader @@ -0,0 +1,69 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +Shader "GoogleVR/Unlit/Controller Reticle" { + Properties { + _MainTex ("Texture", 2D) = "white" {} + } + + SubShader { + Tags { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="TransparentCutout" + } + + LOD 100 + + Cull Back + Lighting Off + Offset -150, -150 + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + }; + + struct v2f { + float4 vertex : SV_POSITION; + half2 texcoord : TEXCOORD0; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata_t v) { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + return o; + } + + fixed4 frag (v2f i) : SV_Target { + fixed4 col = tex2D(_MainTex, i.texcoord); + clip(col.a - 0.5); + return col; + } + ENDCG + } + } +} diff --git a/Assets/GoogleVR/Shaders/GvrControllerReticle.shader.meta b/Assets/GoogleVR/Shaders/GvrControllerReticle.shader.meta new file mode 100644 index 0000000..87700a2 --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrControllerReticle.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 57e34a0b7bd8740c5922ce5840ba3ee8 +timeCreated: 1499380370 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Shaders/GvrReticleShader.shader b/Assets/GoogleVR/Shaders/GvrReticleShader.shader new file mode 100644 index 0000000..816990b --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrReticleShader.shader @@ -0,0 +1,72 @@ +// Copyright 2015 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +Shader "GoogleVR/Reticle" { + Properties { + _Color ("Color", Color) = ( 1, 1, 1, 1 ) + _InnerDiameter ("InnerDiameter", Range(0, 10.0)) = 1.5 + _OuterDiameter ("OuterDiameter", Range(0.00872665, 10.0)) = 2.0 + _DistanceInMeters ("DistanceInMeters", Range(0.0, 100.0)) = 2.0 + } + + SubShader { + Tags { "Queue"="Overlay" "IgnoreProjector"="True" "RenderType"="Transparent" } + Pass { + Blend SrcAlpha OneMinusSrcAlpha + AlphaTest Off + Cull Back + Lighting Off + ZWrite Off + ZTest Always + + Fog { Mode Off } + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + uniform float4 _Color; + uniform float _InnerDiameter; + uniform float _OuterDiameter; + uniform float _DistanceInMeters; + + struct vertexInput { + float4 vertex : POSITION; + }; + + struct fragmentInput{ + float4 position : SV_POSITION; + }; + + fragmentInput vert(vertexInput i) { + float scale = lerp(_OuterDiameter, _InnerDiameter, i.vertex.z); + + float3 vert_out = float3(i.vertex.x * scale, i.vertex.y * scale, _DistanceInMeters); + + fragmentInput o; + o.position = UnityObjectToClipPos (vert_out); + return o; + } + + fixed4 frag(fragmentInput i) : SV_Target { + fixed4 ret = _Color; + return ret; + } + + ENDCG + } + } +} diff --git a/Assets/GoogleVR/Shaders/GvrReticleShader.shader.meta b/Assets/GoogleVR/Shaders/GvrReticleShader.shader.meta new file mode 100644 index 0000000..5fa7125 --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrReticleShader.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a3b352fc2ba734605a3df75466e600f0 +timeCreated: 1446884502 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Shaders/GvrUIOverlay.shader b/Assets/GoogleVR/Shaders/GvrUIOverlay.shader new file mode 100644 index 0000000..c7782fc --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrUIOverlay.shader @@ -0,0 +1,117 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +Shader "GoogleVR/UI/Overlay" { + Properties { + [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + } + + SubShader { + Tags { + // Overlay+110 fixes depth sorting between UI and controller. + "Queue"="Overlay+110" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + Name "Default" + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + struct appdata_t { + float4 vertex : POSITION; + float4 color : COLOR; + float2 texcoord : TEXCOORD0; + }; + + struct v2f { + float4 vertex : SV_POSITION; + fixed4 color : COLOR; + half2 texcoord : TEXCOORD0; + float4 worldPosition : TEXCOORD1; + }; + + fixed4 _Color; + fixed4 _TextureSampleAdd; + float4 _ClipRect; + + v2f vert(appdata_t IN) { + v2f OUT; + OUT.worldPosition = IN.vertex; + OUT.vertex = UnityObjectToClipPos(OUT.worldPosition); + + OUT.texcoord = IN.texcoord; + + #ifdef UNITY_HALF_TEXEL_OFFSET + OUT.vertex.xy += (_ScreenParams.zw-1.0) * float2(-1,1) * OUT.vertex.w; + #endif // UNITY_HALF_TEXEL_OFFSET + + OUT.color = IN.color * _Color; + return OUT; + } + + sampler2D _MainTex; + + fixed4 frag(v2f IN) : SV_Target { + half4 color = + (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color; + + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif // UNITY_UI_ALPHACLIP + + return color; + } + ENDCG + } + } +} diff --git a/Assets/GoogleVR/Shaders/GvrUIOverlay.shader.meta b/Assets/GoogleVR/Shaders/GvrUIOverlay.shader.meta new file mode 100644 index 0000000..f0edd32 --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrUIOverlay.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 36d276bd7b313441fbe34aadce7598ca +timeCreated: 1479426244 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Shaders/GvrUIOverlayFont.shader b/Assets/GoogleVR/Shaders/GvrUIOverlayFont.shader new file mode 100644 index 0000000..84e6ccb --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrUIOverlayFont.shader @@ -0,0 +1,32 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +Shader "GoogleVR/UI/Overlay Font" { + Properties { + [PerRendererData] _MainTex ("Font Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + } + + FallBack "GoogleVR/UI/Overlay" +} diff --git a/Assets/GoogleVR/Shaders/GvrUIOverlayFont.shader.meta b/Assets/GoogleVR/Shaders/GvrUIOverlayFont.shader.meta new file mode 100644 index 0000000..f6bc95b --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrUIOverlayFont.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c259eeb26e96b4f1d8eeb8871bcfdac5 +timeCreated: 1479426244 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Shaders/GvrUnlitTextureOverlay.shader b/Assets/GoogleVR/Shaders/GvrUnlitTextureOverlay.shader new file mode 100644 index 0000000..4aac0a1 --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrUnlitTextureOverlay.shader @@ -0,0 +1,64 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +Shader "GoogleVR/Unlit/Texture Overlay" { + Properties { + _MainTex ("Base (RGB)", 2D) = "white" {} + } + + SubShader { + Tags { "Queue"="Overlay+100" "RenderType"="Opaque" } + LOD 100 + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + }; + + struct v2f { + float4 vertex : SV_POSITION; + half2 texcoord : TEXCOORD0; + UNITY_FOG_COORDS(1) + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata_t v) { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target { + fixed4 col = tex2D(_MainTex, i.texcoord); + UNITY_APPLY_FOG(i.fogCoord, col); + UNITY_OPAQUE_ALPHA(col.a); + return col; + } + ENDCG + } + } +} diff --git a/Assets/GoogleVR/Shaders/GvrUnlitTextureOverlay.shader.meta b/Assets/GoogleVR/Shaders/GvrUnlitTextureOverlay.shader.meta new file mode 100644 index 0000000..65cfd0d --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrUnlitTextureOverlay.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: adb9b18ac2466473a850d8acd17654a1 +timeCreated: 1479438500 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Shaders/GvrUnlitTransparentOverlay.shader b/Assets/GoogleVR/Shaders/GvrUnlitTransparentOverlay.shader new file mode 100644 index 0000000..5294d45 --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrUnlitTransparentOverlay.shader @@ -0,0 +1,75 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +Shader "GoogleVR/Unlit/Transparent Overlay" { + Properties { + _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} + } + + SubShader { + Tags { + "Queue"="Overlay+100" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + LOD 100 + + Blend SrcAlpha OneMinusSrcAlpha + AlphaTest Off + Cull Back + Lighting Off + ZWrite Off + ZTest Always + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + }; + + struct v2f { + float4 vertex : SV_POSITION; + half2 texcoord : TEXCOORD0; + UNITY_FOG_COORDS(1) + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert (appdata_t v) { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag (v2f i) : SV_Target { + fixed4 col = tex2D(_MainTex, i.texcoord); + UNITY_APPLY_FOG(i.fogCoord, col); + return col; + } + ENDCG + } + } +} diff --git a/Assets/GoogleVR/Shaders/GvrUnlitTransparentOverlay.shader.meta b/Assets/GoogleVR/Shaders/GvrUnlitTransparentOverlay.shader.meta new file mode 100644 index 0000000..483af0d --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrUnlitTransparentOverlay.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1d94b17868379452aad02b04eb7b0e6e +timeCreated: 1478211415 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Shaders/GvrUnlitTransparentOverlayColor.shader b/Assets/GoogleVR/Shaders/GvrUnlitTransparentOverlayColor.shader new file mode 100644 index 0000000..3aa3fa6 --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrUnlitTransparentOverlayColor.shader @@ -0,0 +1,68 @@ +// Copyright 2016 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. + +Shader "GoogleVR/Unlit/Transparent Overlay Color" { + Properties { + _Color ("Color", COLOR) = (1, 1, 1, 1) + _MainTex ("Texture", 2D) = "white" {} + } + SubShader { + Tags { + "Queue" = "Overlay+100" + "IgnoreProjector" = "True" + "RenderType"="Transparent" + } + LOD 100 + + ZWrite Off + Blend SrcAlpha OneMinusSrcAlpha + + Pass { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata { + float3 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _Color; + float4 _MainTex_ST; + + v2f vert (appdata v) { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + return o; + } + + fixed4 frag (v2f i) : SV_Target { + // sample the texture + fixed4 col = tex2D(_MainTex, i.uv) * _Color; + return col; + } + ENDCG + } + } + FallBack "Unlit/Transparent" +} diff --git a/Assets/GoogleVR/Shaders/GvrUnlitTransparentOverlayColor.shader.meta b/Assets/GoogleVR/Shaders/GvrUnlitTransparentOverlayColor.shader.meta new file mode 100644 index 0000000..e9e2478 --- /dev/null +++ b/Assets/GoogleVR/Shaders/GvrUnlitTransparentOverlayColor.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 06aa46b8e43675d43b204c3638e59767 +timeCreated: 1475685719 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Shaders/Video.meta b/Assets/GoogleVR/Shaders/Video.meta new file mode 100644 index 0000000..a1bc5a4 --- /dev/null +++ b/Assets/GoogleVR/Shaders/Video.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 40ad9c4f7e87f5248afb31340adc5b82 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Shaders/Video/VideoUnlitShader.shader b/Assets/GoogleVR/Shaders/Video/VideoUnlitShader.shader new file mode 100644 index 0000000..6d76385 --- /dev/null +++ b/Assets/GoogleVR/Shaders/Video/VideoUnlitShader.shader @@ -0,0 +1,99 @@ +// +// Copyright (C) 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// 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. +// + +// +// This shader renders from OES_external_image textures which require special +// OpenGLES extensions and a special texture sampler. +// +Shader "GoogleVR/Video Unlit Shader" { + Properties { + _Gamma ("Video gamma", Range(0.01,3.0)) = 1.0 + _MainTex ("Base (RGB)", 2D) = "white" {} + [KeywordEnum(None, TopBottom, LeftRight)] _StereoMode ("Stereo mode", Float) = 0 + [Toggle(FLIP_X)] _FlipX ("Flip X", Float) = 0 + } + + SubShader { + Pass { + Tags { "RenderType" = "Opaque" } + + Lighting Off + Cull Off + + GLSLPROGRAM + #pragma only_renderers gles gles3 + #extension GL_OES_EGL_image_external : require + #extension GL_OES_EGL_image_external_essl3 : enable + + #pragma multi_compile ___ _STEREOMODE_TOPBOTTOM _STEREOMODE_LEFTRIGHT + #pragma multi_compile ___ FLIP_X + + precision mediump int; + precision mediump float; + + #ifdef VERTEX + uniform mat4 video_matrix; + uniform int unity_StereoEyeIndex; + varying vec2 uv; + + void main() { + gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; + vec4 untransformedUV = gl_MultiTexCoord0; + #ifdef FLIP_X + untransformedUV.x = 1.0 - untransformedUV.x; + #endif // FLIP_X + #ifdef _STEREOMODE_TOPBOTTOM + untransformedUV.y *= 0.5; + if (unity_StereoEyeIndex == 0) { + untransformedUV.y += 0.5; + } + #endif // _STEREOMODE_TOPBOTTOM + #ifdef _STEREOMODE_LEFTRIGHT + untransformedUV.x *= 0.5; + if (unity_StereoEyeIndex != 0) { + untransformedUV.x += 0.5; + } + #endif // _STEREOMODE_LEFTRIGHT + + uv = (video_matrix * untransformedUV).xy; + } + #endif // VERTEX + + #ifdef FRAGMENT + vec3 gammaCorrect(vec3 v, float gamma) { + return pow(v, vec3(1.0/gamma)); + } + + // Apply the gamma correction. One possible optimization that could + // be applied is if _Gamma == 2.0, then use gammaCorrectApprox since sqrt will be faster. + // Also, if _Gamma == 1.0, then there is no effect, so this call could be skipped all together. + vec4 gammaCorrect(vec4 v, float gamma) { + return vec4(gammaCorrect(v.xyz, gamma), v.w); + } + + uniform float _Gamma; + uniform samplerExternalOES _MainTex; + varying vec2 uv; + + void main() { + gl_FragColor = gammaCorrect(texture2D(_MainTex, uv), _Gamma); + } + #endif // FRAGMENT + ENDGLSL + } + } + Fallback "Unlit/Texture" +} diff --git a/Assets/GoogleVR/Shaders/Video/VideoUnlitShader.shader.meta b/Assets/GoogleVR/Shaders/Video/VideoUnlitShader.shader.meta new file mode 100644 index 0000000..51b6a81 --- /dev/null +++ b/Assets/GoogleVR/Shaders/Video/VideoUnlitShader.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4b50a67a5a86e4093bf89c85cbc2c700 +timeCreated: 1496431929 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Textures.meta b/Assets/GoogleVR/Textures.meta new file mode 100644 index 0000000..e1a95ff --- /dev/null +++ b/Assets/GoogleVR/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c83a150fe43139e4e849e4edef94bb35 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Textures/ControllerTooltips.png b/Assets/GoogleVR/Textures/ControllerTooltips.png new file mode 100644 index 0000000..db60e8f Binary files /dev/null and b/Assets/GoogleVR/Textures/ControllerTooltips.png differ diff --git a/Assets/GoogleVR/Textures/ControllerTooltips.png.meta b/Assets/GoogleVR/Textures/ControllerTooltips.png.meta new file mode 100644 index 0000000..a30ddeb --- /dev/null +++ b/Assets/GoogleVR/Textures/ControllerTooltips.png.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: 2ec36c18ef93e4d92ab61c818b298aac +timeCreated: 1510961416 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: iPhone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: 54 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Textures/cursor_grab.png b/Assets/GoogleVR/Textures/cursor_grab.png new file mode 100644 index 0000000..1e79c70 Binary files /dev/null and b/Assets/GoogleVR/Textures/cursor_grab.png differ diff --git a/Assets/GoogleVR/Textures/cursor_grab.png.meta b/Assets/GoogleVR/Textures/cursor_grab.png.meta new file mode 100644 index 0000000..0a56dc3 --- /dev/null +++ b/Assets/GoogleVR/Textures/cursor_grab.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 72867935ab9d7264ba8abb14b1f860b2 +timeCreated: 1475513528 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Textures/cursor_move.png b/Assets/GoogleVR/Textures/cursor_move.png new file mode 100644 index 0000000..63f6646 Binary files /dev/null and b/Assets/GoogleVR/Textures/cursor_move.png differ diff --git a/Assets/GoogleVR/Textures/cursor_move.png.meta b/Assets/GoogleVR/Textures/cursor_move.png.meta new file mode 100644 index 0000000..55f4506 --- /dev/null +++ b/Assets/GoogleVR/Textures/cursor_move.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 8e2b5a46da88df34988d7b068cf93af6 +timeCreated: 1475513528 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Textures/cursor_pointer.png b/Assets/GoogleVR/Textures/cursor_pointer.png new file mode 100644 index 0000000..6ff5e00 Binary files /dev/null and b/Assets/GoogleVR/Textures/cursor_pointer.png differ diff --git a/Assets/GoogleVR/Textures/cursor_pointer.png.meta b/Assets/GoogleVR/Textures/cursor_pointer.png.meta new file mode 100644 index 0000000..1ca4c1b --- /dev/null +++ b/Assets/GoogleVR/Textures/cursor_pointer.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 9be55a1c895d42a48a59cd0f2fedcb49 +timeCreated: 1475513529 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Textures/cursor_text.png b/Assets/GoogleVR/Textures/cursor_text.png new file mode 100644 index 0000000..470bbf1 Binary files /dev/null and b/Assets/GoogleVR/Textures/cursor_text.png differ diff --git a/Assets/GoogleVR/Textures/cursor_text.png.meta b/Assets/GoogleVR/Textures/cursor_text.png.meta new file mode 100644 index 0000000..c487be6 --- /dev/null +++ b/Assets/GoogleVR/Textures/cursor_text.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 6da5cd89204da99468e34a61cc7ad99d +timeCreated: 1475513527 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Textures/cursor_url.png b/Assets/GoogleVR/Textures/cursor_url.png new file mode 100644 index 0000000..4016717 Binary files /dev/null and b/Assets/GoogleVR/Textures/cursor_url.png differ diff --git a/Assets/GoogleVR/Textures/cursor_url.png.meta b/Assets/GoogleVR/Textures/cursor_url.png.meta new file mode 100644 index 0000000..56d3d43 --- /dev/null +++ b/Assets/GoogleVR/Textures/cursor_url.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 226cfc1dcfd9df449a7c4e33729e0922 +timeCreated: 1475513526 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Textures/ddcontroller.png b/Assets/GoogleVR/Textures/ddcontroller.png new file mode 100644 index 0000000..cfb6399 Binary files /dev/null and b/Assets/GoogleVR/Textures/ddcontroller.png differ diff --git a/Assets/GoogleVR/Textures/ddcontroller.png.meta b/Assets/GoogleVR/Textures/ddcontroller.png.meta new file mode 100644 index 0000000..6b6fa2b --- /dev/null +++ b/Assets/GoogleVR/Textures/ddcontroller.png.meta @@ -0,0 +1,64 @@ +fileFormatVersion: 2 +guid: 16bedee72525148848c1c905828661fb +timeCreated: 1497972623 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 5 + buildTargetSettings: + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: 48 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Textures/ddcontroller_transparent.png b/Assets/GoogleVR/Textures/ddcontroller_transparent.png new file mode 100644 index 0000000..eadb483 Binary files /dev/null and b/Assets/GoogleVR/Textures/ddcontroller_transparent.png differ diff --git a/Assets/GoogleVR/Textures/ddcontroller_transparent.png.meta b/Assets/GoogleVR/Textures/ddcontroller_transparent.png.meta new file mode 100644 index 0000000..f6cbbd2 --- /dev/null +++ b/Assets/GoogleVR/Textures/ddcontroller_transparent.png.meta @@ -0,0 +1,64 @@ +fileFormatVersion: 2 +guid: bf90d5db643cc45a8a8ea09172b0d000 +timeCreated: 1497974034 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 5 + buildTargetSettings: + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: 54 + compressionQuality: 100 + allowsAlphaSplitting: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Textures/dropShadow.png b/Assets/GoogleVR/Textures/dropShadow.png new file mode 100644 index 0000000..3399190 Binary files /dev/null and b/Assets/GoogleVR/Textures/dropShadow.png differ diff --git a/Assets/GoogleVR/Textures/dropShadow.png.meta b/Assets/GoogleVR/Textures/dropShadow.png.meta new file mode 100644 index 0000000..35db3b1 --- /dev/null +++ b/Assets/GoogleVR/Textures/dropShadow.png.meta @@ -0,0 +1,63 @@ +fileFormatVersion: 2 +guid: 3776286ea5437463d95d7054b559df67 +timeCreated: 1475885178 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: 1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 178, y: 0, z: 178, w: 0} + spritePixelsToUnits: 500 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: + - - {x: -181, y: -181.5} + - {x: -181, y: 181.5} + - {x: 181, y: 181.5} + - {x: 181, y: -181.5} + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Textures/laserTexture.png b/Assets/GoogleVR/Textures/laserTexture.png new file mode 100644 index 0000000..ad4b8be Binary files /dev/null and b/Assets/GoogleVR/Textures/laserTexture.png differ diff --git a/Assets/GoogleVR/Textures/laserTexture.png.meta b/Assets/GoogleVR/Textures/laserTexture.png.meta new file mode 100644 index 0000000..d111267 --- /dev/null +++ b/Assets/GoogleVR/Textures/laserTexture.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: e314ee0eb28e9ad4ba2950c17b95c25d +timeCreated: 1472081043 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GoogleVR/Textures/roundRect_52px.tif b/Assets/GoogleVR/Textures/roundRect_52px.tif new file mode 100644 index 0000000..1e2704f Binary files /dev/null and b/Assets/GoogleVR/Textures/roundRect_52px.tif differ diff --git a/Assets/GoogleVR/Textures/roundRect_52px.tif.meta b/Assets/GoogleVR/Textures/roundRect_52px.tif.meta new file mode 100644 index 0000000..c471778 --- /dev/null +++ b/Assets/GoogleVR/Textures/roundRect_52px.tif.meta @@ -0,0 +1,100 @@ +fileFormatVersion: 2 +guid: d60ac4d1232f24cfd9193c9724ed0185 +timeCreated: 1510768185 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 62, y: 62, z: 62, w: 62} + spritePixelsToUnits: 200 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: iPhone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection.meta b/Assets/OVRInputSelection.meta new file mode 100644 index 0000000..a48863a --- /dev/null +++ b/Assets/OVRInputSelection.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5a391f8ad8cee4444a16d9f15e473cf9 +folderAsset: yes +timeCreated: 1512509287 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/InputSystem.meta b/Assets/OVRInputSelection/InputSystem.meta new file mode 100644 index 0000000..d68bb3b --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 61fefe887c158a84c83241161d580e9b +folderAsset: yes +timeCreated: 1512377433 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/InputSystem/OVRInputHelpers.cs b/Assets/OVRInputSelection/InputSystem/OVRInputHelpers.cs new file mode 100644 index 0000000..ba95f01 --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRInputHelpers.cs @@ -0,0 +1,120 @@ +/************************************************************************************ + +Copyright : Copyright 2017-Present Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License"); +you may not use the Oculus VR Rift 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 + +http://www.oculusvr.com/licenses/LICENSE-3.2 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; + +namespace ControllerSelection { + public class OVRInputHelpers { + // Given a controller and tracking spcae, return the ray that controller uses. + // Will fall back to center eye or camera on Gear if no controller is present. + public static Ray GetSelectionRay(OVRInput.Controller activeController, Transform trackingSpace) { + if (trackingSpace != null && activeController != OVRInput.Controller.None) { + Quaternion orientation = OVRInput.GetLocalControllerRotation(activeController); + Vector3 localStartPoint = OVRInput.GetLocalControllerPosition(activeController); + + Matrix4x4 localToWorld = trackingSpace.localToWorldMatrix; + Vector3 worldStartPoint = localToWorld.MultiplyPoint(localStartPoint); + Vector3 worldOrientation = localToWorld.MultiplyVector(orientation * Vector3.forward); + + return new Ray(worldStartPoint, worldOrientation); + } + + Transform cameraTransform = Camera.main.transform; + + if (OVRManager.instance != null) { + OVRCameraRig cameraRig = OVRManager.instance.GetComponent(); + if (cameraRig != null) { + cameraTransform = cameraRig.centerEyeAnchor; + } + } + + return new Ray(cameraTransform.position, cameraTransform.forward); + } + + // Search the scene to find a tracking spce. This method can be expensive! Try to avoid it if possible. + public static Transform FindTrackingSpace() { + // There should be an OVRManager in the scene + if (OVRManager.instance != null) { + Transform trackingSpace = OVRManager.instance.transform.Find("TrackingSpace"); + if (trackingSpace != null) { + return trackingSpace; + } + } + + Debug.LogWarning("OVRManager is not in scene, finding tracking space is going to be expensive!"); + + // Look for any CameraRig objects + OVRCameraRig[] cameraRigs = UnityEngine.Object.FindObjectsOfType(typeof(OVRCameraRig)) as OVRCameraRig[]; + foreach (OVRCameraRig cameraRig in cameraRigs) { + if (cameraRig.gameObject.activeSelf) { + Transform trackingSpace = cameraRig.transform.Find("TrackingSpace"); + if (trackingSpace != null) { + return trackingSpace; + } + } + } + + // Last resort, look for a tracking space + GameObject trackingSpaceGO = UnityEngine.GameObject.Find("TrackingSpace"); + if (trackingSpaceGO != null) { + return trackingSpaceGO.transform; + } + + // Guess it doesn't exist + return null; + } + + // Find the current active controller, based on last time a certain button was hit. Needs to know the previous active controller. + public static OVRInput.Controller GetControllerForButton(OVRInput.Button joyPadClickButton, OVRInput.Controller oldController) { + OVRInput.Controller controller = OVRInput.GetConnectedControllers(); + + if ((controller & OVRInput.Controller.RTouch) == OVRInput.Controller.RTouch) { + if (OVRInput.Get(joyPadClickButton, OVRInput.Controller.RTouch) || oldController == OVRInput.Controller.None) { + return OVRInput.Controller.RTouch; + } + } + + if ((controller & OVRInput.Controller.LTouch) == OVRInput.Controller.LTouch) { + if (OVRInput.Get(joyPadClickButton, OVRInput.Controller.LTouch) || oldController == OVRInput.Controller.None) { + return OVRInput.Controller.LTouch; + } + } + + if ((controller & OVRInput.Controller.RTrackedRemote) == OVRInput.Controller.RTrackedRemote) { + if (OVRInput.Get(joyPadClickButton, OVRInput.Controller.RTrackedRemote) || oldController == OVRInput.Controller.None) { + return OVRInput.Controller.RTrackedRemote; + } + } + + if ((controller & OVRInput.Controller.LTrackedRemote) == OVRInput.Controller.LTrackedRemote) { + if (OVRInput.Get(joyPadClickButton, OVRInput.Controller.LTrackedRemote) || oldController == OVRInput.Controller.None) { + return OVRInput.Controller.LTrackedRemote; + } + } + + if ((controller & oldController) != oldController) { + return OVRInput.Controller.None; + } + + return oldController; + } + } +} \ No newline at end of file diff --git a/Assets/OVRInputSelection/InputSystem/OVRInputHelpers.cs.meta b/Assets/OVRInputSelection/InputSystem/OVRInputHelpers.cs.meta new file mode 100644 index 0000000..7f68fb7 --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRInputHelpers.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5d6a2606856ae4982b2ac4e50f32f93f +timeCreated: 1512451261 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/InputSystem/OVRInputModule.cs b/Assets/OVRInputSelection/InputSystem/OVRInputModule.cs new file mode 100644 index 0000000..39bf473 --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRInputModule.cs @@ -0,0 +1,895 @@ +/************************************************************************************ + +Copyright : Copyright 2014-Present Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License"); +you may not use the Oculus VR Rift 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 + +http://www.oculusvr.com/licenses/LICENSE-3.2 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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 UnityEngine; +using System.Collections.Generic; +using UnityEngine.SceneManagement; + +namespace ControllerSelection +{ + public class OVRInputModule : UnityEngine.EventSystems.PointerInputModule + { + protected override void Awake() { + base.Awake(); + if (trackingSpace == null) { + Debug.LogWarning ("OVRInputModule did not have a tracking space set. Looking for one"); + trackingSpace = OVRInputHelpers.FindTrackingSpace (); + } + } + + protected override void OnEnable() + { + base.OnEnable(); + SceneManager.sceneLoaded += OnSceneLoaded; + } + + protected override void OnDisable() + { + base.OnDisable(); + + SceneManager.sceneLoaded -= OnSceneLoaded; + } + + void OnSceneLoaded(Scene scene, LoadSceneMode mode) + { + if (trackingSpace == null) { + Debug.LogWarning ("OVRInputModule did not have a tracking space set. Looking for one"); + trackingSpace = OVRInputHelpers.FindTrackingSpace (); + } + } + + [Header("(Optional) Tracking space")] + [Tooltip("Tracking space of the OVRCameraRig.\nIf tracking space is not set, the scene will be searched.\nThis search is expensive.")] + public Transform trackingSpace = null; + + [Header("Selection")] + [Tooltip("Primary selection button")] + public OVRInput.Button joyPadClickButton = OVRInput.Button.PrimaryIndexTrigger; + + [Header("Physics")] + [Tooltip("Perform an sphere cast to determine correct depth for gaze pointer")] + public bool performSphereCastForGazepointer; + + [Tooltip("Match the gaze pointer normal to geometry normal for physics colliders")] + public bool matchNormalOnPhysicsColliders; + + [Header("Gamepad Stick Scroll")] + [Tooltip("Enable scrolling with the left stick on a gamepad")] + public bool useLeftStickScroll = true; + + [Tooltip("Deadzone for left stick to prevent accidental scrolling")] + public float leftStickDeadZone = 0.15f; + + [Header("Touchpad Swipe Scroll")] + [Tooltip("Enable scrolling by swiping the GearVR touchpad")] + public bool useSwipeScroll = true; + [Tooltip("Minimum swipe amount to trigger scrolling")] + public float minSwipeMovement = 0; + [Tooltip("Distance scrolled when swipe scroll occurs")] + public float swipeScrollScale = 4f; + + + [HideInInspector] + public OVRInput.Controller activeController = OVRInput.Controller.None; + + public delegate void RayHitDelegate(Vector3 hitPosition, Vector3 hitNormal); + public RayHitDelegate OnSelectionRayHit; + + + #region GearVR swipe scroll + private Vector2 swipeStartPos; + private Vector2 unusedSwipe; + #endregion + + // The raycaster that gets to do pointer interaction (e.g. with a mouse), gaze interaction always works + // private OVRRaycaster _activeGraphicRaycaster; + [NonSerialized] + public OVRRaycaster activeGraphicRaycaster; + [Header("Dragging")] + [Tooltip("Minimum pointer movement in degrees to start dragging")] + public float angleDragThreshold = 1; + + // The following region contains code exactly the same as the implementation + // of StandaloneInputModule. It is copied here rather than inheriting from StandaloneInputModule + // because most of StandaloneInputModule is private so it isn't possible to easily derive from. + // Future changes from Unity to StandaloneInputModule will make it possible for this class to + // derive from StandaloneInputModule instead of PointerInput module. + // + // The following functions are not present in the following region since they have modified + // versions in the next region: + // Process + // ProcessMouseEvent + // UseMouse + #region StandaloneInputModule code + + private float m_NextAction; + + private Vector2 m_LastMousePosition; + private Vector2 m_MousePosition; + + protected OVRInputModule() + {} + + protected new void Reset() + { + allowActivationOnMobileDevice = true; + } + + [Obsolete("Mode is no longer needed on input module as it handles both mouse and keyboard simultaneously.", false)] + public enum InputMode + { + Mouse, + Buttons + } + + [Obsolete("Mode is no longer needed on input module as it handles both mouse and keyboard simultaneously.", false)] + public InputMode inputMode + { + get { return InputMode.Mouse; } + } + [Header("Standalone Input Module")] + [SerializeField] + private string m_HorizontalAxis = "Horizontal"; + + /// + /// Name of the vertical axis for movement (if axis events are used). + /// + [SerializeField] + private string m_VerticalAxis = "Vertical"; + + /// + /// Name of the submit button. + /// + [SerializeField] + private string m_SubmitButton = "Submit"; + + /// + /// Name of the submit button. + /// + [SerializeField] + private string m_CancelButton = "Cancel"; + + [SerializeField] + private float m_InputActionsPerSecond = 10; + + [SerializeField] + private bool m_AllowActivationOnMobileDevice; + + public bool allowActivationOnMobileDevice + { + get { return m_AllowActivationOnMobileDevice; } + set { m_AllowActivationOnMobileDevice = value; } + } + + public float inputActionsPerSecond + { + get { return m_InputActionsPerSecond; } + set { m_InputActionsPerSecond = value; } + } + + /// + /// Name of the horizontal axis for movement (if axis events are used). + /// + public string horizontalAxis + { + get { return m_HorizontalAxis; } + set { m_HorizontalAxis = value; } + } + + /// + /// Name of the vertical axis for movement (if axis events are used). + /// + public string verticalAxis + { + get { return m_VerticalAxis; } + set { m_VerticalAxis = value; } + } + + public string submitButton + { + get { return m_SubmitButton; } + set { m_SubmitButton = value; } + } + + public string cancelButton + { + get { return m_CancelButton; } + set { m_CancelButton = value; } + } + + public override void UpdateModule() + { + activeController = OVRInputHelpers.GetControllerForButton (OVRInput.Button.PrimaryIndexTrigger, activeController); + + m_LastMousePosition = m_MousePosition; + m_MousePosition = Input.mousePosition; + } + + public override bool IsModuleSupported() + { + // Check for mouse presence instead of whether touch is supported, + // as you can connect mouse to a tablet and in that case we'd want + // to use StandaloneInputModule for non-touch input events. + return m_AllowActivationOnMobileDevice || Input.mousePresent; + } + + public override bool ShouldActivateModule() + { + if (!base.ShouldActivateModule()) + return false; + + var shouldActivate = Input.GetButtonDown(m_SubmitButton); + shouldActivate |= Input.GetButtonDown(m_CancelButton); + shouldActivate |= !Mathf.Approximately(Input.GetAxisRaw(m_HorizontalAxis), 0.0f); + shouldActivate |= !Mathf.Approximately(Input.GetAxisRaw(m_VerticalAxis), 0.0f); + shouldActivate |= (m_MousePosition - m_LastMousePosition).sqrMagnitude > 0.0f; + shouldActivate |= Input.GetMouseButtonDown(0); + return shouldActivate; + } + + public override void ActivateModule() + { + base.ActivateModule(); + m_MousePosition = Input.mousePosition; + m_LastMousePosition = Input.mousePosition; + + var toSelect = eventSystem.currentSelectedGameObject; + if (toSelect == null) + toSelect = eventSystem.firstSelectedGameObject; + + eventSystem.SetSelectedGameObject(toSelect, GetBaseEventData()); + } + + public override void DeactivateModule() + { + base.DeactivateModule(); + ClearSelection(); + } + + + + /// + /// Process submit keys. + /// + private bool SendSubmitEventToSelectedObject() + { + if (eventSystem.currentSelectedGameObject == null) + return false; + + var data = GetBaseEventData(); + if (Input.GetButtonDown(m_SubmitButton)) + UnityEngine.EventSystems.ExecuteEvents.Execute(eventSystem.currentSelectedGameObject, data, UnityEngine.EventSystems.ExecuteEvents.submitHandler); + + if (Input.GetButtonDown(m_CancelButton)) + UnityEngine.EventSystems.ExecuteEvents.Execute(eventSystem.currentSelectedGameObject, data, UnityEngine.EventSystems.ExecuteEvents.cancelHandler); + return data.used; + } + + private bool AllowMoveEventProcessing(float time) + { + bool allow = Input.GetButtonDown(m_HorizontalAxis); + allow |= Input.GetButtonDown(m_VerticalAxis); + allow |= (time > m_NextAction); + return allow; + } + + private Vector2 GetRawMoveVector() + { + Vector2 move = Vector2.zero; + move.x = Input.GetAxisRaw(m_HorizontalAxis); + move.y = Input.GetAxisRaw(m_VerticalAxis); + + if (Input.GetButtonDown(m_HorizontalAxis)) + { + if (move.x < 0) + move.x = -1f; + if (move.x > 0) + move.x = 1f; + } + if (Input.GetButtonDown(m_VerticalAxis)) + { + if (move.y < 0) + move.y = -1f; + if (move.y > 0) + move.y = 1f; + } + return move; + } + + /// + /// Process keyboard events. + /// + private bool SendMoveEventToSelectedObject() + { + float time = Time.unscaledTime; + + if (!AllowMoveEventProcessing(time)) + return false; + + Vector2 movement = GetRawMoveVector(); + // Debug.Log(m_ProcessingEvent.rawType + " axis:" + m_AllowAxisEvents + " value:" + "(" + x + "," + y + ")"); + var axisEventData = GetAxisEventData(movement.x, movement.y, 0.6f); + if (!Mathf.Approximately(axisEventData.moveVector.x, 0f) + || !Mathf.Approximately(axisEventData.moveVector.y, 0f)) + { + UnityEngine.EventSystems.ExecuteEvents.Execute(eventSystem.currentSelectedGameObject, axisEventData, UnityEngine.EventSystems.ExecuteEvents.moveHandler); + } + m_NextAction = time + 1f / m_InputActionsPerSecond; + return axisEventData.used; + } + + + + + + private bool SendUpdateEventToSelectedObject() + { + if (eventSystem.currentSelectedGameObject == null) + return false; + + var data = GetBaseEventData(); + UnityEngine.EventSystems.ExecuteEvents.Execute(eventSystem.currentSelectedGameObject, data, UnityEngine.EventSystems.ExecuteEvents.updateSelectedHandler); + return data.used; + } + + /// + /// Process the current mouse press. + /// + private void ProcessMousePress(MouseButtonEventData data) + { + var pointerEvent = data.buttonData; + var currentOverGo = pointerEvent.pointerCurrentRaycast.gameObject; + + // PointerDown notification + if (data.PressedThisFrame()) + { + pointerEvent.eligibleForClick = true; + pointerEvent.delta = Vector2.zero; + pointerEvent.dragging = false; + pointerEvent.useDragThreshold = true; + pointerEvent.pressPosition = pointerEvent.position; + pointerEvent.pointerPressRaycast = pointerEvent.pointerCurrentRaycast; + + DeselectIfSelectionChanged(currentOverGo, pointerEvent); + + // search for the control that will receive the press + // if we can't find a press handler set the press + // handler to be what would receive a click. + var newPressed = UnityEngine.EventSystems.ExecuteEvents.ExecuteHierarchy(currentOverGo, pointerEvent, UnityEngine.EventSystems.ExecuteEvents.pointerDownHandler); + + // didnt find a press handler... search for a click handler + if (newPressed == null) + newPressed = UnityEngine.EventSystems.ExecuteEvents.GetEventHandler(currentOverGo); + + // Debug.Log("Pressed: " + newPressed); + + float time = Time.unscaledTime; + + if (newPressed == pointerEvent.lastPress) + { + var diffTime = time - pointerEvent.clickTime; + if (diffTime < 0.3f) + ++pointerEvent.clickCount; + else + pointerEvent.clickCount = 1; + + pointerEvent.clickTime = time; + } + else + { + pointerEvent.clickCount = 1; + } + + pointerEvent.pointerPress = newPressed; + pointerEvent.rawPointerPress = currentOverGo; + + pointerEvent.clickTime = time; + + // Save the drag handler as well + pointerEvent.pointerDrag = UnityEngine.EventSystems.ExecuteEvents.GetEventHandler(currentOverGo); + + if (pointerEvent.pointerDrag != null) + UnityEngine.EventSystems.ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, UnityEngine.EventSystems.ExecuteEvents.initializePotentialDrag); + } + + // PointerUp notification + if (data.ReleasedThisFrame()) + { + // Debug.Log("Executing pressup on: " + pointer.pointerPress); + UnityEngine.EventSystems.ExecuteEvents.Execute(pointerEvent.pointerPress, pointerEvent, UnityEngine.EventSystems.ExecuteEvents.pointerUpHandler); + + // Debug.Log("KeyCode: " + pointer.eventData.keyCode); + + // see if we mouse up on the same element that we clicked on... + var pointerUpHandler = UnityEngine.EventSystems.ExecuteEvents.GetEventHandler(currentOverGo); + + // PointerClick and Drop events + if (pointerEvent.pointerPress == pointerUpHandler && pointerEvent.eligibleForClick) + { + UnityEngine.EventSystems.ExecuteEvents.Execute(pointerEvent.pointerPress, pointerEvent, UnityEngine.EventSystems.ExecuteEvents.pointerClickHandler); + } + else if (pointerEvent.pointerDrag != null) + { + UnityEngine.EventSystems.ExecuteEvents.ExecuteHierarchy(currentOverGo, pointerEvent, UnityEngine.EventSystems.ExecuteEvents.dropHandler); + } + + pointerEvent.eligibleForClick = false; + pointerEvent.pointerPress = null; + pointerEvent.rawPointerPress = null; + + if (pointerEvent.pointerDrag != null && pointerEvent.dragging) + UnityEngine.EventSystems.ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, UnityEngine.EventSystems.ExecuteEvents.endDragHandler); + + pointerEvent.dragging = false; + pointerEvent.pointerDrag = null; + + // redo pointer enter / exit to refresh state + // so that if we moused over somethign that ignored it before + // due to having pressed on something else + // it now gets it. + if (currentOverGo != pointerEvent.pointerEnter) + { + HandlePointerExitAndEnter(pointerEvent, null); + HandlePointerExitAndEnter(pointerEvent, currentOverGo); + } + } + } +#endregion +#region Modified StandaloneInputModule methods + + /// + /// Process all mouse events. This is the same as the StandaloneInputModule version except that + /// it takes MouseState as a parameter, allowing it to be used for both Gaze and Mouse + /// pointerss. + /// + private void ProcessMouseEvent(MouseState mouseData) + { + var pressed = mouseData.AnyPressesThisFrame(); + var released = mouseData.AnyReleasesThisFrame(); + + var leftButtonData = mouseData.GetButtonState(UnityEngine.EventSystems.PointerEventData.InputButton.Left).eventData; + + if (!UseMouse(pressed, released, leftButtonData.buttonData)) + return; + + // Process the first mouse button fully + ProcessMousePress(leftButtonData); + ProcessMove(leftButtonData.buttonData); + ProcessDrag(leftButtonData.buttonData); + + // Now process right / middle clicks + ProcessMousePress(mouseData.GetButtonState(UnityEngine.EventSystems.PointerEventData.InputButton.Right).eventData); + ProcessDrag(mouseData.GetButtonState(UnityEngine.EventSystems.PointerEventData.InputButton.Right).eventData.buttonData); + ProcessMousePress(mouseData.GetButtonState(UnityEngine.EventSystems.PointerEventData.InputButton.Middle).eventData); + ProcessDrag(mouseData.GetButtonState(UnityEngine.EventSystems.PointerEventData.InputButton.Middle).eventData.buttonData); + + if (!Mathf.Approximately(leftButtonData.buttonData.scrollDelta.sqrMagnitude, 0.0f)) + { + var scrollHandler = UnityEngine.EventSystems.ExecuteEvents.GetEventHandler(leftButtonData.buttonData.pointerCurrentRaycast.gameObject); + UnityEngine.EventSystems.ExecuteEvents.ExecuteHierarchy(scrollHandler, leftButtonData.buttonData, UnityEngine.EventSystems.ExecuteEvents.scrollHandler); + } + } + + /// + /// Process this InputModule. Same as the StandaloneInputModule version, except that it calls + /// ProcessMouseEvent twice, once for gaze pointers, and once for mouse pointers. + /// + public override void Process() + { + bool usedEvent = SendUpdateEventToSelectedObject(); + + if (eventSystem.sendNavigationEvents) + { + if (!usedEvent) + usedEvent |= SendMoveEventToSelectedObject(); + + if (!usedEvent) + SendSubmitEventToSelectedObject(); + } + + ProcessMouseEvent(GetGazePointerData()); +#if !UNITY_ANDROID + ProcessMouseEvent(GetCanvasPointerData()); +#endif + } + /// + /// Decide if mouse events need to be processed this frame. Same as StandloneInputModule except + /// that the IsPointerMoving method from this class is used, instead of the method on PointerEventData + /// + private static bool UseMouse(bool pressed, bool released, UnityEngine.EventSystems.PointerEventData pointerData) + { + if (pressed || released || IsPointerMoving(pointerData) || pointerData.IsScrolling()) + return true; + + return false; + } +#endregion + + + /// + /// Convenience function for cloning PointerEventData + /// + /// Copy this value + /// to this object + protected void CopyFromTo(OVRRayPointerEventData @from, OVRRayPointerEventData @to) + { + @to.position = @from.position; + @to.delta = @from.delta; + @to.scrollDelta = @from.scrollDelta; + @to.pointerCurrentRaycast = @from.pointerCurrentRaycast; + @to.pointerEnter = @from.pointerEnter; + @to.worldSpaceRay = @from.worldSpaceRay; + } + /// + /// Convenience function for cloning PointerEventData + /// + /// Copy this value + /// to this object + protected new void CopyFromTo(UnityEngine.EventSystems.PointerEventData @from, UnityEngine.EventSystems.PointerEventData @to) + { + @to.position = @from.position; + @to.delta = @from.delta; + @to.scrollDelta = @from.scrollDelta; + @to.pointerCurrentRaycast = @from.pointerCurrentRaycast; + @to.pointerEnter = @from.pointerEnter; + } + + + // In the following region we extend the PointerEventData system implemented in PointerInputModule + // We define an additional dictionary for ray(e.g. gaze) based pointers. Mouse pointers still use the dictionary + // in PointerInputModule +#region PointerEventData pool + + // Pool for OVRRayPointerEventData for ray based pointers + protected Dictionary m_VRRayPointerData = new Dictionary(); + + + protected bool GetPointerData(int id, out OVRRayPointerEventData data, bool create) + { + if (!m_VRRayPointerData.TryGetValue(id, out data) && create) + { + data = new OVRRayPointerEventData(eventSystem) + { + pointerId = id, + }; + + m_VRRayPointerData.Add(id, data); + return true; + } + return false; + } + + /// + /// Clear pointer state for both types of pointer + /// + protected new void ClearSelection() + { + var baseEventData = GetBaseEventData(); + + foreach (var pointer in m_PointerData.Values) + { + // clear all selection + HandlePointerExitAndEnter(pointer, null); + } + foreach (var pointer in m_VRRayPointerData.Values) + { + // clear all selection + HandlePointerExitAndEnter(pointer, null); + } + + m_PointerData.Clear(); + eventSystem.SetSelectedGameObject(null, baseEventData); + } +#endregion + + /// + /// For RectTransform, calculate it's normal in world space + /// + static Vector3 GetRectTransformNormal(RectTransform rectTransform) + { + Vector3[] corners = new Vector3[4]; + rectTransform.GetWorldCorners(corners); + Vector3 BottomEdge = corners[3] - corners[0]; + Vector3 LeftEdge = corners[1] - corners[0]; + rectTransform.GetWorldCorners(corners); + return Vector3.Cross(LeftEdge, BottomEdge).normalized; + } + + private readonly MouseState m_MouseState = new MouseState(); + // Overridden so that we can process the two types of pointer separately + + + // The following 2 functions are equivalent to PointerInputModule.GetMousePointerEventData but are customized to + // get data for ray pointers and canvas mouse pointers. + + /// + /// State for a pointer controlled by a world space ray. E.g. gaze pointer + /// + /// + protected MouseState GetGazePointerData() + { + // Get the OVRRayPointerEventData reference + OVRRayPointerEventData leftData; + GetPointerData(kMouseLeftId, out leftData, true ); + leftData.Reset(); + + + leftData.worldSpaceRay = OVRInputHelpers.GetSelectionRay(activeController, trackingSpace); + leftData.scrollDelta = GetExtraScrollDelta(); + + //Populate some default values + leftData.button = UnityEngine.EventSystems.PointerEventData.InputButton.Left; + leftData.useDragThreshold = true; + // Perform raycast to find intersections with world + eventSystem.RaycastAll(leftData, m_RaycastResultCache); + var raycast = FindFirstRaycast(m_RaycastResultCache); + leftData.pointerCurrentRaycast = raycast; + m_RaycastResultCache.Clear(); + + OVRRaycaster ovrRaycaster = raycast.module as OVRRaycaster; + // We're only interested in intersections from OVRRaycasters + if (ovrRaycaster) + { + // The Unity UI system expects event data to have a screen position + // so even though this raycast came from a world space ray we must get a screen + // space position for the camera attached to this raycaster for compatability + leftData.position = ovrRaycaster.GetScreenPosition(raycast); + + + // Find the world position and normal the Graphic the ray intersected + RectTransform graphicRect = raycast.gameObject.GetComponent(); + if (graphicRect != null) + { + // Set are gaze indicator with this world position and normal + // Vector3 worldPos = raycast.worldPosition; + //Vector3 normal = GetRectTransformNormal(graphicRect); + + if (OnSelectionRayHit != null) { + OnSelectionRayHit(raycast.worldPosition, raycast.worldNormal); + } + } + } + OVRPhysicsRaycaster physicsRaycaster = raycast.module as OVRPhysicsRaycaster; + if (physicsRaycaster) + { + leftData.position = physicsRaycaster.GetScreenPos(raycast.worldPosition); + + if (OnSelectionRayHit != null) { + OnSelectionRayHit(raycast.worldPosition, raycast.worldNormal); + } + } + + // Stick default data values in right and middle slots for compatability + + // copy the apropriate data into right and middle slots + OVRRayPointerEventData rightData; + GetPointerData(kMouseRightId, out rightData, true ); + CopyFromTo(leftData, rightData); + rightData.button = UnityEngine.EventSystems.PointerEventData.InputButton.Right; + + OVRRayPointerEventData middleData; + GetPointerData(kMouseMiddleId, out middleData, true ); + CopyFromTo(leftData, middleData); + middleData.button = UnityEngine.EventSystems.PointerEventData.InputButton.Middle; + + + m_MouseState.SetButtonState(UnityEngine.EventSystems.PointerEventData.InputButton.Left, GetGazeButtonState(), leftData); + m_MouseState.SetButtonState(UnityEngine.EventSystems.PointerEventData.InputButton.Right, UnityEngine.EventSystems.PointerEventData.FramePressState.NotChanged, rightData); + m_MouseState.SetButtonState(UnityEngine.EventSystems.PointerEventData.InputButton.Middle, UnityEngine.EventSystems.PointerEventData.FramePressState.NotChanged, middleData); + return m_MouseState; + } + + /// + /// Get state for pointer which is a pointer moving in world space across the surface of a world space canvas. + /// + /// + protected MouseState GetCanvasPointerData() + { + // Get the OVRRayPointerEventData reference + UnityEngine.EventSystems.PointerEventData leftData; + GetPointerData(kMouseLeftId, out leftData, true ); + leftData.Reset(); + + // Setup default values here. Set position to zero because we don't actually know the pointer + // positions. Each canvas knows the position of its canvas pointer. + leftData.position = Vector2.zero; + leftData.scrollDelta = Input.mouseScrollDelta; + leftData.button = UnityEngine.EventSystems.PointerEventData.InputButton.Left; + + if (activeGraphicRaycaster) + { + // Let the active raycaster find intersections on its canvas + activeGraphicRaycaster.RaycastPointer(leftData, m_RaycastResultCache); + var raycast = FindFirstRaycast(m_RaycastResultCache); + leftData.pointerCurrentRaycast = raycast; + m_RaycastResultCache.Clear(); + + OVRRaycaster ovrRaycaster = raycast.module as OVRRaycaster; + if (ovrRaycaster) // raycast may not actually contain a result + { + // The Unity UI system expects event data to have a screen position + // so even though this raycast came from a world space ray we must get a screen + // space position for the camera attached to this raycaster for compatability + Vector2 position = ovrRaycaster.GetScreenPosition(raycast); + + leftData.delta = position - leftData.position; + leftData.position = position; + } + } + + // copy the apropriate data into right and middle slots + UnityEngine.EventSystems.PointerEventData rightData; + GetPointerData(kMouseRightId, out rightData, true ); + CopyFromTo(leftData, rightData); + rightData.button = UnityEngine.EventSystems.PointerEventData.InputButton.Right; + + UnityEngine.EventSystems.PointerEventData middleData; + GetPointerData(kMouseMiddleId, out middleData, true ); + CopyFromTo(leftData, middleData); + middleData.button = UnityEngine.EventSystems.PointerEventData.InputButton.Middle; + + m_MouseState.SetButtonState(UnityEngine.EventSystems.PointerEventData.InputButton.Left, StateForMouseButton(0), leftData); + m_MouseState.SetButtonState(UnityEngine.EventSystems.PointerEventData.InputButton.Right, StateForMouseButton(1), rightData); + m_MouseState.SetButtonState(UnityEngine.EventSystems.PointerEventData.InputButton.Middle, StateForMouseButton(2), middleData); + return m_MouseState; + } + + /// + /// New version of ShouldStartDrag implemented first in PointerInputModule. This version differs in that + /// for ray based pointers it makes a decision about whether a drag should start based on the angular change + /// the pointer has made so far, as seen from the camera. This also works when the world space ray is + /// translated rather than rotated, since the beginning and end of the movement are considered as angle from + /// the same point. + /// + private bool ShouldStartDrag(UnityEngine.EventSystems.PointerEventData pointerEvent) + { + if (!pointerEvent.useDragThreshold) + return true; + + if (pointerEvent as OVRRayPointerEventData == null) + { + // Same as original behaviour for canvas based pointers + return (pointerEvent.pressPosition - pointerEvent.position).sqrMagnitude >= eventSystem.pixelDragThreshold * eventSystem.pixelDragThreshold; + } + else + { + // When it's not a screen space pointer we have to look at the angle it moved rather than the pixels distance + // For gaze based pointing screen-space distance moved will always be near 0 + Vector3 cameraPos = pointerEvent.pressEventCamera.transform.position; + Vector3 pressDir = (pointerEvent.pointerPressRaycast.worldPosition - cameraPos).normalized; + Vector3 currentDir = (pointerEvent.pointerCurrentRaycast.worldPosition - cameraPos).normalized; + return Vector3.Dot(pressDir, currentDir) < Mathf.Cos(Mathf.Deg2Rad * (angleDragThreshold)); + } + } + + /// + /// The purpose of this function is to allow us to switch between using the standard IsPointerMoving + /// method for mouse driven pointers, but to always return true when it's a ray based pointer. + /// All real-world ray-based input devices are always moving so for simplicity we just return true + /// for them. + /// + /// If PointerEventData.IsPointerMoving was virtual we could just override that in + /// OVRRayPointerEventData. + /// + /// + /// + static bool IsPointerMoving(UnityEngine.EventSystems.PointerEventData pointerEvent) + { + OVRRayPointerEventData rayPointerEventData = pointerEvent as OVRRayPointerEventData; + if (rayPointerEventData != null) + return true; + else + return pointerEvent.IsPointerMoving(); + } + + /// + /// Exactly the same as the code from PointerInputModule, except that we call our own + /// IsPointerMoving. + /// + /// This would also not be necessary if PointerEventData.IsPointerMoving was virtual + /// + /// + protected override void ProcessDrag(UnityEngine.EventSystems.PointerEventData pointerEvent) + { + bool moving = IsPointerMoving(pointerEvent); + if (moving && pointerEvent.pointerDrag != null + && !pointerEvent.dragging + && ShouldStartDrag(pointerEvent)) + { + UnityEngine.EventSystems.ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, UnityEngine.EventSystems.ExecuteEvents.beginDragHandler); + pointerEvent.dragging = true; + } + + // Drag notification + if (pointerEvent.dragging && moving && pointerEvent.pointerDrag != null) + { + // Before doing drag we should cancel any pointer down state + // And clear selection! + if (pointerEvent.pointerPress != pointerEvent.pointerDrag) + { + UnityEngine.EventSystems.ExecuteEvents.Execute(pointerEvent.pointerPress, pointerEvent, UnityEngine.EventSystems.ExecuteEvents.pointerUpHandler); + + pointerEvent.eligibleForClick = false; + pointerEvent.pointerPress = null; + pointerEvent.rawPointerPress = null; + } + UnityEngine.EventSystems.ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, UnityEngine.EventSystems.ExecuteEvents.dragHandler); + } + } + + /// + /// Get state of button corresponding to gaze pointer + /// + /// + protected UnityEngine.EventSystems.PointerEventData.FramePressState GetGazeButtonState() + { + var pressed = false; + var released = false; + + if (activeController != OVRInput.Controller.None) { + pressed = OVRInput.GetDown(joyPadClickButton, activeController); + released = OVRInput.GetUp(joyPadClickButton, activeController); + } + else { + pressed = OVRInput.GetDown(joyPadClickButton); + released = OVRInput.GetUp(joyPadClickButton); + } + +#if UNITY_ANDROID && !UNITY_EDITOR + pressed |= Input.GetMouseButtonDown(0); + released |= Input.GetMouseButtonUp(0); +#endif + + if (pressed && released) { + //Debug.Log ("pressed & released"); + return UnityEngine.EventSystems.PointerEventData.FramePressState.PressedAndReleased; + } + if (pressed) { + //Debug.Log ("pressed"); + return UnityEngine.EventSystems.PointerEventData.FramePressState.Pressed; + } + if (released) { + //Debug.Log ("released"); + return UnityEngine.EventSystems.PointerEventData.FramePressState.Released; + } + + return UnityEngine.EventSystems.PointerEventData.FramePressState.NotChanged; + } + + /// + /// Get extra scroll delta from gamepad + /// + protected Vector2 GetExtraScrollDelta() + { + Vector2 scrollDelta = new Vector2(); + if (useLeftStickScroll) + { + float x = OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick).x; + float y = OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick).y; + if (Mathf.Abs(x) < leftStickDeadZone) x = 0; + if (Mathf.Abs(y) < leftStickDeadZone) y = 0; + scrollDelta = new Vector2 (x,y); + } + return scrollDelta; + } + }; +} \ No newline at end of file diff --git a/Assets/OVRInputSelection/InputSystem/OVRInputModule.cs.meta b/Assets/OVRInputSelection/InputSystem/OVRInputModule.cs.meta new file mode 100644 index 0000000..7619244 --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRInputModule.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b4a9c50de96f6d04386957f4741ac65c +timeCreated: 1512377439 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/InputSystem/OVRPhysicsRaycaster.cs b/Assets/OVRInputSelection/InputSystem/OVRPhysicsRaycaster.cs new file mode 100644 index 0000000..cd6f3e8 --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRPhysicsRaycaster.cs @@ -0,0 +1,176 @@ +/************************************************************************************ + +Copyright : Copyright 2014-Present Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License"); +you may not use the Oculus VR Rift 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 + +http://www.oculusvr.com/licenses/LICENSE-3.2 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections.Generic; + +namespace ControllerSelection +{ + /// + /// Simple event system using physics raycasts. + /// + [RequireComponent(typeof(OVRCameraRig))] + public class OVRPhysicsRaycaster : UnityEngine.EventSystems.BaseRaycaster + { + /// + /// Const to use for clarity when no event mask is set + /// + protected const int kNoEventMaskSet = -1; + + + /// + /// Layer mask used to filter events. Always combined with the camera's culling mask if a camera is used. + /// + [SerializeField] + protected LayerMask m_EventMask = kNoEventMaskSet; + + protected OVRPhysicsRaycaster() + { } + + public override Camera eventCamera + { + get + { + return GetComponent().leftEyeCamera; + } + } + + /// + /// Depth used to determine the order of event processing. + /// + public virtual int depth + { + get { return (eventCamera != null) ? (int)eventCamera.depth : 0xFFFFFF; } + } + + /// + /// Event mask used to determine which objects will receive events. + /// + public int finalEventMask + { + get { return (eventCamera != null) ? eventCamera.cullingMask & m_EventMask : kNoEventMaskSet; } + } + + /// + /// Layer mask used to filter events. Always combined with the camera's culling mask if a camera is used. + /// + public LayerMask eventMask + { + get { return m_EventMask; } + set { m_EventMask = value; } + } + + + /// + /// Perform a raycast using the worldSpaceRay in eventData. + /// + /// + /// + public override void Raycast(UnityEngine.EventSystems.PointerEventData eventData, List resultAppendList) + { + // This function is closely based on PhysicsRaycaster.Raycast + + if (eventCamera == null) + return; + + OVRRayPointerEventData rayPointerEventData = eventData as OVRRayPointerEventData; + if (rayPointerEventData == null) + return; + + var ray = rayPointerEventData.worldSpaceRay; + + float dist = eventCamera.farClipPlane - eventCamera.nearClipPlane; + + var hits = Physics.RaycastAll(ray, dist, finalEventMask); + + if (hits.Length > 1) + System.Array.Sort(hits, (r1, r2) => r1.distance.CompareTo(r2.distance)); + + if (hits.Length != 0) + { + for (int b = 0, bmax = hits.Length; b < bmax; ++b) + { + var result = new UnityEngine.EventSystems.RaycastResult + { + gameObject = hits[b].collider.gameObject, + module = this, + distance = hits[b].distance, + index = resultAppendList.Count, + worldPosition = hits[0].point, + worldNormal = hits[0].normal, + }; + resultAppendList.Add(result); + } + } + } + + /// + /// Perform a Spherecast using the worldSpaceRay in eventData. + /// + /// + /// + /// Radius of the sphere + public void Spherecast(UnityEngine.EventSystems.PointerEventData eventData, List resultAppendList, float radius) + { + if (eventCamera == null) + return; + + OVRRayPointerEventData rayPointerEventData = eventData as OVRRayPointerEventData; + if (rayPointerEventData == null) + return; + + var ray = rayPointerEventData.worldSpaceRay; + + float dist = eventCamera.farClipPlane - eventCamera.nearClipPlane; + + var hits = Physics.SphereCastAll(ray, radius, dist, finalEventMask); + + if (hits.Length > 1) + System.Array.Sort(hits, (r1, r2) => r1.distance.CompareTo(r2.distance)); + + if (hits.Length != 0) + { + for (int b = 0, bmax = hits.Length; b < bmax; ++b) + { + var result = new UnityEngine.EventSystems.RaycastResult + { + gameObject = hits[b].collider.gameObject, + module = this, + distance = hits[b].distance, + index = resultAppendList.Count, + worldPosition = hits[0].point, + worldNormal = hits[0].normal, + }; + resultAppendList.Add(result); + } + } + } + /// + /// Get screen position of this world position as seen by the event camera of this OVRPhysicsRaycaster + /// + /// + /// + public Vector2 GetScreenPos(Vector3 worldPosition) + { + // In future versions of Uinty RaycastResult will contain screenPosition so this will not be necessary + return eventCamera.WorldToScreenPoint(worldPosition); + } + } +} diff --git a/Assets/OVRInputSelection/InputSystem/OVRPhysicsRaycaster.cs.meta b/Assets/OVRInputSelection/InputSystem/OVRPhysicsRaycaster.cs.meta new file mode 100644 index 0000000..effbc8b --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRPhysicsRaycaster.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8a8570f210d5cef498074d4fe90d403f +timeCreated: 1512377479 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/InputSystem/OVRPointerVisualizer.cs b/Assets/OVRInputSelection/InputSystem/OVRPointerVisualizer.cs new file mode 100644 index 0000000..f6d10ce --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRPointerVisualizer.cs @@ -0,0 +1,102 @@ +/************************************************************************************ + +Copyright : Copyright 2017-Present Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License"); +you may not use the Oculus VR Rift 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 + +http://www.oculusvr.com/licenses/LICENSE-3.2 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using UnityEngine.SceneManagement; + +namespace ControllerSelection { + + public class OVRPointerVisualizer : MonoBehaviour { + [Header("(Optional) Tracking space")] + [Tooltip("Tracking space of the OVRCameraRig.\nIf tracking space is not set, the scene will be searched.\nThis search is expensive.")] + public Transform trackingSpace = null; + [Header("Visual Elements")] + [Tooltip("Line Renderer used to draw selection ray.")] + public LineRenderer linePointer = null; + [Tooltip("Fallback gaze pointer.")] + public Transform gazePointer = null; + [Tooltip("Visually, how far out should the ray be drawn.")] + public float rayDrawDistance = 500; + [Tooltip("How far away the gaze pointer should be from the camera.")] + public float gazeDrawDistance = 3; + + [HideInInspector] + public OVRInput.Controller activeController = OVRInput.Controller.None; + + void Awake() { + if (trackingSpace == null) { + Debug.LogWarning("OVRPointerVisualizer did not have a tracking space set. Looking for one"); + trackingSpace = OVRInputHelpers.FindTrackingSpace(); + } + } + + void OnEnable() { + SceneManager.sceneLoaded += OnSceneLoaded; + } + + void OnDisable() { + SceneManager.sceneLoaded -= OnSceneLoaded; + } + + void OnSceneLoaded(Scene scene, LoadSceneMode mode) { + if (trackingSpace == null) { + Debug.LogWarning("OVRPointerVisualizer did not have a tracking space set. Looking for one"); + trackingSpace = OVRInputHelpers.FindTrackingSpace(); + } + } + + public void SetPointer(Ray ray) { + if (linePointer != null) { + linePointer.SetPosition(0, ray.origin); + linePointer.SetPosition(1, ray.origin + ray.direction * rayDrawDistance); + } + + if (gazePointer != null) { + gazePointer.position = ray.origin + ray.direction * gazeDrawDistance; + } + } + + public void SetPointerVisibility() { + if (trackingSpace != null && activeController != OVRInput.Controller.None) { + if (linePointer != null) { + linePointer.enabled = true; + } + if (gazePointer != null) { + gazePointer.gameObject.SetActive(false); + } + } + else { + if (linePointer != null) { + linePointer.enabled = false; + } + if (gazePointer != null) { + gazePointer.gameObject.SetActive(true); + } + } + } + + void Update() { + activeController = OVRInputHelpers.GetControllerForButton(OVRInput.Button.PrimaryIndexTrigger, activeController); + Ray selectionRay = OVRInputHelpers.GetSelectionRay(activeController, trackingSpace); + SetPointerVisibility(); + SetPointer(selectionRay); + } + } +} \ No newline at end of file diff --git a/Assets/OVRInputSelection/InputSystem/OVRPointerVisualizer.cs.meta b/Assets/OVRInputSelection/InputSystem/OVRPointerVisualizer.cs.meta new file mode 100644 index 0000000..3333edf --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRPointerVisualizer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 12283131fa5724f44b343883ae474072 +timeCreated: 1512454634 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/InputSystem/OVRRawRaycaster.cs b/Assets/OVRInputSelection/InputSystem/OVRRawRaycaster.cs new file mode 100644 index 0000000..3b886d9 --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRRawRaycaster.cs @@ -0,0 +1,171 @@ +/************************************************************************************ + +Copyright : Copyright 2017-Present Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License"); +you may not use the Oculus VR Rift 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 + +http://www.oculusvr.com/licenses/LICENSE-3.2 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using UnityEngine.Events; +using UnityEngine.SceneManagement; + +namespace ControllerSelection { + public class OVRRawRaycaster : MonoBehaviour { + [System.Serializable] + public class HoverCallback : UnityEvent { } + [System.Serializable] + public class SelectionCallback : UnityEvent { } + + [Header("(Optional) Tracking space")] + [Tooltip("Tracking space of the OVRCameraRig.\nIf tracking space is not set, the scene will be searched.\nThis search is expensive.")] + public Transform trackingSpace = null; + + + [Header("Selection")] + [Tooltip("Primary selection button")] + public OVRInput.Button primaryButton = OVRInput.Button.PrimaryIndexTrigger; + [Tooltip("Secondary selection button")] + public OVRInput.Button secondaryButton = OVRInput.Button.PrimaryTouchpad; + [Tooltip("Layers to exclude from raycast")] + public LayerMask excludeLayers; + [Tooltip("Maximum raycast distance")] + public float raycastDistance = 500; + + [Header("Hover Callbacks")] + public OVRRawRaycaster.HoverCallback onHoverEnter; + public OVRRawRaycaster.HoverCallback onHoverExit; + public OVRRawRaycaster.HoverCallback onHover; + + [Header("Selection Callbacks")] + public OVRRawRaycaster.SelectionCallback onPrimarySelect; + public OVRRawRaycaster.SelectionCallback onSecondarySelect; + + //protected Ray pointer; + protected Transform lastHit = null; + protected Transform triggerDown = null; + protected Transform padDown = null; + + [HideInInspector] + public OVRInput.Controller activeController = OVRInput.Controller.None; + + void Awake() { + if (trackingSpace == null) { + Debug.LogWarning("OVRRawRaycaster did not have a tracking space set. Looking for one"); + trackingSpace = OVRInputHelpers.FindTrackingSpace(); + } + } + + void OnEnable() { + SceneManager.sceneLoaded += OnSceneLoaded; + } + + void OnDisable() { + SceneManager.sceneLoaded -= OnSceneLoaded; + } + + void OnSceneLoaded(Scene scene, LoadSceneMode mode) { + if (trackingSpace == null) { + Debug.LogWarning("OVRRawRaycaster did not have a tracking space set. Looking for one"); + trackingSpace = OVRInputHelpers.FindTrackingSpace(); + } + } + + void Update() { + activeController = OVRInputHelpers.GetControllerForButton(OVRInput.Button.PrimaryIndexTrigger, activeController); + Ray pointer = OVRInputHelpers.GetSelectionRay(activeController, trackingSpace); + + RaycastHit hit; // Was anything hit? + if (Physics.Raycast(pointer, out hit, raycastDistance, ~excludeLayers)) { + if (lastHit != null && lastHit != hit.transform) { + if (onHoverExit != null) { + onHoverExit.Invoke(lastHit); + } + lastHit = null; + } + + if (lastHit == null) { + if (onHoverEnter != null) { + onHoverEnter.Invoke(hit.transform); + } + } + + if (onHover != null) { + onHover.Invoke(hit.transform); + } + + lastHit = hit.transform; + + // Handle selection callbacks. An object is selected if the button selecting it was + // pressed AND released while hovering over the object. + if (activeController != OVRInput.Controller.None) { + if (OVRInput.GetDown(secondaryButton, activeController)) { + padDown = lastHit; + } + else if (OVRInput.GetUp(secondaryButton, activeController)) { + if (padDown != null && padDown == lastHit) { + if (onSecondarySelect != null) { + onSecondarySelect.Invoke(padDown); + } + } + } + if (!OVRInput.Get(secondaryButton, activeController)) { + padDown = null; + } + + if (OVRInput.GetDown(primaryButton, activeController)) { + triggerDown = lastHit; + } + else if (OVRInput.GetUp(primaryButton, activeController)) { + if (triggerDown != null && triggerDown == lastHit) { + if (onPrimarySelect != null) { + onPrimarySelect.Invoke(triggerDown); + } + } + } + if (!OVRInput.Get(primaryButton, activeController)) { + triggerDown = null; + } + } +#if UNITY_ANDROID && !UNITY_EDITOR + // Gaze pointer fallback + else { + if (Input.GetMouseButtonDown(0) ) { + triggerDown = lastHit; + } + else if (Input.GetMouseButtonUp(0) ) { + if (triggerDown != null && triggerDown == lastHit) { + if (onPrimarySelect != null) { + onPrimarySelect.Invoke(triggerDown); + } + } + } + if (!Input.GetMouseButton(0)) { + triggerDown = null; + } + } +#endif + } + // Nothing was hit, handle exit callback + else if (lastHit != null) { + if (onHoverExit != null) { + onHoverExit.Invoke(lastHit); + } + lastHit = null; + } + } + } +} \ No newline at end of file diff --git a/Assets/OVRInputSelection/InputSystem/OVRRawRaycaster.cs.meta b/Assets/OVRInputSelection/InputSystem/OVRRawRaycaster.cs.meta new file mode 100644 index 0000000..8527147 --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRRawRaycaster.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 472cd28b041d447a4b0f2b5c603034aa +timeCreated: 1512455466 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/InputSystem/OVRRayPointerEventData.cs b/Assets/OVRInputSelection/InputSystem/OVRRayPointerEventData.cs new file mode 100644 index 0000000..02fc8b7 --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRRayPointerEventData.cs @@ -0,0 +1,54 @@ +/************************************************************************************ + +Copyright : Copyright 2014-Present Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License"); +you may not use the Oculus VR Rift 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 + +http://www.oculusvr.com/licenses/LICENSE-3.2 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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.Text; +using UnityEngine; + +namespace ControllerSelection +{ + + public class OVRRayPointerEventData : UnityEngine.EventSystems.PointerEventData + { + public OVRRayPointerEventData(UnityEngine.EventSystems.EventSystem eventSystem) + : base(eventSystem) + { + + } + + public Ray worldSpaceRay; + + public override string ToString() + { + var sb = new StringBuilder(); + sb.AppendLine("Position: " + position); + sb.AppendLine("delta: " + delta); + sb.AppendLine("eligibleForClick: " + eligibleForClick); + sb.AppendLine("pointerEnter: " + pointerEnter); + sb.AppendLine("pointerPress: " + pointerPress); + sb.AppendLine("lastPointerPress: " + lastPress); + sb.AppendLine("pointerDrag: " + pointerDrag); + sb.AppendLine("worldSpaceRay: " + worldSpaceRay); + sb.AppendLine("Use Drag Threshold: " + useDragThreshold); + return sb.ToString(); + } + + } +} diff --git a/Assets/OVRInputSelection/InputSystem/OVRRayPointerEventData.cs.meta b/Assets/OVRInputSelection/InputSystem/OVRRayPointerEventData.cs.meta new file mode 100644 index 0000000..adb010e --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRRayPointerEventData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 222a144add71984439523eaef3164746 +timeCreated: 1512377471 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/InputSystem/OVRRaycaster.cs b/Assets/OVRInputSelection/InputSystem/OVRRaycaster.cs new file mode 100644 index 0000000..e5dd122 --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRRaycaster.cs @@ -0,0 +1,281 @@ +/************************************************************************************ + +Copyright : Copyright 2014-Present Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License"); +you may not use the Oculus VR Rift 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 + +http://www.oculusvr.com/licenses/LICENSE-3.2 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using UnityEngine.UI; + +namespace ControllerSelection { + [RequireComponent(typeof(Canvas))] + public class OVRRaycaster : GraphicRaycaster, UnityEngine.EventSystems.IPointerEnterHandler { + protected OVRRaycaster() { } + + [NonSerialized] + private Canvas m_Canvas; + + private Canvas canvas { + get { + if (m_Canvas != null) + return m_Canvas; + + m_Canvas = GetComponent(); + return m_Canvas; + } + } + + protected bool warnedAboutCamera = false; + public override Camera eventCamera { + get { + if (canvas == null || canvas.worldCamera == null) { + if (!warnedAboutCamera) { + warnedAboutCamera = true; + Debug.LogWarning("OVRRaycaster belongs to a canvas with no world camera!"); + } + if (OVRManager.instance != null) { + OVRCameraRig cameraRig = OVRManager.instance.GetComponent(); + if (cameraRig != null) { + if (cameraRig.leftEyeCamera != null) { + return cameraRig.leftEyeCamera; + } + } + } + return Camera.main; + } + return canvas.worldCamera; + } + } + + + /// + /// For the given ray, find graphics on this canvas which it intersects and are not blocked by other + /// world objects + /// + [NonSerialized] + private List m_RaycastResults = new List(); + private void Raycast(UnityEngine.EventSystems.PointerEventData eventData, List resultAppendList, Ray ray, bool checkForBlocking) { + //This function is closely based on + //void GraphicRaycaster.Raycast(PointerEventData eventData, List resultAppendList) + + if (canvas == null) + return; + + float hitDistance = float.MaxValue; + + if (checkForBlocking && blockingObjects != BlockingObjects.None) { + float dist = eventCamera.farClipPlane; + + if (blockingObjects == BlockingObjects.ThreeD || blockingObjects == BlockingObjects.All) { + var hits = Physics.RaycastAll(ray, dist, m_BlockingMask); + + if (hits.Length > 0 && hits[0].distance < hitDistance) { + hitDistance = hits[0].distance; + } + } + + if (blockingObjects == BlockingObjects.TwoD || blockingObjects == BlockingObjects.All) { + var hits = Physics2D.GetRayIntersectionAll(ray, dist, m_BlockingMask); + + if (hits.Length > 0 && hits[0].fraction * dist < hitDistance) { + hitDistance = hits[0].fraction * dist; + } + } + } + + m_RaycastResults.Clear(); + + GraphicRaycast(canvas, ray, m_RaycastResults); + + for (var index = 0; index < m_RaycastResults.Count; index++) { + var go = m_RaycastResults[index].graphic.gameObject; + bool appendGraphic = true; + + if (ignoreReversedGraphics) { + // If we have a camera compare the direction against the cameras forward. + var cameraFoward = ray.direction; + var dir = go.transform.rotation * Vector3.forward; + appendGraphic = Vector3.Dot(cameraFoward, dir) > 0; + } + + // Ignore points behind us (can happen with a canvas pointer) + if (eventCamera.transform.InverseTransformPoint(m_RaycastResults[index].worldPos).z <= 0) { + appendGraphic = false; + } + + if (appendGraphic) { + float distance = Vector3.Distance(ray.origin, m_RaycastResults[index].worldPos); + + if (distance >= hitDistance) { + continue; + } + + var castResult = new UnityEngine.EventSystems.RaycastResult { + gameObject = go, + module = this, + distance = distance, + index = resultAppendList.Count, + depth = m_RaycastResults[index].graphic.depth, + + worldPosition = m_RaycastResults[index].worldPos + }; + resultAppendList.Add(castResult); + } + } + } + + /// + /// Performs a raycast using eventData.worldSpaceRay + /// + /// + /// + public override void Raycast(UnityEngine.EventSystems.PointerEventData eventData, List resultAppendList) { + OVRRayPointerEventData rayPointerEventData = eventData as OVRRayPointerEventData; + if (rayPointerEventData != null) { + Raycast(eventData, resultAppendList, rayPointerEventData.worldSpaceRay, true); + } + } + /// + /// Performs a raycast using the pointer object attached to this OVRRaycaster + /// + /// + /// + public void RaycastPointer(UnityEngine.EventSystems.PointerEventData eventData, List resultAppendList) { + + } + + + /// + /// Perform a raycast into the screen and collect all graphics underneath it. + /// + [NonSerialized] + static readonly List s_SortedGraphics = new List(); + private void GraphicRaycast(Canvas canvas, Ray ray, List results) { + //This function is based closely on : + // void GraphicRaycaster.Raycast(Canvas canvas, Camera eventCamera, Vector2 pointerPosition, List results) + // But modified to take a Ray instead of a canvas pointer, and also to explicitly ignore + // the graphic associated with the pointer + + // Necessary for the event system + var foundGraphics = GraphicRegistry.GetGraphicsForCanvas(canvas); + s_SortedGraphics.Clear(); + for (int i = 0; i < foundGraphics.Count; ++i) { + Graphic graphic = foundGraphics[i]; + + // -1 means it hasn't been processed by the canvas, which means it isn't actually drawn + if (graphic.depth == -1) + continue; + Vector3 worldPos; + if (RayIntersectsRectTransform(graphic.rectTransform, ray, out worldPos) && eventCamera != null) { + //Work out where this is on the screen for compatibility with existing Unity UI code + Vector2 screenPos = eventCamera.WorldToScreenPoint(worldPos); + // mask/image intersection - See Unity docs on eventAlphaThreshold for when this does anything + if (graphic.Raycast(screenPos, eventCamera)) { + RaycastHit hit; + hit.graphic = graphic; + hit.worldPos = worldPos; + hit.fromMouse = false; + s_SortedGraphics.Add(hit); + } + } + } + + s_SortedGraphics.Sort((g1, g2) => g2.graphic.depth.CompareTo(g1.graphic.depth)); + + for (int i = 0; i < s_SortedGraphics.Count; ++i) { + results.Add(s_SortedGraphics[i]); + } + } + /// + /// Get screen position of worldPosition contained in this RaycastResult + /// + /// + /// + public Vector2 GetScreenPosition(UnityEngine.EventSystems.RaycastResult raycastResult) { + // In future versions of Uinty RaycastResult will contain screenPosition so this will not be necessary + return eventCamera.WorldToScreenPoint(raycastResult.worldPosition); + } + + + /// + /// Detects whether a ray intersects a RectTransform and if it does also + /// returns the world position of the intersection. + /// + /// + /// + /// + /// + static bool RayIntersectsRectTransform(RectTransform rectTransform, Ray ray, out Vector3 worldPos) { + Vector3[] corners = new Vector3[4]; + rectTransform.GetWorldCorners(corners); + Plane plane = new Plane(corners[0], corners[1], corners[2]); + + float enter; + if (!plane.Raycast(ray, out enter)) { + worldPos = Vector3.zero; + return false; + } + + Vector3 intersection = ray.GetPoint(enter); + + Vector3 BottomEdge = corners[3] - corners[0]; + Vector3 LeftEdge = corners[1] - corners[0]; + float BottomDot = Vector3.Dot(intersection - corners[0], BottomEdge); + float LeftDot = Vector3.Dot(intersection - corners[0], LeftEdge); + if (BottomDot < BottomEdge.sqrMagnitude && // Can use sqrMag because BottomEdge is not normalized + LeftDot < LeftEdge.sqrMagnitude && + BottomDot >= 0 && + LeftDot >= 0) { + worldPos = corners[0] + LeftDot * LeftEdge / LeftEdge.sqrMagnitude + BottomDot * BottomEdge / BottomEdge.sqrMagnitude; + return true; + } + else { + worldPos = Vector3.zero; + return false; + } + } + + + struct RaycastHit { + public Graphic graphic; + public Vector3 worldPos; + public bool fromMouse; + }; + + + /// + /// Is this the currently focussed Raycaster according to the InputModule + /// + /// + public bool IsFocussed() { + OVRInputModule inputModule = UnityEngine.EventSystems.EventSystem.current.currentInputModule as OVRInputModule; + return inputModule && inputModule.activeGraphicRaycaster == this; + } + + public void OnPointerEnter(UnityEngine.EventSystems.PointerEventData e) { + UnityEngine.EventSystems.PointerEventData ped = e as OVRRayPointerEventData; + if (ped != null) { + // Gaze has entered this canvas. We'll make it the active one so that canvas-mouse pointer can be used. + OVRInputModule inputModule = UnityEngine.EventSystems.EventSystem.current.currentInputModule as OVRInputModule; + inputModule.activeGraphicRaycaster = this; + } + } + } +} \ No newline at end of file diff --git a/Assets/OVRInputSelection/InputSystem/OVRRaycaster.cs.meta b/Assets/OVRInputSelection/InputSystem/OVRRaycaster.cs.meta new file mode 100644 index 0000000..e62254a --- /dev/null +++ b/Assets/OVRInputSelection/InputSystem/OVRRaycaster.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aee672c7b0743724ea7d0d722d5e6aa2 +timeCreated: 1512377439 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Materials.meta b/Assets/OVRInputSelection/Materials.meta new file mode 100644 index 0000000..6195633 --- /dev/null +++ b/Assets/OVRInputSelection/Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0c0ef8d77ae5ca54b84c5a19e33e49a7 +folderAsset: yes +timeCreated: 1512379112 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Materials/BackButton_active.mat b/Assets/OVRInputSelection/Materials/BackButton_active.mat new file mode 100644 index 0000000..3d7da2c --- /dev/null +++ b/Assets/OVRInputSelection/Materials/BackButton_active.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: BackButton_active + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 79a1751fa7331b044b93be092b59625e, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Materials/BackButton_active.mat.meta b/Assets/OVRInputSelection/Materials/BackButton_active.mat.meta new file mode 100644 index 0000000..0aec23f --- /dev/null +++ b/Assets/OVRInputSelection/Materials/BackButton_active.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b1c17a17605695742a22909fd1245eb3 +timeCreated: 1512498696 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Materials/BackButton_idle.mat b/Assets/OVRInputSelection/Materials/BackButton_idle.mat new file mode 100644 index 0000000..bbd718f --- /dev/null +++ b/Assets/OVRInputSelection/Materials/BackButton_idle.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: BackButton_idle + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 01bcacb1cbca1374b98ecaeac1f669d0, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Materials/BackButton_idle.mat.meta b/Assets/OVRInputSelection/Materials/BackButton_idle.mat.meta new file mode 100644 index 0000000..732b89c --- /dev/null +++ b/Assets/OVRInputSelection/Materials/BackButton_idle.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cee025dc9b4a073479a2558d39b6282d +timeCreated: 1512498696 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Materials/Blue.mat b/Assets/OVRInputSelection/Materials/Blue.mat new file mode 100644 index 0000000..f78be45 --- /dev/null +++ b/Assets/OVRInputSelection/Materials/Blue.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Blue + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.034482475, g: 0, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Materials/Blue.mat.meta b/Assets/OVRInputSelection/Materials/Blue.mat.meta new file mode 100644 index 0000000..264f451 --- /dev/null +++ b/Assets/OVRInputSelection/Materials/Blue.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0353d14ef9a3d1341968b597761f05f0 +timeCreated: 1512380551 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Materials/Gray.mat b/Assets/OVRInputSelection/Materials/Gray.mat new file mode 100644 index 0000000..f5c2470 --- /dev/null +++ b/Assets/OVRInputSelection/Materials/Gray.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Gray + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.39705884, g: 0.39705884, b: 0.39705884, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Materials/Gray.mat.meta b/Assets/OVRInputSelection/Materials/Gray.mat.meta new file mode 100644 index 0000000..68adeb9 --- /dev/null +++ b/Assets/OVRInputSelection/Materials/Gray.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2151a5f2f3bde5c4fb433d4c46583446 +timeCreated: 1512381323 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Materials/Green.mat b/Assets/OVRInputSelection/Materials/Green.mat new file mode 100644 index 0000000..797f536 --- /dev/null +++ b/Assets/OVRInputSelection/Materials/Green.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Green + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0, g: 1, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Materials/Green.mat.meta b/Assets/OVRInputSelection/Materials/Green.mat.meta new file mode 100644 index 0000000..7cb2f62 --- /dev/null +++ b/Assets/OVRInputSelection/Materials/Green.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8603efedaef202549866eef3bf1a7b0a +timeCreated: 1512380583 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Materials/Physics_Instruction.mat b/Assets/OVRInputSelection/Materials/Physics_Instruction.mat new file mode 100644 index 0000000..ced4a90 --- /dev/null +++ b/Assets/OVRInputSelection/Materials/Physics_Instruction.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Physics_Instruction + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: cd330898e1150e8439e4df01fea43964, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Materials/Physics_Instruction.mat.meta b/Assets/OVRInputSelection/Materials/Physics_Instruction.mat.meta new file mode 100644 index 0000000..dbf3a98 --- /dev/null +++ b/Assets/OVRInputSelection/Materials/Physics_Instruction.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 96c0e05a2c5c89042911e89d77c33d15 +timeCreated: 1512498696 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Materials/Red.mat b/Assets/OVRInputSelection/Materials/Red.mat new file mode 100644 index 0000000..fe9e4cd --- /dev/null +++ b/Assets/OVRInputSelection/Materials/Red.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Red + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Materials/Red.mat.meta b/Assets/OVRInputSelection/Materials/Red.mat.meta new file mode 100644 index 0000000..a9f8810 --- /dev/null +++ b/Assets/OVRInputSelection/Materials/Red.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 19945ee212ad7124cb47e0cee0742e78 +timeCreated: 1512380523 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Materials/SelectionRay.mat b/Assets/OVRInputSelection/Materials/SelectionRay.mat new file mode 100644 index 0000000..e0fe72a --- /dev/null +++ b/Assets/OVRInputSelection/Materials/SelectionRay.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: SelectionRay + m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 0, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Materials/SelectionRay.mat.meta b/Assets/OVRInputSelection/Materials/SelectionRay.mat.meta new file mode 100644 index 0000000..f77a945 --- /dev/null +++ b/Assets/OVRInputSelection/Materials/SelectionRay.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 02f4d91e963f1e74d8bee0002c24efe7 +timeCreated: 1512379123 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Materials/Yellow.mat b/Assets/OVRInputSelection/Materials/Yellow.mat new file mode 100644 index 0000000..17e1643 --- /dev/null +++ b/Assets/OVRInputSelection/Materials/Yellow.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Yellow + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.9862069, g: 1, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Materials/Yellow.mat.meta b/Assets/OVRInputSelection/Materials/Yellow.mat.meta new file mode 100644 index 0000000..f4c1ea1 --- /dev/null +++ b/Assets/OVRInputSelection/Materials/Yellow.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5d1e07c8dcc9f0740bde7899dcf7a37d +timeCreated: 1512381323 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes.meta b/Assets/OVRInputSelection/Meshes.meta new file mode 100644 index 0000000..921f9a6 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 244fd9bd14a1b0e48a747fdc1118d074 +folderAsset: yes +timeCreated: 1512504746 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers.meta b/Assets/OVRInputSelection/Meshes/TouchControllers.meta new file mode 100644 index 0000000..dfb4d90 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 930d98e1fd0338e459e44f660629465d +folderAsset: yes +timeCreated: 1512505989 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/LTouch.prefab b/Assets/OVRInputSelection/Meshes/TouchControllers/LTouch.prefab new file mode 100644 index 0000000..d345648 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/LTouch.prefab @@ -0,0 +1,1098 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 0} + m_RootGameObject: {fileID: 1249364222358160} + m_IsPrefabAsset: 1 +--- !u!1 &1109776360024182 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4238190259217100} + m_Layer: 0 + m_Name: lctrl:left_touch_controller_world + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1121076711406898 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4287199084857482} + m_Layer: 0 + m_Name: lctrl:b_stick_IGNORE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1175014527457936 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4310471275020772} + - component: {fileID: 137648090444452748} + m_Layer: 0 + m_Name: lctrl:thumbstick_ball_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1249364222358160 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4978508713063604} + - component: {fileID: 114694055904687676} + m_Layer: 0 + m_Name: LTouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1273683566421700 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4645218192740248} + m_Layer: 0 + m_Name: lctrl:b_hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1368786237477692 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4482623563880858} + - component: {fileID: 137550241186350902} + m_Layer: 0 + m_Name: lctrl:o_button_decal_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1381962807238814 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4894055992218830} + - component: {fileID: 137900428634002032} + m_Layer: 0 + m_Name: lctrl:ring_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1396923449131326 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4205472914554084} + m_Layer: 0 + m_Name: lctrl:b_button01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1400594226618500 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4581203518760102} + - component: {fileID: 137021319933803464} + m_Layer: 0 + m_Name: lctrl:side_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1555327577499684 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4729919975037316} + m_Layer: 0 + m_Name: lctrl:b_stick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1625696427827932 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4686602471241882} + m_Layer: 0 + m_Name: lctrl:b_button03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1710745798956080 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4456158541893084} + m_Layer: 0 + m_Name: lctrl:geometry_null + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1736025349707254 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4050214063663426} + - component: {fileID: 137302025403472770} + m_Layer: 0 + m_Name: lctrl:surface_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1747413968376996 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4673567786913772} + - component: {fileID: 137029252293597264} + m_Layer: 0 + m_Name: lctrl:y_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1757445139830558 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4866202693471932} + - component: {fileID: 137688407735402816} + m_Layer: 0 + m_Name: lctrl:o_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1808661097943962 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4835918886493410} + - component: {fileID: 137034633232802846} + m_Layer: 0 + m_Name: lctrl:controller_body_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1855455462485234 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4894334680272574} + m_Layer: 0 + m_Name: lctrl:b_trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1859534572868060 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4664232520837576} + - component: {fileID: 137322228149853980} + m_Layer: 0 + m_Name: lctrl:main_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1978692640859942 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4187468707828572} + - component: {fileID: 137862092734697462} + m_Layer: 0 + m_Name: lctrl:x_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1987113674554976 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4958792791304930} + m_Layer: 0 + m_Name: lctrl:b_button02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4050214063663426 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1736025349707254} + 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_Children: [] + m_Father: {fileID: 4456158541893084} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4187468707828572 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1978692640859942} + 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_Children: [] + m_Father: {fileID: 4456158541893084} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4205472914554084 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1396923449131326} + m_LocalRotation: {x: 0.05660452, y: -0.05795374, z: -0.0046757394, w: 0.9967023} + m_LocalPosition: {x: -0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4238190259217100} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4238190259217100 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1109776360024182} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4205472914554084} + - {fileID: 4958792791304930} + - {fileID: 4686602471241882} + - {fileID: 4645218192740248} + - {fileID: 4729919975037316} + - {fileID: 4894334680272574} + m_Father: {fileID: 4978508713063604} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4287199084857482 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1121076711406898} + m_LocalRotation: {x: 0, y: -0.70108956, z: -0, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4729919975037316} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4310471275020772 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1175014527457936} + 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_Children: [] + m_Father: {fileID: 4456158541893084} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4456158541893084 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1710745798956080} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4835918886493410} + - {fileID: 4664232520837576} + - {fileID: 4482623563880858} + - {fileID: 4866202693471932} + - {fileID: 4894055992218830} + - {fileID: 4581203518760102} + - {fileID: 4050214063663426} + - {fileID: 4310471275020772} + - {fileID: 4187468707828572} + - {fileID: 4673567786913772} + m_Father: {fileID: 4978508713063604} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4482623563880858 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1368786237477692} + 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_Children: [] + m_Father: {fileID: 4456158541893084} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4581203518760102 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1400594226618500} + 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_Children: [] + m_Father: {fileID: 4456158541893084} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4645218192740248 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1273683566421700} + m_LocalRotation: {x: -0.18065539, y: -0.13555649, z: -0.067166515, w: 0.97184193} + m_LocalPosition: {x: 0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4238190259217100} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4664232520837576 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1859534572868060} + 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_Children: [] + m_Father: {fileID: 4456158541893084} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4673567786913772 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1747413968376996} + 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_Children: [] + m_Father: {fileID: 4456158541893084} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4686602471241882 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1625696427827932} + m_LocalRotation: {x: 0.05660452, y: -0.05795374, z: -0.0046757394, w: 0.9967023} + m_LocalPosition: {x: 0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4238190259217100} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4729919975037316 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1555327577499684} + m_LocalRotation: {x: 0.0027868259, y: 0.70437866, z: -0.0031505642, w: 0.7098119} + m_LocalPosition: {x: 0.010637393, y: 0.00497835, z: -0.009418557} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4287199084857482} + m_Father: {fileID: 4238190259217100} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4835918886493410 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1808661097943962} + 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_Children: [] + m_Father: {fileID: 4456158541893084} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4866202693471932 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1757445139830558} + 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_Children: [] + m_Father: {fileID: 4456158541893084} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4894055992218830 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1381962807238814} + 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_Children: [] + m_Father: {fileID: 4456158541893084} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4894334680272574 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1855455462485234} + m_LocalRotation: {x: -0.05795374, y: -0.05660452, z: 0.9967023, w: 0.0046757394} + m_LocalPosition: {x: -0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4238190259217100} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4958792791304930 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1987113674554976} + m_LocalRotation: {x: 0.017080953, y: -0.07918932, z: 0.52647054, w: 0.84632504} + m_LocalPosition: {x: -0.0091353385, y: 0.005499125, z: -0.00011681918} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4238190259217100} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4978508713063604 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1249364222358160} + 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_Children: + - {fileID: 4456158541893084} + - {fileID: 4238190259217100} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114694055904687676 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1249364222358160} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1249364222358160} + m_modelOculusGoController: {fileID: 1249364222358160} + m_controller: 1 +--- !u!137 &137021319933803464 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1400594226618500} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 4645218192740248} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4645218192740248} + m_AABB: + m_Center: {x: -0.015075568, y: -0.000016345643, z: 0.0018507424} + m_Extent: {x: 0.0069265533, y: 0.014548335, z: 0.007307569} + m_DirtyAABB: 0 +--- !u!137 &137029252293597264 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1747413968376996} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 4958792791304930} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4958792791304930} + m_AABB: + m_Center: {x: 0.0000023958273, y: -0.000002474524, z: 0.0004961197} + m_Extent: {x: 0.005060065, y: 0.0050237104, z: 0.0025072566} + m_DirtyAABB: 0 +--- !u!137 &137034633232802846 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1808661097943962} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 4238190259217100} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4238190259217100} + m_AABB: + m_Center: {x: 0.0012377053, y: -0.01906057, z: -0.031179678} + m_Extent: {x: 0.030484851, y: 0.051344883, z: 0.03589144} + m_DirtyAABB: 0 +--- !u!137 &137302025403472770 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1736025349707254} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 4238190259217100} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4238190259217100} + m_AABB: + m_Center: {x: 0.00016466714, y: 0.00024955533, z: -0.0010734661} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.005969927} + m_DirtyAABB: 0 +--- !u!137 &137322228149853980 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1859534572868060} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 4894334680272574} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4894334680272574} + m_AABB: + m_Center: {x: -0.0006609438, y: 0.0013324535, z: -0.013972079} + m_Extent: {x: 0.0145619055, y: 0.009363498, z: 0.0133649465} + m_DirtyAABB: 0 +--- !u!137 &137550241186350902 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1368786237477692} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 4686602471241882} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4686602471241882} + m_AABB: + m_Center: {x: 0.000017451588, y: -0.00010048866, z: 0.0012767098} + m_Extent: {x: 0.00211959, y: 0.001628002, z: 0.000015275553} + m_DirtyAABB: 0 +--- !u!137 &137648090444452748 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1175014527457936} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 4238190259217100} + - {fileID: 4729919975037316} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4238190259217100} + m_AABB: + m_Center: {x: 0.010604477, y: 0.0049807085, z: 0.0022465447} + m_Extent: {x: 0.010754766, y: 0.010751986, z: 0.007853852} + m_DirtyAABB: 0 +--- !u!137 &137688407735402816 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1757445139830558} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300012, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 4686602471241882} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4686602471241882} + m_AABB: + m_Center: {x: 0.00000037020072, y: 0.00000087032095, z: 0.00057196105} + m_Extent: {x: 0.004508083, y: 0.004509521, z: 0.0007474739} + m_DirtyAABB: 0 +--- !u!137 &137862092734697462 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1978692640859942} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 4205472914554084} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4205472914554084} + m_AABB: + m_Center: {x: -0.00000072829425, y: 0.000013418496, z: 0.0004995642} + m_Extent: {x: 0.0050891023, y: 0.005111114, z: 0.0025754946} + m_DirtyAABB: 0 +--- !u!137 &137900428634002032 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1381962807238814} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 4238190259217100} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4238190259217100} + m_AABB: + m_Center: {x: 0.016699282, y: 0.010818447, z: -0.036364146} + m_Extent: {x: 0.054633915, y: 0.02167825, z: 0.050220706} + m_DirtyAABB: 0 diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/LTouch.prefab.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/LTouch.prefab.meta new file mode 100644 index 0000000..a004b40 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/LTouch.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0e954f7f9b530424892cc05cff3d9e90 +timeCreated: 1512506235 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models.meta new file mode 100644 index 0000000..dd2886c --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d3ae2016867c14f4589a447c8bc6d0f4 +folderAsset: yes +timeCreated: 1462317013 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_DIF.TGA b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_DIF.TGA new file mode 100644 index 0000000..db19eac Binary files /dev/null and b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_DIF.TGA differ diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_DIF.TGA.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_DIF.TGA.meta new file mode 100644 index 0000000..8f887eb --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_DIF.TGA.meta @@ -0,0 +1,56 @@ +fileFormatVersion: 2 +guid: 9a47b80420559d84491daa384675c1ec +timeCreated: 1438737994 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_MAT.mat b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_MAT.mat new file mode 100644 index 0000000..c062431 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_MAT.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: L_controller_MAT + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION _NORMALMAP + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 732622a17fb640142b6a6ab9cdd431ad, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 9a47b80420559d84491daa384675c1ec, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 0.1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.49 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_MAT.mat.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_MAT.mat.meta new file mode 100644 index 0000000..f3eef87 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_MAT.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0ff51c0175f4bf74a85d0a8a5718b3d8 +timeCreated: 1438737986 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_gloss_MAT.mat b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_gloss_MAT.mat new file mode 100644 index 0000000..221539c --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_gloss_MAT.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: L_controller_gloss_MAT + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION _NORMALMAP + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 732622a17fb640142b6a6ab9cdd431ad, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 9a47b80420559d84491daa384675c1ec, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: 0d3adb606a49bfc4eb9524560e473718, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 0.1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.9 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_gloss_MAT.mat.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_gloss_MAT.mat.meta new file mode 100644 index 0000000..699ea25 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/L_controller_gloss_MAT.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 165c00e6a6441ba4c928870ca72b6395 +timeCreated: 1438737986 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials.meta new file mode 100644 index 0000000..00fde9a --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 100daceefe4aa5e4d892a2dcf94530e7 +folderAsset: yes +timeCreated: 1461978555 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/L_controller_DIF.mat b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/L_controller_DIF.mat new file mode 100644 index 0000000..fe20f5c --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/L_controller_DIF.mat @@ -0,0 +1,37 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: L_controller_DIF + m_Shader: {fileID: 2, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpMap + second: + m_Texture: {fileID: 2800000, guid: 732622a17fb640142b6a6ab9cdd431ad, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: {} + m_Colors: + data: + first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/L_controller_DIF.mat.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/L_controller_DIF.mat.meta new file mode 100644 index 0000000..a9b6ed7 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/L_controller_DIF.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 118a17c2d26838c41bded758d70cb036 +timeCreated: 1439320558 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/R_controller_DIF.mat b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/R_controller_DIF.mat new file mode 100644 index 0000000..d64eb1e --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/R_controller_DIF.mat @@ -0,0 +1,30 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: R_controller_DIF + m_Shader: {fileID: 30, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: {} + m_Colors: + data: + first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/R_controller_DIF.mat.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/R_controller_DIF.mat.meta new file mode 100644 index 0000000..68e91c2 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/R_controller_DIF.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7842888294a7e0e4ea4d15e9f8eb2650 +timeCreated: 1439320832 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/lambert1.mat b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/lambert1.mat new file mode 100644 index 0000000..a90989a --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/lambert1.mat @@ -0,0 +1,127 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: lambert1 + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _BumpScale + second: 1 + - first: + name: _Cutoff + second: 0.5 + - first: + name: _DetailNormalMapScale + second: 1 + - first: + name: _DstBlend + second: 0 + - first: + name: _GlossMapScale + second: 1 + - first: + name: _Glossiness + second: 0.5 + - first: + name: _GlossyReflections + second: 1 + - first: + name: _Metallic + second: 0 + - first: + name: _Mode + second: 0 + - first: + name: _OcclusionStrength + second: 1 + - first: + name: _Parallax + second: 0.02 + - first: + name: _SmoothnessTextureChannel + second: 0 + - first: + name: _SpecularHighlights + second: 1 + - first: + name: _SrcBlend + second: 1 + - first: + name: _UVSec + second: 0 + - first: + name: _ZWrite + second: 1 + m_Colors: + - first: + name: _Color + second: {r: 0.5, g: 0.5, b: 0.5, a: 1} + - first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/lambert1.mat.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/lambert1.mat.meta new file mode 100644 index 0000000..7536be6 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/lambert1.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3c839695eb4e10e448a959141b3abc7c +timeCreated: 1461978555 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/touchController_basecolor.mat b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/touchController_basecolor.mat new file mode 100644 index 0000000..99f8f41 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/touchController_basecolor.mat @@ -0,0 +1,127 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: touchController_basecolor + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _BumpScale + second: 1 + - first: + name: _Cutoff + second: 0.5 + - first: + name: _DetailNormalMapScale + second: 1 + - first: + name: _DstBlend + second: 0 + - first: + name: _GlossMapScale + second: 1 + - first: + name: _Glossiness + second: 0.5 + - first: + name: _GlossyReflections + second: 1 + - first: + name: _Metallic + second: 0 + - first: + name: _Mode + second: 0 + - first: + name: _OcclusionStrength + second: 1 + - first: + name: _Parallax + second: 0.02 + - first: + name: _SmoothnessTextureChannel + second: 0 + - first: + name: _SpecularHighlights + second: 1 + - first: + name: _SrcBlend + second: 1 + - first: + name: _UVSec + second: 0 + - first: + name: _ZWrite + second: 1 + m_Colors: + - first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + - first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/touchController_basecolor.mat.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/touchController_basecolor.mat.meta new file mode 100644 index 0000000..c74db4f --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/Materials/touchController_basecolor.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1caef85feb223044d801a24540271231 +timeCreated: 1475014432 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_DIF.TGA b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_DIF.TGA new file mode 100644 index 0000000..4e9439a Binary files /dev/null and b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_DIF.TGA differ diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_DIF.TGA.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_DIF.TGA.meta new file mode 100644 index 0000000..cceb981 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_DIF.TGA.meta @@ -0,0 +1,56 @@ +fileFormatVersion: 2 +guid: 19fc42fe258be4f4fad36df2d831d6d7 +timeCreated: 1438737993 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_MAT.mat b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_MAT.mat new file mode 100644 index 0000000..de05d33 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_MAT.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: R_controller_MAT + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION _NORMALMAP + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: 732622a17fb640142b6a6ab9cdd431ad, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 19fc42fe258be4f4fad36df2d831d6d7, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: 0d3adb606a49bfc4eb9524560e473718, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_MAT.mat.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_MAT.mat.meta new file mode 100644 index 0000000..9368812 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_MAT.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 14179725cf9421448b565469bfc84247 +timeCreated: 1438737983 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_gloss_MAT.mat b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_gloss_MAT.mat new file mode 100644 index 0000000..e0d1284 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_gloss_MAT.mat @@ -0,0 +1,138 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: R_controller_gloss_MAT + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _NORMALMAP + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 19fc42fe258be4f4fad36df2d831d6d7, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpMap + second: + m_Texture: {fileID: 2800000, guid: 732622a17fb640142b6a6ab9cdd431ad, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _OcclusionMap + second: + m_Texture: {fileID: 2800000, guid: 0d3adb606a49bfc4eb9524560e473718, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _SrcBlend + second: 1 + data: + first: + name: _DstBlend + second: 0 + data: + first: + name: _Cutoff + second: .5 + data: + first: + name: _Parallax + second: .0199999996 + data: + first: + name: _ZWrite + second: 1 + data: + first: + name: _Glossiness + second: .899999976 + data: + first: + name: _BumpScale + second: .100000001 + data: + first: + name: _OcclusionStrength + second: 1 + data: + first: + name: _DetailNormalMapScale + second: 1 + data: + first: + name: _UVSec + second: 0 + data: + first: + name: _Mode + second: 0 + data: + first: + name: _Metallic + second: 0 + m_Colors: + data: + first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} + data: + first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_gloss_MAT.mat.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_gloss_MAT.mat.meta new file mode 100644 index 0000000..278dd8c --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/R_controller_gloss_MAT.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6dca398ec6487b142811f0497ed47f6d +timeCreated: 1438737983 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/controller_AO.psd b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/controller_AO.psd new file mode 100644 index 0000000..ab73a94 Binary files /dev/null and b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/controller_AO.psd differ diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/controller_AO.psd.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/controller_AO.psd.meta new file mode 100644 index 0000000..a0b1733 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/controller_AO.psd.meta @@ -0,0 +1,56 @@ +fileFormatVersion: 2 +guid: 0d3adb606a49bfc4eb9524560e473718 +timeCreated: 1438738633 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/controller_NM.psd b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/controller_NM.psd new file mode 100644 index 0000000..9335da6 Binary files /dev/null and b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/controller_NM.psd differ diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/controller_NM.psd.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/controller_NM.psd.meta new file mode 100644 index 0000000..706ee3a --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/controller_NM.psd.meta @@ -0,0 +1,56 @@ +fileFormatVersion: 2 +guid: 732622a17fb640142b6a6ab9cdd431ad +timeCreated: 1438738638 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 1 + externalNormalMap: 1 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 0 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/left_touch_controller_model_skel.fbx b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/left_touch_controller_model_skel.fbx new file mode 100644 index 0000000..dfb3a90 Binary files /dev/null and b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/left_touch_controller_model_skel.fbx differ diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/left_touch_controller_model_skel.fbx.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/left_touch_controller_model_skel.fbx.meta new file mode 100644 index 0000000..f4610dc --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/left_touch_controller_model_skel.fbx.meta @@ -0,0 +1,138 @@ +fileFormatVersion: 2 +guid: 1bf8f52eeebe8e149b9d6e3477251532 +timeCreated: 1464287782 +licenseType: Store +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: lctrl:b_button01 + 100002: lctrl:b_button02 + 100004: lctrl:b_button03 + 100006: lctrl:b_hold + 100008: lctrl:b_stick + 100010: lctrl:b_stick_IGNORE + 100012: lctrl:b_trigger + 100014: lctrl:controller_body_PLY + 100016: lctrl:geometry_null + 100018: lctrl:left_touch_controller_world + 100020: lctrl:main_trigger_PLY + 100022: lctrl:o_button_PLY + 100024: lctrl:ring_PLY + 100026: lctrl:side_trigger_PLY + 100028: lctrl:surface_PLY + 100030: lctrl:thumbstick_ball_PLY + 100032: lctrl:x_button_PLY + 100034: lctrl:y_button_PLY + 100036: //RootNode + 100038: lctrl:o_button_decal_PLY + 400000: lctrl:b_button01 + 400002: lctrl:b_button02 + 400004: lctrl:b_button03 + 400006: lctrl:b_hold + 400008: lctrl:b_stick + 400010: lctrl:b_stick_IGNORE + 400012: lctrl:b_trigger + 400014: lctrl:controller_body_PLY + 400016: lctrl:geometry_null + 400018: lctrl:left_touch_controller_world + 400020: lctrl:main_trigger_PLY + 400022: lctrl:o_button_PLY + 400024: lctrl:ring_PLY + 400026: lctrl:side_trigger_PLY + 400028: lctrl:surface_PLY + 400030: lctrl:thumbstick_ball_PLY + 400032: lctrl:x_button_PLY + 400034: lctrl:y_button_PLY + 400036: //RootNode + 400038: lctrl:o_button_decal_PLY + 4300000: lctrl:surface_PLY + 4300002: lctrl:x_button_PLY + 4300004: lctrl:y_button_PLY + 4300006: lctrl:ring_PLY + 4300008: lctrl:controller_body_PLY + 4300010: lctrl:main_trigger_PLY + 4300012: lctrl:o_button_PLY + 4300014: lctrl:thumbstick_ball_PLY + 4300016: lctrl:side_trigger_PLY + 4300018: lctrl:o_button_decal_PLY + 9500000: //RootNode + 13700000: lctrl:controller_body_PLY + 13700002: lctrl:main_trigger_PLY + 13700004: lctrl:o_button_PLY + 13700006: lctrl:ring_PLY + 13700008: lctrl:side_trigger_PLY + 13700010: lctrl:surface_PLY + 13700012: lctrl:thumbstick_ball_PLY + 13700014: lctrl:x_button_PLY + 13700016: lctrl:y_button_PLY + 13700018: lctrl:o_button_decal_PLY + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 0 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 2 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/right_touch_controller_model_skel.fbx b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/right_touch_controller_model_skel.fbx new file mode 100644 index 0000000..aa9da20 Binary files /dev/null and b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/right_touch_controller_model_skel.fbx differ diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/right_touch_controller_model_skel.fbx.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/right_touch_controller_model_skel.fbx.meta new file mode 100644 index 0000000..773898f --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/right_touch_controller_model_skel.fbx.meta @@ -0,0 +1,138 @@ +fileFormatVersion: 2 +guid: 270ca9aaa39af4d4bb26754fdce0c971 +timeCreated: 1464287782 +licenseType: Store +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: rctrl:a_button_PLY + 100002: rctrl:b_button01 + 100004: rctrl:b_button02 + 100006: rctrl:b_button03 + 100008: rctrl:b_button_PLY + 100010: rctrl:b_hold + 100012: rctrl:b_stick + 100014: rctrl:b_stick_IGNORE + 100016: rctrl:b_trigger + 100018: rctrl:controller_body_PLY + 100020: rctrl:geometry_null + 100022: rctrl:main_trigger_PLY + 100024: rctrl:o_button_PLY + 100026: rctrl:right_touch_controller_world + 100028: rctrl:ring_PLY + 100030: rctrl:side_trigger_PLY + 100032: rctrl:surface_PLY + 100034: rctrl:thumbstick_ball_PLY + 100036: //RootNode + 100038: rctrl:o_button_decal_PLY + 400000: rctrl:a_button_PLY + 400002: rctrl:b_button01 + 400004: rctrl:b_button02 + 400006: rctrl:b_button03 + 400008: rctrl:b_button_PLY + 400010: rctrl:b_hold + 400012: rctrl:b_stick + 400014: rctrl:b_stick_IGNORE + 400016: rctrl:b_trigger + 400018: rctrl:controller_body_PLY + 400020: rctrl:geometry_null + 400022: rctrl:main_trigger_PLY + 400024: rctrl:o_button_PLY + 400026: rctrl:right_touch_controller_world + 400028: rctrl:ring_PLY + 400030: rctrl:side_trigger_PLY + 400032: rctrl:surface_PLY + 400034: rctrl:thumbstick_ball_PLY + 400036: //RootNode + 400038: rctrl:o_button_decal_PLY + 4300000: rctrl:side_trigger_PLY + 4300002: rctrl:o_button_PLY + 4300004: rctrl:main_trigger_PLY + 4300006: rctrl:ring_PLY + 4300008: rctrl:thumbstick_ball_PLY + 4300010: rctrl:surface_PLY + 4300012: rctrl:controller_body_PLY + 4300014: rctrl:b_button_PLY + 4300016: rctrl:a_button_PLY + 4300018: rctrl:o_button_decal_PLY + 9500000: //RootNode + 13700000: rctrl:a_button_PLY + 13700002: rctrl:b_button_PLY + 13700004: rctrl:controller_body_PLY + 13700006: rctrl:main_trigger_PLY + 13700008: rctrl:o_button_PLY + 13700010: rctrl:ring_PLY + 13700012: rctrl:side_trigger_PLY + 13700014: rctrl:surface_PLY + 13700016: rctrl:thumbstick_ball_PLY + 13700018: rctrl:o_button_decal_PLY + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 0 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 2 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touchController_albedo.png b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touchController_albedo.png new file mode 100644 index 0000000..231e4b8 Binary files /dev/null and b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touchController_albedo.png differ diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touchController_albedo.png.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touchController_albedo.png.meta new file mode 100644 index 0000000..73635b4 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touchController_albedo.png.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: a11735430d7eaf14f8660dda5584492c +timeCreated: 1464371450 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touchController_controlmap.tga b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touchController_controlmap.tga new file mode 100644 index 0000000..86315b6 Binary files /dev/null and b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touchController_controlmap.tga differ diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touchController_controlmap.tga.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touchController_controlmap.tga.meta new file mode 100644 index 0000000..9d2f8a8 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touchController_controlmap.tga.meta @@ -0,0 +1,59 @@ +fileFormatVersion: 2 +guid: 2cc8e2323e3925144b6880c5e7600b89 +timeCreated: 1464371450 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touch_controller_MAT.mat b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touch_controller_MAT.mat new file mode 100644 index 0000000..b50091e --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touch_controller_MAT.mat @@ -0,0 +1,127 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: touch_controller_MAT + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION _METALLICGLOSSMAP + m_LightmapFlags: 1 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: a11735430d7eaf14f8660dda5584492c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 2800000, guid: 2cc8e2323e3925144b6880c5e7600b89, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _OcclusionMap + second: + m_Texture: {fileID: 2800000, guid: 2cc8e2323e3925144b6880c5e7600b89, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - first: + name: _BumpScale + second: 0 + - first: + name: _Cutoff + second: 0.5 + - first: + name: _DetailNormalMapScale + second: 1 + - first: + name: _DstBlend + second: 0 + - first: + name: _GlossMapScale + second: 1 + - first: + name: _Glossiness + second: 0.823 + - first: + name: _GlossyReflections + second: 1 + - first: + name: _Metallic + second: 0 + - first: + name: _Mode + second: 0 + - first: + name: _OcclusionStrength + second: 1 + - first: + name: _Parallax + second: 0.02 + - first: + name: _SmoothnessTextureChannel + second: 0 + - first: + name: _SpecularHighlights + second: 1 + - first: + name: _SrcBlend + second: 1 + - first: + name: _UVSec + second: 0 + - first: + name: _ZWrite + second: 1 + m_Colors: + - first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + - first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touch_controller_MAT.mat.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touch_controller_MAT.mat.meta new file mode 100644 index 0000000..9386cbe --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/Models/touch_controller_MAT.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d8a202bc350b09c4e808ea37c6929755 +timeCreated: 1461962020 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/RTouch.prefab b/Assets/OVRInputSelection/Meshes/TouchControllers/RTouch.prefab new file mode 100644 index 0000000..39b6c95 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/RTouch.prefab @@ -0,0 +1,1098 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 0} + m_RootGameObject: {fileID: 1204236285207998} + m_IsPrefabAsset: 1 +--- !u!1 &1044639065548258 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4718947254803156} + - component: {fileID: 137970806874392016} + m_Layer: 0 + m_Name: rctrl:a_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1087401761687600 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4847083719313040} + - component: {fileID: 137587583371347130} + m_Layer: 0 + m_Name: rctrl:surface_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1095698897398270 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4713390451513730} + - component: {fileID: 137867182389646434} + m_Layer: 0 + m_Name: rctrl:thumbstick_ball_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1204236285207998 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4594548389767280} + - component: {fileID: 114584869579924024} + m_Layer: 0 + m_Name: RTouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1213770487344620 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4269300792470906} + m_Layer: 0 + m_Name: rctrl:geometry_null + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1227483511572584 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4875885059110940} + - component: {fileID: 137401003894426430} + m_Layer: 0 + m_Name: rctrl:ring_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1242376901968210 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4259379013194602} + - component: {fileID: 137130966058281504} + m_Layer: 0 + m_Name: rctrl:b_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1255007767297440 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4145692376739090} + - component: {fileID: 137408571574643928} + m_Layer: 0 + m_Name: rctrl:o_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1387477248435416 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4335872085946050} + m_Layer: 0 + m_Name: rctrl:b_hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1388729398224976 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4283226593156960} + m_Layer: 0 + m_Name: rctrl:b_button03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1405654979698792 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4465709660190338} + m_Layer: 0 + m_Name: rctrl:b_trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1471450926194158 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4168601658108038} + m_Layer: 0 + m_Name: rctrl:b_stick_IGNORE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1483146546636720 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4973428937398324} + - component: {fileID: 137893484049802790} + m_Layer: 0 + m_Name: rctrl:main_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1539795145029996 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4188534060631024} + - component: {fileID: 137216636184210194} + m_Layer: 0 + m_Name: rctrl:o_button_decal_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1557972973026844 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4215823899630190} + m_Layer: 0 + m_Name: rctrl:right_touch_controller_world + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1569199330813010 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4557562491589872} + - component: {fileID: 137937078754769558} + m_Layer: 0 + m_Name: rctrl:controller_body_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1620100735647344 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4981202461394642} + m_Layer: 0 + m_Name: rctrl:b_stick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1629587277045648 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4279151526622972} + m_Layer: 0 + m_Name: rctrl:b_button02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1813870990463274 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4397574615338790} + m_Layer: 0 + m_Name: rctrl:b_button01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1971769170389126 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4912627388869670} + - component: {fileID: 137996489588372456} + m_Layer: 0 + m_Name: rctrl:side_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4145692376739090 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1255007767297440} + 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_Children: [] + m_Father: {fileID: 4269300792470906} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4168601658108038 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1471450926194158} + m_LocalRotation: {x: -4.5059287e-17, y: -0.70108956, z: -6.5911624e-17, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4981202461394642} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4188534060631024 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1539795145029996} + 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_Children: [] + m_Father: {fileID: 4269300792470906} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4215823899630190 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1557972973026844} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4397574615338790} + - {fileID: 4279151526622972} + - {fileID: 4283226593156960} + - {fileID: 4335872085946050} + - {fileID: 4981202461394642} + - {fileID: 4465709660190338} + m_Father: {fileID: 4594548389767280} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4259379013194602 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1242376901968210} + 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_Children: [] + m_Father: {fileID: 4269300792470906} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4269300792470906 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1213770487344620} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4718947254803156} + - {fileID: 4259379013194602} + - {fileID: 4557562491589872} + - {fileID: 4973428937398324} + - {fileID: 4188534060631024} + - {fileID: 4145692376739090} + - {fileID: 4875885059110940} + - {fileID: 4912627388869670} + - {fileID: 4847083719313040} + - {fileID: 4713390451513730} + m_Father: {fileID: 4594548389767280} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4279151526622972 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1629587277045648} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: 0.009152712, y: 0.0054823146, z: 0.000030916483} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4215823899630190} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4283226593156960 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1388729398224976} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: -0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4215823899630190} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4335872085946050 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1387477248435416} + m_LocalRotation: {x: -0.17913595, y: 0.14914332, z: 0.022661837, w: 0.97218984} + m_LocalPosition: {x: -0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4215823899630190} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4397574615338790 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1813870990463274} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4215823899630190} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4465709660190338 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1405654979698792} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4215823899630190} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4557562491589872 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1569199330813010} + 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_Children: [] + m_Father: {fileID: 4269300792470906} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4594548389767280 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1204236285207998} + 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_Children: + - {fileID: 4269300792470906} + - {fileID: 4215823899630190} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4713390451513730 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1095698897398270} + 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_Children: [] + m_Father: {fileID: 4269300792470906} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4718947254803156 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1044639065548258} + 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_Children: [] + m_Father: {fileID: 4269300792470906} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4847083719313040 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1087401761687600} + 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_Children: [] + m_Father: {fileID: 4269300792470906} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4875885059110940 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1227483511572584} + 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_Children: [] + m_Father: {fileID: 4269300792470906} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4912627388869670 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1971769170389126} + 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_Children: [] + m_Father: {fileID: 4269300792470906} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4973428937398324 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1483146546636720} + 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_Children: [] + m_Father: {fileID: 4269300792470906} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4981202461394642 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1620100735647344} + m_LocalRotation: {x: -0.003149668, y: 0.7098123, z: 0.002783398, w: 0.7043784} + m_LocalPosition: {x: -0.010637393, y: 0.00497835, z: -0.009418557} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4168601658108038} + m_Father: {fileID: 4215823899630190} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114584869579924024 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1204236285207998} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1204236285207998} + m_modelOculusGoController: {fileID: 1204236285207998} + m_controller: 2 +--- !u!137 &137130966058281504 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1242376901968210} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 4279151526622972} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4279151526622972} + m_AABB: + m_Center: {x: 0.000000345055, y: -0.0000009192154, z: 0.0003571303} + m_Extent: {x: 0.0050524976, y: 0.0050528734, z: 0.0025179689} + m_DirtyAABB: 0 +--- !u!137 &137216636184210194 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1539795145029996} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 4283226593156960} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4283226593156960} + m_AABB: + m_Center: {x: 0.00004066783, y: 0.00002745376, z: 0.0012303367} + m_Extent: {x: 0.0015236214, y: 0.0021297487, z: 0.00001941109} + m_DirtyAABB: 0 +--- !u!137 &137401003894426430 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1227483511572584} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 4215823899630190} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4215823899630190} + m_AABB: + m_Center: {x: -0.016699282, y: 0.010818443, z: -0.036364153} + m_Extent: {x: 0.054633915, y: 0.021678247, z: 0.050220713} + m_DirtyAABB: 0 +--- !u!137 &137408571574643928 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1255007767297440} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 4283226593156960} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4283226593156960} + m_AABB: + m_Center: {x: -0.00000026635826, y: -0.00000013131648, z: 0.0005419669} + m_Extent: {x: 0.004489839, y: 0.0044893455, z: 0.0007474746} + m_DirtyAABB: 0 +--- !u!137 &137587583371347130 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1087401761687600} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 4215823899630190} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4215823899630190} + m_AABB: + m_Center: {x: -0.00016466714, y: 0.00024955347, z: -0.0010734657} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.0059699244} + m_DirtyAABB: 0 +--- !u!137 &137867182389646434 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1095698897398270} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 4215823899630190} + - {fileID: 4981202461394642} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4215823899630190} + m_AABB: + m_Center: {x: -0.01054777, y: 0.004984765, z: 0.00224772} + m_Extent: {x: 0.010899382, y: 0.010843774, z: 0.007860384} + m_DirtyAABB: 0 +--- !u!137 &137893484049802790 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1483146546636720} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 4465709660190338} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4465709660190338} + m_AABB: + m_Center: {x: -0.0006609438, y: -0.0013324562, z: -0.013972085} + m_Extent: {x: 0.014561905, y: 0.009363498, z: 0.013364948} + m_DirtyAABB: 0 +--- !u!137 &137937078754769558 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1569199330813010} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300012, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 4215823899630190} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4215823899630190} + m_AABB: + m_Center: {x: -0.0012377053, y: -0.019060574, z: -0.031160347} + m_Extent: {x: 0.030484851, y: 0.051344886, z: 0.035910763} + m_DirtyAABB: 0 +--- !u!137 &137970806874392016 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1044639065548258} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 4397574615338790} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4397574615338790} + m_AABB: + m_Center: {x: 0.0000007292256, y: 0.000013417564, z: 0.00051031867} + m_Extent: {x: 0.0050891023, y: 0.005111115, z: 0.0025862483} + m_DirtyAABB: 0 +--- !u!137 &137996489588372456 +SkinnedMeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1971769170389126} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 4335872085946050} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4335872085946050} + m_AABB: + m_Center: {x: 0.015085926, y: 0.00079575554, z: 0.0022845895} + m_Extent: {x: 0.0075142607, y: 0.014562387, z: 0.0074783238} + m_DirtyAABB: 0 diff --git a/Assets/OVRInputSelection/Meshes/TouchControllers/RTouch.prefab.meta b/Assets/OVRInputSelection/Meshes/TouchControllers/RTouch.prefab.meta new file mode 100644 index 0000000..b9d9ee6 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TouchControllers/RTouch.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 984fe22eb9d4149408538777a3d14988 +timeCreated: 1512506238 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote.meta b/Assets/OVRInputSelection/Meshes/TrackedRemote.meta new file mode 100644 index 0000000..917411a --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fca5b1ce6c33fd44cad0d20058722181 +folderAsset: yes +timeCreated: 1486168258 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController.fbx b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController.fbx new file mode 100644 index 0000000..7ff85fc Binary files /dev/null and b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController.fbx differ diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController.fbx.meta b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController.fbx.meta new file mode 100644 index 0000000..822e693 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController.fbx.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: c515c245eef79834ca4097a5367d0a89 +timeCreated: 1488144149 +licenseType: Free +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: back_button_PLY + 100002: center_button_PLY + 100004: chassis_PLY + 100006: disc_button_PLY + 100008: home_button_PLY + 100010: //RootNode + 100012: text_PLY + 100014: trigger_PLY + 400000: back_button_PLY + 400002: center_button_PLY + 400004: chassis_PLY + 400006: disc_button_PLY + 400008: home_button_PLY + 400010: //RootNode + 400012: text_PLY + 400014: trigger_PLY + 2300000: back_button_PLY + 2300002: center_button_PLY + 2300004: chassis_PLY + 2300006: disc_button_PLY + 2300008: home_button_PLY + 2300010: text_PLY + 2300012: trigger_PLY + 3300000: back_button_PLY + 3300002: center_button_PLY + 3300004: chassis_PLY + 3300006: disc_button_PLY + 3300008: home_button_PLY + 3300010: text_PLY + 3300012: trigger_PLY + 4300000: text_PLY + 4300002: center_button_PLY + 4300004: trigger_PLY + 4300006: home_button_PLY + 4300008: back_button_PLY + 4300010: disc_button_PLY + 4300012: chassis_PLY + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + hasTranslationDoF: 0 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_ao_1025.tif b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_ao_1025.tif new file mode 100644 index 0000000..2d39574 Binary files /dev/null and b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_ao_1025.tif differ diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_ao_1025.tif.meta b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_ao_1025.tif.meta new file mode 100644 index 0000000..865b0e2 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_ao_1025.tif.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 94332e366d419f34ebca989b076f13bc +timeCreated: 1488144144 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_color_1025.tif b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_color_1025.tif new file mode 100644 index 0000000..6f31d63 Binary files /dev/null and b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_color_1025.tif differ diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_color_1025.tif.meta b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_color_1025.tif.meta new file mode 100644 index 0000000..47fcd59 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_color_1025.tif.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 8294745b209232c459d84c5d5e78919a +timeCreated: 1488144146 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_normal_1025.tif b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_normal_1025.tif new file mode 100644 index 0000000..4730a9a Binary files /dev/null and b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_normal_1025.tif differ diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_normal_1025.tif.meta b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_normal_1025.tif.meta new file mode 100644 index 0000000..cf33fd5 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/GearVrController_normal_1025.tif.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: b7bcee944d6c8c34c84b6204ab4941dd +timeCreated: 1488144803 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 1 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/LTrackedRemote.prefab b/Assets/OVRInputSelection/Meshes/TrackedRemote/LTrackedRemote.prefab new file mode 100644 index 0000000..c649338 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/LTrackedRemote.prefab @@ -0,0 +1,872 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 0} + m_RootGameObject: {fileID: 1495718994041264} + m_IsPrefabAsset: 1 +--- !u!1 &1044748042387820 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4836412835437132} + m_Layer: 0 + m_Name: Texture Group (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1054859093032942 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4842731919319380} + - component: {fileID: 33389899558344730} + - component: {fileID: 23701497806254902} + m_Layer: 0 + m_Name: trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1083255323522338 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4690604795820296} + - component: {fileID: 33917518887091280} + - component: {fileID: 23506773129304874} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1130681504925616 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4864699852922402} + - component: {fileID: 33355214589814526} + - component: {fileID: 23878245367906148} + m_Layer: 0 + m_Name: text_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1181828502341800 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4396520640128694} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1495718994041264 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4965781047894976} + - component: {fileID: 114318095738077550} + m_Layer: 0 + m_Name: LTrackedRemote + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1519125787895902 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4822202288540890} + - component: {fileID: 33733391811933146} + - component: {fileID: 23031768250379678} + m_Layer: 0 + m_Name: disc_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1552281567235398 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4983237797735506} + m_Layer: 0 + m_Name: OculusGoController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1613615737841746 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4759756961172450} + - component: {fileID: 33418398684084700} + - component: {fileID: 23486465499094776} + m_Layer: 0 + m_Name: back_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1672242236952754 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4865563946502246} + - component: {fileID: 33301716791474086} + - component: {fileID: 23463007473532904} + m_Layer: 0 + m_Name: chassis_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1686775197120014 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4431570018244114} + m_Layer: 0 + m_Name: Texture Group + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1687910740213654 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4626355801398802} + m_Layer: 0 + m_Name: GearVrController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1747123517546552 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4652644063180642} + - component: {fileID: 33747868560225156} + - component: {fileID: 23172198679712168} + m_Layer: 0 + m_Name: home_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1788637526737978 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4525814746143240} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1826361670079214 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4376215461376520} + - component: {fileID: 33678981673394744} + - component: {fileID: 23483435829991590} + m_Layer: 0 + m_Name: center_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1846251851831204 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4580387016916048} + m_Layer: 0 + m_Name: Texture Group (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1898581742577714 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4644426881070850} + m_Layer: 0 + m_Name: Texture Group (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4376215461376520 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1826361670079214} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4626355801398802} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4396520640128694 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1181828502341800} + m_LocalRotation: {x: 0.46193975, y: 0.3314136, z: -0.19134171, w: 0.8001032} + m_LocalPosition: {x: 2, y: 2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4983237797735506} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4431570018244114 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1686775197120014} + 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_Children: [] + m_Father: {fileID: 4983237797735506} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4525814746143240 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1788637526737978} + m_LocalRotation: {x: -0.030843565, y: -0.7064338, z: 0.030843565, w: 0.7064338} + m_LocalPosition: {x: -0, y: 0.75, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4983237797735506} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4580387016916048 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1846251851831204} + 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_Children: [] + m_Father: {fileID: 4983237797735506} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4626355801398802 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1687910740213654} + 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_Children: + - {fileID: 4759756961172450} + - {fileID: 4376215461376520} + - {fileID: 4865563946502246} + - {fileID: 4822202288540890} + - {fileID: 4652644063180642} + - {fileID: 4864699852922402} + - {fileID: 4842731919319380} + m_Father: {fileID: 4965781047894976} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4644426881070850 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1898581742577714} + 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_Children: [] + m_Father: {fileID: 4983237797735506} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4652644063180642 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1747123517546552} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4626355801398802} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4690604795820296 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1083255323522338} + 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_Children: [] + m_Father: {fileID: 4983237797735506} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4759756961172450 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1613615737841746} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4626355801398802} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4822202288540890 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1519125787895902} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4626355801398802} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4836412835437132 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1044748042387820} + 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_Children: [] + m_Father: {fileID: 4983237797735506} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4842731919319380 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1054859093032942} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4626355801398802} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4864699852922402 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1130681504925616} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4626355801398802} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4865563946502246 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1672242236952754} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4626355801398802} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4965781047894976 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1495718994041264} + 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_Children: + - {fileID: 4626355801398802} + - {fileID: 4983237797735506} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4983237797735506 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1552281567235398} + 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_Children: + - {fileID: 4525814746143240} + - {fileID: 4396520640128694} + - {fileID: 4690604795820296} + - {fileID: 4431570018244114} + - {fileID: 4836412835437132} + - {fileID: 4644426881070850} + - {fileID: 4580387016916048} + m_Father: {fileID: 4965781047894976} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23031768250379678 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1519125787895902} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23172198679712168 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1747123517546552} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23463007473532904 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1672242236952754} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23483435829991590 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1826361670079214} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23486465499094776 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1613615737841746} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23506773129304874 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1083255323522338} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23701497806254902 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1054859093032942} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23878245367906148 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1130681504925616} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &33301716791474086 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1672242236952754} + m_Mesh: {fileID: 4300012, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!33 &33355214589814526 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1130681504925616} + m_Mesh: {fileID: 4300000, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!33 &33389899558344730 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1054859093032942} + m_Mesh: {fileID: 4300004, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!33 &33418398684084700 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1613615737841746} + m_Mesh: {fileID: 4300008, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!33 &33678981673394744 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1826361670079214} + m_Mesh: {fileID: 4300002, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!33 &33733391811933146 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1519125787895902} + m_Mesh: {fileID: 4300010, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!33 &33747868560225156 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1747123517546552} + m_Mesh: {fileID: 4300006, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!33 &33917518887091280 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1083255323522338} + m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3} +--- !u!114 &114318095738077550 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1495718994041264} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1687910740213654} + m_modelOculusGoController: {fileID: 1552281567235398} + m_controller: 16777216 diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/LTrackedRemote.prefab.meta b/Assets/OVRInputSelection/Meshes/TrackedRemote/LTrackedRemote.prefab.meta new file mode 100644 index 0000000..eab9c9d --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/LTrackedRemote.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 411c0b99f954d1d4884fa0d6256933cf +timeCreated: 1512506432 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials.meta b/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials.meta new file mode 100644 index 0000000..120490c --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4fb365d0e9845d04c8410d7b9bef3c57 +folderAsset: yes +timeCreated: 1488174699 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials/OculusGoControllerMat.mat b/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials/OculusGoControllerMat.mat new file mode 100644 index 0000000..8c714fc --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials/OculusGoControllerMat.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: OculusGoControllerMat + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 6fd132ea4bdd3ec4298a583f001ed5ab, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.492 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 1 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials/OculusGoControllerMat.mat.meta b/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials/OculusGoControllerMat.mat.meta new file mode 100644 index 0000000..d09f601 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials/OculusGoControllerMat.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4b64c74a165ab944995c86640c16457e +timeCreated: 1513127267 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials/malibuController_color_1024.mat b/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials/malibuController_color_1024.mat new file mode 100644 index 0000000..73771fa --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials/malibuController_color_1024.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: malibuController_color_1024 + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION _NORMALMAP + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: b7bcee944d6c8c34c84b6204ab4941dd, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 8294745b209232c459d84c5d5e78919a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: 94332e366d419f34ebca989b076f13bc, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials/malibuController_color_1024.mat.meta b/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials/malibuController_color_1024.mat.meta new file mode 100644 index 0000000..1cb70da --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/Materials/malibuController_color_1024.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d956f361c88f78a45b09fa78d7636baf +timeCreated: 1488174699 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/OculusGoController.fbx b/Assets/OVRInputSelection/Meshes/TrackedRemote/OculusGoController.fbx new file mode 100644 index 0000000..4f6c776 Binary files /dev/null and b/Assets/OVRInputSelection/Meshes/TrackedRemote/OculusGoController.fbx differ diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/OculusGoController.fbx.meta b/Assets/OVRInputSelection/Meshes/TrackedRemote/OculusGoController.fbx.meta new file mode 100644 index 0000000..cddeefb --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/OculusGoController.fbx.meta @@ -0,0 +1,98 @@ +fileFormatVersion: 2 +guid: 2f2ef4c81a28b3d49a5b57f888743989 +timeCreated: 1513040723 +licenseType: Free +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: Camera + 100002: Directional Light + 100004: Mesh + 100006: //RootNode + 100008: Texture Group + 100010: Texture Group (2) + 100012: Texture Group (3) + 100014: Texture Group (4) + 400000: Camera + 400002: Directional Light + 400004: Mesh + 400006: //RootNode + 400008: Texture Group + 400010: Texture Group (2) + 400012: Texture Group (3) + 400014: Texture Group (4) + 2300000: Mesh + 3300000: Mesh + 4300000: Mesh + 7400000: Take 001 + 9500000: //RootNode + materials: + importMaterials: 0 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 1 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/RTrackedRemote.prefab b/Assets/OVRInputSelection/Meshes/TrackedRemote/RTrackedRemote.prefab new file mode 100644 index 0000000..9e9034f --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/RTrackedRemote.prefab @@ -0,0 +1,872 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 0} + m_RootGameObject: {fileID: 1619383211339418} + m_IsPrefabAsset: 1 +--- !u!1 &1235543444575054 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4060494533034292} + m_Layer: 0 + m_Name: OculusGoController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1248286026319258 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4742830124717782} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1262700692511938 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4955146281650030} + - component: {fileID: 33893358866304870} + - component: {fileID: 23517888131506342} + m_Layer: 0 + m_Name: disc_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1302709279893250 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4254853810062738} + m_Layer: 0 + m_Name: GearVrController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1316933471644708 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4324592849986106} + - component: {fileID: 33585973913264350} + - component: {fileID: 23030419055788318} + m_Layer: 0 + m_Name: trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1320820836912368 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4416755117851086} + m_Layer: 0 + m_Name: Texture Group (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1344036408324514 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4605323016180494} + - component: {fileID: 33778150695240890} + - component: {fileID: 23133394067468082} + m_Layer: 0 + m_Name: chassis_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1401388310133804 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4927257745488036} + m_Layer: 0 + m_Name: Texture Group + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1547170486280282 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4298839253072560} + - component: {fileID: 33227895672347990} + - component: {fileID: 23629277104320488} + m_Layer: 0 + m_Name: text_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1603644047585796 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4370971803418792} + m_Layer: 0 + m_Name: Texture Group (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1619383211339418 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4761956870075864} + - component: {fileID: 114228874124863804} + m_Layer: 0 + m_Name: RTrackedRemote + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1757330316574468 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4161590607958258} + - component: {fileID: 33197431014503056} + - component: {fileID: 23896146410415452} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1841092496795574 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4296782787959290} + m_Layer: 0 + m_Name: Texture Group (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1882586662293422 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4799854660562368} + - component: {fileID: 33100618622131046} + - component: {fileID: 23281082922435582} + m_Layer: 0 + m_Name: center_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1883902553708476 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4163330102252882} + - component: {fileID: 33886181901218246} + - component: {fileID: 23484041705834348} + m_Layer: 0 + m_Name: back_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1928054476239690 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4840170697158152} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1986267487696040 +GameObject: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 6 + m_Component: + - component: {fileID: 4513770082835008} + - component: {fileID: 33008035127017516} + - component: {fileID: 23832093868421994} + m_Layer: 0 + m_Name: home_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4060494533034292 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1235543444575054} + 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_Children: + - {fileID: 4840170697158152} + - {fileID: 4742830124717782} + - {fileID: 4161590607958258} + - {fileID: 4927257745488036} + - {fileID: 4296782787959290} + - {fileID: 4370971803418792} + - {fileID: 4416755117851086} + m_Father: {fileID: 4761956870075864} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4161590607958258 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1757330316574468} + 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_Children: [] + m_Father: {fileID: 4060494533034292} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4163330102252882 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1883902553708476} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4254853810062738} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4254853810062738 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1302709279893250} + 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_Children: + - {fileID: 4163330102252882} + - {fileID: 4799854660562368} + - {fileID: 4605323016180494} + - {fileID: 4955146281650030} + - {fileID: 4513770082835008} + - {fileID: 4298839253072560} + - {fileID: 4324592849986106} + m_Father: {fileID: 4761956870075864} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4296782787959290 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1841092496795574} + 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_Children: [] + m_Father: {fileID: 4060494533034292} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4298839253072560 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1547170486280282} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4254853810062738} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4324592849986106 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1316933471644708} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4254853810062738} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4370971803418792 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1603644047585796} + 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_Children: [] + m_Father: {fileID: 4060494533034292} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4416755117851086 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1320820836912368} + 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_Children: [] + m_Father: {fileID: 4060494533034292} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4513770082835008 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1986267487696040} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4254853810062738} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4605323016180494 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1344036408324514} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4254853810062738} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4742830124717782 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1248286026319258} + m_LocalRotation: {x: 0.46193975, y: 0.3314136, z: -0.19134171, w: 0.8001032} + m_LocalPosition: {x: 2, y: 2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4060494533034292} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4761956870075864 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1619383211339418} + 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_Children: + - {fileID: 4254853810062738} + - {fileID: 4060494533034292} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4799854660562368 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1882586662293422} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4254853810062738} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4840170697158152 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1928054476239690} + m_LocalRotation: {x: -0.030843565, y: -0.7064338, z: 0.030843565, w: 0.7064338} + m_LocalPosition: {x: -0, y: 0.75, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4060494533034292} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4927257745488036 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1401388310133804} + 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_Children: [] + m_Father: {fileID: 4060494533034292} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4955146281650030 +Transform: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1262700692511938} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4254853810062738} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23030419055788318 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1316933471644708} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23133394067468082 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1344036408324514} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23281082922435582 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1882586662293422} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23484041705834348 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1883902553708476} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23517888131506342 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1262700692511938} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23629277104320488 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1547170486280282} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23832093868421994 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1986267487696040} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!23 &23896146410415452 +MeshRenderer: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1757330316574468} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &33008035127017516 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1986267487696040} + m_Mesh: {fileID: 4300006, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!33 &33100618622131046 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1882586662293422} + m_Mesh: {fileID: 4300002, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!33 &33197431014503056 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1757330316574468} + m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3} +--- !u!33 &33227895672347990 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1547170486280282} + m_Mesh: {fileID: 4300000, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!33 &33585973913264350 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1316933471644708} + m_Mesh: {fileID: 4300004, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!33 &33778150695240890 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1344036408324514} + m_Mesh: {fileID: 4300012, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!33 &33886181901218246 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1883902553708476} + m_Mesh: {fileID: 4300008, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!33 &33893358866304870 +MeshFilter: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1262700692511938} + m_Mesh: {fileID: 4300010, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!114 &114228874124863804 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1619383211339418} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1302709279893250} + m_modelOculusGoController: {fileID: 1235543444575054} + m_controller: 33554432 diff --git a/Assets/OVRInputSelection/Meshes/TrackedRemote/RTrackedRemote.prefab.meta b/Assets/OVRInputSelection/Meshes/TrackedRemote/RTrackedRemote.prefab.meta new file mode 100644 index 0000000..2546c34 --- /dev/null +++ b/Assets/OVRInputSelection/Meshes/TrackedRemote/RTrackedRemote.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5c706126fee98a74ea509233e2a32a7f +timeCreated: 1512506436 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes.meta b/Assets/OVRInputSelection/Scenes.meta new file mode 100644 index 0000000..0b97b16 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 56f6dd2cad0642841a37ba3abd714218 +folderAsset: yes +timeCreated: 1512377444 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/main.meta b/Assets/OVRInputSelection/Scenes/main.meta new file mode 100644 index 0000000..ecffa71 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/main.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6f07b501f2a3c8e42838fd86cd378fb4 +folderAsset: yes +timeCreated: 1512502160 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/main.unity b/Assets/OVRInputSelection/Scenes/main.unity new file mode 100644 index 0000000..e88192e --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/main.unity @@ -0,0 +1,7048 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 112000002, guid: e8fbe618c10e06e46b52d686dc7b90db, + type: 2} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &14083523 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1841092496795574, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 14083524} + m_Layer: 0 + m_Name: Texture Group (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &14083524 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4296782787959290, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 14083523} + 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_Children: [] + m_Father: {fileID: 509063813} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &38351095 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1547170486280282, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 38351096} + - component: {fileID: 38351098} + - component: {fileID: 38351097} + m_Layer: 0 + m_Name: text_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &38351096 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4298839253072560, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 38351095} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1893724369} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &38351097 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23629277104320488, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 38351095} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &38351098 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33227895672347990, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 38351095} + m_Mesh: {fileID: 4300000, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &52161329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1855455462485234, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 52161330} + m_Layer: 0 + m_Name: lctrl:b_trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &52161330 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4894334680272574, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 52161329} + m_LocalRotation: {x: -0.05795374, y: -0.05660452, z: 0.9967023, w: 0.0046757394} + m_LocalPosition: {x: -0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1418706866} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &55118176 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1971769170389126, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 55118177} + - component: {fileID: 55118178} + m_Layer: 0 + m_Name: rctrl:side_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &55118177 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4912627388869670, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 55118176} + 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_Children: [] + m_Father: {fileID: 616565596} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &55118178 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137996489588372456, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 55118176} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 357661520} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 357661520} + m_AABB: + m_Center: {x: 0.015085926, y: 0.00079575554, z: 0.0022845895} + m_Extent: {x: 0.0075142607, y: 0.014562387, z: 0.0074783238} + m_DirtyAABB: 0 +--- !u!1 &93496994 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1813870990463274, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 93496995} + m_Layer: 0 + m_Name: rctrl:b_button01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &93496995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4397574615338790, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 93496994} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 461848157} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &94380403 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1400594226618500, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 94380404} + - component: {fileID: 94380405} + m_Layer: 0 + m_Name: lctrl:side_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &94380404 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4581203518760102, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 94380403} + 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_Children: [] + m_Father: {fileID: 898218046} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &94380405 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137021319933803464, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 94380403} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1201202988} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1201202988} + m_AABB: + m_Center: {x: -0.015075568, y: -0.000016345643, z: 0.0018507424} + m_Extent: {x: 0.0069265533, y: 0.014548335, z: 0.007307569} + m_DirtyAABB: 0 +--- !u!1 &126133458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 126133459} + - component: {fileID: 126133461} + - component: {fileID: 126133460} + m_Layer: 5 + m_Name: description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &126133459 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 126133458} + 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_Children: [] + m_Father: {fileID: 509860487} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -2.949997, y: -96} + m_SizeDelta: {x: 190, y: 146} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &126133460 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 126133458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'This example combines all the other examples to demonstrate how UI, Raycasting + and the event system can work together. + + Scene: selection_all' +--- !u!222 &126133461 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 126133458} + m_CullTransparentMesh: 0 +--- !u!1 &165223385 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1381962807238814, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 165223386} + - component: {fileID: 165223387} + m_Layer: 0 + m_Name: lctrl:ring_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &165223386 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4894055992218830, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 165223385} + 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_Children: [] + m_Father: {fileID: 898218046} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &165223387 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137900428634002032, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 165223385} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1418706866} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1418706866} + m_AABB: + m_Center: {x: 0.016699282, y: 0.010818447, z: -0.036364146} + m_Extent: {x: 0.054633915, y: 0.02167825, z: 0.050220706} + m_DirtyAABB: 0 +--- !u!4 &197063870 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 459718, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 231878087} + 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_Children: + - {fileID: 2051731369} + - {fileID: 1094220636} + - {fileID: 1359711878} + - {fileID: 1323490865} + - {fileID: 748154256} + - {fileID: 748154255} + m_Father: {fileID: 748154260} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &206426866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1121076711406898, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 206426867} + m_Layer: 0 + m_Name: lctrl:b_stick_IGNORE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &206426867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4287199084857482, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 206426866} + m_LocalRotation: {x: 0, y: -0.70108956, z: -0, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1126024194} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &219386903 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154255} + m_Modifications: + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + m_RootGameObject: {fileID: 794560610} + m_IsPrefabAsset: 0 +--- !u!1 &231878087 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 159718, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 197063870} + m_Layer: 0 + m_Name: TrackingSpace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &268370436 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 109308, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154256} + m_Layer: 0 + m_Name: LeftHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &286433907 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 113768, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154255} + m_Layer: 0 + m_Name: RightHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &298869260 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1204236285207998, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 298869261} + - component: {fileID: 298869262} + m_Layer: 0 + m_Name: RTouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &298869261 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 298869260} + 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_Children: + - {fileID: 616565596} + - {fileID: 461848157} + m_Father: {fileID: 748154255} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &298869262 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114584869579924024, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 298869260} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 298869260} + m_modelOculusGoController: {fileID: 298869260} + m_controller: 2 +--- !u!1 &302266327 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1401388310133804, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 302266328} + m_Layer: 0 + m_Name: Texture Group + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &302266328 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4927257745488036, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 302266327} + 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_Children: [] + m_Father: {fileID: 509063813} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &335419915 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1087401761687600, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 335419916} + - component: {fileID: 335419917} + m_Layer: 0 + m_Name: rctrl:surface_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &335419916 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4847083719313040, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 335419915} + 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_Children: [] + m_Father: {fileID: 616565596} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &335419917 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137587583371347130, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 335419915} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 461848157} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 461848157} + m_AABB: + m_Center: {x: -0.00016466714, y: 0.00024955347, z: -0.0010734657} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.0059699244} + m_DirtyAABB: 0 +--- !u!1 &342810429 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1316933471644708, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 342810430} + - component: {fileID: 342810432} + - component: {fileID: 342810431} + m_Layer: 0 + m_Name: trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &342810430 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4324592849986106, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 342810429} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1893724369} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &342810431 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23030419055788318, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 342810429} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &342810432 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33585973913264350, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 342810429} + m_Mesh: {fileID: 4300004, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &342866818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1320820836912368, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 342866819} + m_Layer: 0 + m_Name: Texture Group (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &342866819 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4416755117851086, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 342866818} + 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_Children: [] + m_Father: {fileID: 509063813} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &357661519 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1387477248435416, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 357661520} + m_Layer: 0 + m_Name: rctrl:b_hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &357661520 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4335872085946050, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 357661519} + m_LocalRotation: {x: -0.17913595, y: 0.14914332, z: 0.022661837, w: 0.97218984} + m_LocalPosition: {x: -0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 461848157} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &397488200 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1620100735647344, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 397488201} + m_Layer: 0 + m_Name: rctrl:b_stick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &397488201 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4981202461394642, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 397488200} + m_LocalRotation: {x: -0.003149668, y: 0.7098123, z: 0.002783398, w: 0.7043784} + m_LocalPosition: {x: -0.010637393, y: 0.00497835, z: -0.009418557} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1326308136} + m_Father: {fileID: 461848157} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &427133367 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 427133368} + - component: {fileID: 427133371} + - component: {fileID: 427133370} + - component: {fileID: 427133369} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &427133368 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 427133367} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 0.99999994} + m_Children: + - {fileID: 1122498375} + - {fileID: 1900021563} + - {fileID: 760716027} + m_Father: {fileID: 1387343638} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.0000014305} + m_SizeDelta: {x: 221.2, y: 267.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &427133369 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 427133367} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 427133370} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1480215259} + m_MethodName: OnLoadEvent + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &427133370 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 427133367} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &427133371 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 427133367} + m_CullTransparentMesh: 0 +--- !u!1 &445744155 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1248286026319258, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 445744156} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &445744156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4742830124717782, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 445744155} + m_LocalRotation: {x: 0.46193975, y: 0.3314136, z: -0.19134171, w: 0.8001032} + m_LocalPosition: {x: 2, y: 2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 509063813} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &449356435 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1344036408324514, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 449356436} + - component: {fileID: 449356438} + - component: {fileID: 449356437} + m_Layer: 0 + m_Name: chassis_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &449356436 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4605323016180494, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 449356435} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1893724369} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &449356437 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23133394067468082, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 449356435} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &449356438 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33778150695240890, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 449356435} + m_Mesh: {fileID: 4300012, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &457172733 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1629587277045648, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 457172734} + m_Layer: 0 + m_Name: rctrl:b_button02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &457172734 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4279151526622972, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 457172733} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: 0.009152712, y: 0.0054823146, z: 0.000030916483} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 461848157} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &461819530 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1625696427827932, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 461819531} + m_Layer: 0 + m_Name: lctrl:b_button03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &461819531 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4686602471241882, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 461819530} + m_LocalRotation: {x: 0.05660452, y: -0.05795374, z: -0.0046757394, w: 0.9967023} + m_LocalPosition: {x: 0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1418706866} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &461848156 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1557972973026844, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 461848157} + m_Layer: 0 + m_Name: rctrl:right_touch_controller_world + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &461848157 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4215823899630190, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 461848156} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 93496995} + - {fileID: 457172734} + - {fileID: 977978993} + - {fileID: 357661520} + - {fileID: 397488201} + - {fileID: 1751710623} + m_Father: {fileID: 298869261} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &509063812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1235543444575054, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 509063813} + m_Layer: 0 + m_Name: OculusGoController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &509063813 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4060494533034292, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 509063812} + 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_Children: + - {fileID: 761168504} + - {fileID: 445744156} + - {fileID: 2069773759} + - {fileID: 302266328} + - {fileID: 14083524} + - {fileID: 619227351} + - {fileID: 342866819} + m_Father: {fileID: 794560611} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &509860486 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 509860487} + - component: {fileID: 509860490} + - component: {fileID: 509860489} + - component: {fileID: 509860488} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &509860487 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509860486} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 0.99999994} + m_Children: + - {fileID: 1689928065} + - {fileID: 540579631} + - {fileID: 126133459} + m_Father: {fileID: 1858247721} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.0000014305} + m_SizeDelta: {x: 221.2, y: 267.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &509860488 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509860486} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 509860489} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1480215259} + m_MethodName: OnLoadAllInOne + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &509860489 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509860486} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &509860490 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 509860486} + m_CullTransparentMesh: 0 +--- !u!1 &540579630 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 540579631} + - component: {fileID: 540579633} + - component: {fileID: 540579632} + m_Layer: 5 + m_Name: title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &540579631 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 540579630} + 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_Children: [] + m_Father: {fileID: 509860487} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -2.9499974, y: -12.599998} + m_SizeDelta: {x: 189.5, y: 21.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &540579632 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 540579630} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 18 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: All in one +--- !u!222 &540579633 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 540579630} + m_CullTransparentMesh: 0 +--- !u!1 &550265902 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1672242236952754, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 550265903} + - component: {fileID: 550265905} + - component: {fileID: 550265904} + m_Layer: 0 + m_Name: chassis_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &550265903 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4865563946502246, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 550265902} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2064420695} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &550265904 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23463007473532904, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 550265902} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &550265905 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33301716791474086, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 550265902} + m_Mesh: {fileID: 4300012, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &555655819 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1227483511572584, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 555655820} + - component: {fileID: 555655821} + m_Layer: 0 + m_Name: rctrl:ring_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &555655820 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4875885059110940, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 555655819} + 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_Children: [] + m_Father: {fileID: 616565596} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &555655821 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137401003894426430, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 555655819} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 461848157} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 461848157} + m_AABB: + m_Center: {x: -0.016699282, y: 0.010818443, z: -0.036364153} + m_Extent: {x: 0.054633915, y: 0.021678247, z: 0.050220713} + m_DirtyAABB: 0 +--- !u!1 &616565595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1213770487344620, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 616565596} + m_Layer: 0 + m_Name: rctrl:geometry_null + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &616565596 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4269300792470906, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 616565595} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 843075312} + - {fileID: 661936582} + - {fileID: 975298712} + - {fileID: 1862208826} + - {fileID: 632689383} + - {fileID: 1182496353} + - {fileID: 555655820} + - {fileID: 55118177} + - {fileID: 335419916} + - {fileID: 1997668891} + m_Father: {fileID: 298869261} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &619227350 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1603644047585796, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 619227351} + m_Layer: 0 + m_Name: Texture Group (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &619227351 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4370971803418792, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 619227350} + 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_Children: [] + m_Father: {fileID: 509063813} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &625320676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1519125787895902, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 625320677} + - component: {fileID: 625320679} + - component: {fileID: 625320678} + m_Layer: 0 + m_Name: disc_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &625320677 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4822202288540890, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 625320676} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2064420695} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &625320678 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23031768250379678, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 625320676} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &625320679 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33733391811933146, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 625320676} + m_Mesh: {fileID: 4300010, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1001 &625649859 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154256} + m_Modifications: + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + m_RootGameObject: {fileID: 941779213} + m_IsPrefabAsset: 0 +--- !u!1 &632689382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1539795145029996, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 632689383} + - component: {fileID: 632689384} + m_Layer: 0 + m_Name: rctrl:o_button_decal_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &632689383 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4188534060631024, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 632689382} + 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_Children: [] + m_Father: {fileID: 616565596} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &632689384 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137216636184210194, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 632689382} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 977978993} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 977978993} + m_AABB: + m_Center: {x: 0.00004066783, y: 0.00002745376, z: 0.0012303367} + m_Extent: {x: 0.0015236214, y: 0.0021297487, z: 0.00001941109} + m_DirtyAABB: 0 +--- !u!1 &661936581 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1242376901968210, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 661936582} + - component: {fileID: 661936583} + m_Layer: 0 + m_Name: rctrl:b_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &661936582 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4259379013194602, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 661936581} + 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_Children: [] + m_Father: {fileID: 616565596} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &661936583 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137130966058281504, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 661936581} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 457172734} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 457172734} + m_AABB: + m_Center: {x: 0.000000345055, y: -0.0000009192154, z: 0.0003571303} + m_Extent: {x: 0.0050524976, y: 0.0050528734, z: 0.0025179689} + m_DirtyAABB: 0 +--- !u!1 &704602124 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 704602125} + - component: {fileID: 704602128} + - component: {fileID: 704602126} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &704602125 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 3} + m_LocalScale: {x: 0.05, y: 0.05, z: 0.05} + m_Children: [] + m_Father: {fileID: 1770626480} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &704602126 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 02f4d91e963f1e74d8bee0002c24efe7, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &704602128 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &744816570 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1552281567235398, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 744816571} + m_Layer: 0 + m_Name: OculusGoController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &744816571 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4983237797735506, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 744816570} + 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_Children: + - {fileID: 940957041} + - {fileID: 1083577351} + - {fileID: 1087673784} + - {fileID: 1013256217} + - {fileID: 841570895} + - {fileID: 1251564401} + - {fileID: 1228324733} + m_Father: {fileID: 941779214} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &748154254 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.y + value: 2.8 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.z + value: -4.02 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + m_RootGameObject: {fileID: 748154257} + m_IsPrefabAsset: 0 +--- !u!4 &748154255 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 487254, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 286433907} + 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_Children: + - {fileID: 794560611} + - {fileID: 298869261} + m_Father: {fileID: 197063870} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &748154256 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 482130, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 268370436} + 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_Children: + - {fileID: 941779214} + - {fileID: 1039558302} + m_Father: {fileID: 197063870} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &748154257 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100004, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154260} + - component: {fileID: 748154262} + - component: {fileID: 748154261} + - component: {fileID: 748154258} + m_Layer: 0 + m_Name: OVRCameraRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &748154258 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 748154257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c52963611592b1f4e850fc927ddad8c7, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!20 &748154259 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 2037080, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1094220634} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 1000 + field of view: 90 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &748154260 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154257} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.8, z: -4.02} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 197063870} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &748154261 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 11400000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e933e81d3c20c74ea6fdc708a67e3a5, type: 3} + m_Name: + m_EditorClassIdentifier: + queueAhead: 1 + useRecommendedMSAALevel: 0 + _monoscopic: 0 + enableAdaptiveResolution: 0 + minRenderScale: 0.7 + maxRenderScale: 1 + expandMixedRealityCapturePropertySheet: 0 + enableMixedReality: 0 + compositionMethod: 0 + extraHiddenLayers: + serializedVersion: 2 + m_Bits: 0 + capturingCameraDevice: 0 + flipCameraFrameHorizontally: 0 + flipCameraFrameVertically: 0 + handPoseStateLatency: 0 + sandwichCompositionRenderLatency: 0 + sandwichCompositionBufferedFrames: 8 + chromaKeyColor: {r: 0, g: 1, b: 0, a: 1} + chromaKeySimilarity: 0.6 + chromaKeySmoothRange: 0.03 + chromaKeySpillRange: 0.06 + useDynamicLighting: 0 + depthQuality: 1 + dynamicLightingSmoothFactor: 8 + dynamicLightingDepthVariationClampingValue: 0.001 + virtualGreenScreenType: 0 + virtualGreenScreenTopY: 10 + virtualGreenScreenBottomY: -10 + virtualGreenScreenApplyDepthCulling: 0 + virtualGreenScreenDepthTolerance: 0.2 + _trackingOriginType: 0 + usePositionTracking: 1 + useRotationTracking: 1 + useIPDInPositionTracking: 1 + resetTrackerOnLoad: 0 + AllowRecenter: 1 + _reorientHMDOnControllerRecenter: 1 +--- !u!114 &748154262 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 11400010, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df9f338034892c44ebb62d97894772f1, type: 3} + m_Name: + m_EditorClassIdentifier: + usePerEyeCameras: 0 + useFixedUpdateForTracking: 0 +--- !u!1 &760716026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 760716027} + - component: {fileID: 760716029} + - component: {fileID: 760716028} + m_Layer: 5 + m_Name: description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &760716027 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 760716026} + 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_Children: [] + m_Father: {fileID: 427133368} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -2.949997, y: -79} + m_SizeDelta: {x: 190, y: 112} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &760716028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 760716026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'This example shows how to handle input using physics raycasts, using Unity''s + built in event system. + + + Scene: selection_physics' +--- !u!222 &760716029 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 760716026} + m_CullTransparentMesh: 0 +--- !u!1 &761168503 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1928054476239690, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 761168504} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &761168504 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4840170697158152, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 761168503} + m_LocalRotation: {x: -0.030843565, y: -0.7064338, z: 0.030843565, w: 0.7064338} + m_LocalPosition: {x: -0, y: 0.75, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 509063813} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &785846699 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1747123517546552, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 785846700} + - component: {fileID: 785846702} + - component: {fileID: 785846701} + m_Layer: 0 + m_Name: home_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &785846700 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4652644063180642, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 785846699} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2064420695} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &785846701 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23172198679712168, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 785846699} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &785846702 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33747868560225156, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 785846699} + m_Mesh: {fileID: 4300006, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &794560610 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1619383211339418, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 794560611} + - component: {fileID: 794560612} + m_Layer: 0 + m_Name: RTrackedRemote + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &794560611 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 794560610} + 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_Children: + - {fileID: 1893724369} + - {fileID: 509063813} + m_Father: {fileID: 748154255} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &794560612 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114228874124863804, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 794560610} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1893724368} + m_modelOculusGoController: {fileID: 509063812} + m_controller: 33554432 +--- !u!1 &841570894 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1044748042387820, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 841570895} + m_Layer: 0 + m_Name: Texture Group (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &841570895 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4836412835437132, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 841570894} + 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_Children: [] + m_Father: {fileID: 744816571} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &843075311 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1044639065548258, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 843075312} + - component: {fileID: 843075313} + m_Layer: 0 + m_Name: rctrl:a_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &843075312 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4718947254803156, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 843075311} + 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_Children: [] + m_Father: {fileID: 616565596} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &843075313 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137970806874392016, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 843075311} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 93496995} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 93496995} + m_AABB: + m_Center: {x: 0.0000007292256, y: 0.000013417564, z: 0.00051031867} + m_Extent: {x: 0.0050891023, y: 0.005111115, z: 0.0025862483} + m_DirtyAABB: 0 +--- !u!1001 &875355896 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154256} + m_Modifications: + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + m_RootGameObject: {fileID: 1039558301} + m_IsPrefabAsset: 0 +--- !u!1 &894277985 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 894277989} + - component: {fileID: 894277988} + - component: {fileID: 894277987} + - component: {fileID: 894277986} + m_Layer: 5 + m_Name: Raw + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &894277986 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 894277985} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aee672c7b0743724ea7d0d722d5e6aa2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &894277987 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 894277985} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &894277988 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 894277985} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 748154259} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &894277989 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 894277985} + m_LocalRotation: {x: -0, y: -0.13052624, z: -0, w: 0.9914449} + m_LocalPosition: {x: 0, y: 0, z: 2.7900004} + m_LocalScale: {x: 0.03000001, y: 0.03, z: 0.03000001} + m_Children: + - {fileID: 2083009179} + m_Father: {fileID: 1480215258} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: -15, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -4.380001, y: 0.013336182} + m_SizeDelta: {x: 230.29, y: 278.56} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &898218045 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1710745798956080, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 898218046} + m_Layer: 0 + m_Name: lctrl:geometry_null + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &898218046 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4456158541893084, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 898218045} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1072138620} + - {fileID: 2116108982} + - {fileID: 2056146735} + - {fileID: 913805929} + - {fileID: 165223386} + - {fileID: 94380404} + - {fileID: 2059853415} + - {fileID: 1402831252} + - {fileID: 1917830994} + - {fileID: 2035341621} + m_Father: {fileID: 1039558302} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &907202641 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154255} + m_Modifications: + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + m_RootGameObject: {fileID: 298869260} + m_IsPrefabAsset: 0 +--- !u!1 &913805928 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1757445139830558, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 913805929} + - component: {fileID: 913805930} + m_Layer: 0 + m_Name: lctrl:o_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &913805929 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4866202693471932, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 913805928} + 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_Children: [] + m_Father: {fileID: 898218046} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &913805930 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137688407735402816, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 913805928} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300012, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 461819531} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 461819531} + m_AABB: + m_Center: {x: 0.00000037020072, y: 0.00000087032095, z: 0.00057196105} + m_Extent: {x: 0.004508083, y: 0.004509521, z: 0.0007474739} + m_DirtyAABB: 0 +--- !u!1 &940957040 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1788637526737978, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 940957041} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &940957041 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4525814746143240, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 940957040} + m_LocalRotation: {x: -0.030843565, y: -0.7064338, z: 0.030843565, w: 0.7064338} + m_LocalPosition: {x: -0, y: 0.75, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 744816571} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &941779213 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1495718994041264, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 941779214} + - component: {fileID: 941779215} + m_Layer: 0 + m_Name: LTrackedRemote + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &941779214 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 941779213} + 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_Children: + - {fileID: 2064420695} + - {fileID: 744816571} + m_Father: {fileID: 748154256} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &941779215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114318095738077550, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 941779213} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 2064420694} + m_modelOculusGoController: {fileID: 744816570} + m_controller: 16777216 +--- !u!1 &943699329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1130681504925616, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 943699330} + - component: {fileID: 943699332} + - component: {fileID: 943699331} + m_Layer: 0 + m_Name: text_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &943699330 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4864699852922402, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 943699329} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2064420695} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &943699331 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23878245367906148, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 943699329} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &943699332 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33355214589814526, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 943699329} + m_Mesh: {fileID: 4300000, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &975298711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1569199330813010, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 975298712} + - component: {fileID: 975298713} + m_Layer: 0 + m_Name: rctrl:controller_body_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &975298712 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4557562491589872, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 975298711} + 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_Children: [] + m_Father: {fileID: 616565596} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &975298713 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137937078754769558, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 975298711} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300012, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 461848157} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 461848157} + m_AABB: + m_Center: {x: -0.0012377053, y: -0.019060574, z: -0.031160347} + m_Extent: {x: 0.030484851, y: 0.051344886, z: 0.035910763} + m_DirtyAABB: 0 +--- !u!1 &977978992 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1388729398224976, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 977978993} + m_Layer: 0 + m_Name: rctrl:b_button03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &977978993 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4283226593156960, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 977978992} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: -0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 461848157} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1013256216 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1686775197120014, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 1013256217} + m_Layer: 0 + m_Name: Texture Group + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1013256217 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4431570018244114, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1013256216} + 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_Children: [] + m_Father: {fileID: 744816571} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1018864293 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1018864294} + - component: {fileID: 1018864296} + - component: {fileID: 1018864295} + m_Layer: 5 + m_Name: title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1018864294 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1018864293} + 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_Children: [] + m_Father: {fileID: 2066213934} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -2.9499974, y: -12.599998} + m_SizeDelta: {x: 189.5, y: 21.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1018864295 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1018864293} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 18 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: UI Interaction +--- !u!222 &1018864296 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1018864293} + m_CullTransparentMesh: 0 +--- !u!1 &1039558301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1249364222358160, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 1039558302} + - component: {fileID: 1039558303} + m_Layer: 0 + m_Name: LTouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1039558302 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 1039558301} + 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_Children: + - {fileID: 898218046} + - {fileID: 1418706866} + m_Father: {fileID: 748154256} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1039558303 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114694055904687676, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 1039558301} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1039558301} + m_modelOculusGoController: {fileID: 1039558301} + m_controller: 1 +--- !u!1 &1072138619 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1808661097943962, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 1072138620} + - component: {fileID: 1072138621} + m_Layer: 0 + m_Name: lctrl:controller_body_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1072138620 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4835918886493410, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 1072138619} + 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_Children: [] + m_Father: {fileID: 898218046} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1072138621 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137034633232802846, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 1072138619} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1418706866} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1418706866} + m_AABB: + m_Center: {x: 0.0012377053, y: -0.01906057, z: -0.031179678} + m_Extent: {x: 0.030484851, y: 0.051344883, z: 0.03589144} + m_DirtyAABB: 0 +--- !u!1 &1083577350 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1181828502341800, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 1083577351} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1083577351 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4396520640128694, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1083577350} + m_LocalRotation: {x: 0.46193975, y: 0.3314136, z: -0.19134171, w: 0.8001032} + m_LocalPosition: {x: 2, y: 2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 744816571} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1087673783 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1083255323522338, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 1087673784} + - component: {fileID: 1087673786} + - component: {fileID: 1087673785} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1087673784 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4690604795820296, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1087673783} + 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_Children: [] + m_Father: {fileID: 744816571} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1087673785 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23506773129304874, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1087673783} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1087673786 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33917518887091280, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1087673783} + m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3} +--- !u!1 &1094220634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100002, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 1094220636} + - component: {fileID: 1094220635} + - component: {fileID: 748154259} + m_Layer: 0 + m_Name: CenterEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1094220635 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 8100000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1094220634} + m_Enabled: 1 +--- !u!4 &1094220636 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400002, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1094220634} + 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_Children: [] + m_Father: {fileID: 197063870} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1122498374 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1122498375} + - component: {fileID: 1122498377} + - component: {fileID: 1122498376} + m_Layer: 5 + m_Name: screenshot_physics + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1122498375 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1122498374} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.20000003, y: 0.20000003, z: 0.20000003} + m_Children: [] + m_Father: {fileID: 427133368} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -2.9499974, y: -11.249994} + m_SizeDelta: {x: 932, y: 608} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1122498376 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1122498374} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 08cab6c84d1d0f043a5496bc97a744da, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1122498377 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1122498374} + m_CullTransparentMesh: 0 +--- !u!1 &1126024193 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1555327577499684, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 1126024194} + m_Layer: 0 + m_Name: lctrl:b_stick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1126024194 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4729919975037316, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 1126024193} + m_LocalRotation: {x: 0.0027868259, y: 0.70437866, z: -0.0031505642, w: 0.7098119} + m_LocalPosition: {x: 0.010637393, y: 0.00497835, z: -0.009418557} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 206426867} + m_Father: {fileID: 1418706866} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1182496352 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1255007767297440, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 1182496353} + - component: {fileID: 1182496354} + m_Layer: 0 + m_Name: rctrl:o_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1182496353 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4145692376739090, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 1182496352} + 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_Children: [] + m_Father: {fileID: 616565596} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1182496354 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137408571574643928, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 1182496352} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 977978993} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 977978993} + m_AABB: + m_Center: {x: -0.00000026635826, y: -0.00000013131648, z: 0.0005419669} + m_Extent: {x: 0.004489839, y: 0.0044893455, z: 0.0007474746} + m_DirtyAABB: 0 +--- !u!1 &1201202987 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1273683566421700, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 1201202988} + m_Layer: 0 + m_Name: lctrl:b_hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1201202988 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4645218192740248, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 1201202987} + m_LocalRotation: {x: -0.18065539, y: -0.13555649, z: -0.067166515, w: 0.97184193} + m_LocalPosition: {x: 0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1418706866} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1206656643 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1206656645} + - component: {fileID: 1206656644} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1206656644 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206656643} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1206656645 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206656643} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1215934124 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1054859093032942, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 1215934125} + - component: {fileID: 1215934127} + - component: {fileID: 1215934126} + m_Layer: 0 + m_Name: trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1215934125 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4842731919319380, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1215934124} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2064420695} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1215934126 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23701497806254902, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1215934124} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1215934127 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33389899558344730, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1215934124} + m_Mesh: {fileID: 4300004, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1228324732 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1846251851831204, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 1228324733} + m_Layer: 0 + m_Name: Texture Group (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1228324733 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4580387016916048, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1228324732} + 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_Children: [] + m_Father: {fileID: 744816571} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1251564400 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1898581742577714, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 1251564401} + m_Layer: 0 + m_Name: Texture Group (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1251564401 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4644426881070850, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1251564400} + 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_Children: [] + m_Father: {fileID: 744816571} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1323490864 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 168682, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 1323490865} + m_Layer: 0 + m_Name: TrackerAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1323490865 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 468682, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1323490864} + 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_Children: [] + m_Father: {fileID: 197063870} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1326308135 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1471450926194158, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 1326308136} + m_Layer: 0 + m_Name: rctrl:b_stick_IGNORE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1326308136 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4168601658108038, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 1326308135} + m_LocalRotation: {x: -4.5059287e-17, y: -0.70108956, z: -6.5911624e-17, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 397488201} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1359711877 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 1359711878} + - component: {fileID: 1359711879} + m_Layer: 0 + m_Name: RightEyeAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1359711878 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1359711877} + 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_Children: [] + m_Father: {fileID: 197063870} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &1359711879 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 20000010189485334, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1359711877} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 2 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &1372448693 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1882586662293422, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 1372448694} + - component: {fileID: 1372448696} + - component: {fileID: 1372448695} + m_Layer: 0 + m_Name: center_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1372448694 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4799854660562368, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 1372448693} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1893724369} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1372448695 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23281082922435582, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 1372448693} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1372448696 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33100618622131046, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 1372448693} + m_Mesh: {fileID: 4300002, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1387343634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1387343638} + - component: {fileID: 1387343637} + - component: {fileID: 1387343636} + - component: {fileID: 1387343635} + m_Layer: 5 + m_Name: Physics + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1387343635 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1387343634} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aee672c7b0743724ea7d0d722d5e6aa2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1387343636 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1387343634} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1387343637 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1387343634} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 748154259} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1387343638 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1387343634} + m_LocalRotation: {x: -0, y: 0.13052616, z: -0, w: 0.9914449} + m_LocalPosition: {x: 0, y: 0, z: 2.7900004} + m_LocalScale: {x: 0.030000014, y: 0.03, z: 0.030000014} + m_Children: + - {fileID: 427133368} + m_Father: {fileID: 1480215258} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 15, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 4.1899996, y: 0.013336182} + m_SizeDelta: {x: 230.29, y: 278.56} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1402831251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1175014527457936, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 1402831252} + - component: {fileID: 1402831253} + m_Layer: 0 + m_Name: lctrl:thumbstick_ball_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1402831252 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4310471275020772, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 1402831251} + 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_Children: [] + m_Father: {fileID: 898218046} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1402831253 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137648090444452748, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 1402831251} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1418706866} + - {fileID: 1126024194} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1418706866} + m_AABB: + m_Center: {x: 0.010604477, y: 0.0049807085, z: 0.0022465447} + m_Extent: {x: 0.010754766, y: 0.010751986, z: 0.007853852} + m_DirtyAABB: 0 +--- !u!1 &1418706865 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1109776360024182, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 1418706866} + m_Layer: 0 + m_Name: lctrl:left_touch_controller_world + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1418706866 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4238190259217100, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 1418706865} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1420737457} + - {fileID: 2042516811} + - {fileID: 461819531} + - {fileID: 1201202988} + - {fileID: 1126024194} + - {fileID: 52161330} + m_Father: {fileID: 1039558302} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1420737456 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1396923449131326, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 1420737457} + m_Layer: 0 + m_Name: lctrl:b_button01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1420737457 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4205472914554084, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 1420737456} + m_LocalRotation: {x: 0.05660452, y: -0.05795374, z: -0.0046757394, w: 0.9967023} + m_LocalPosition: {x: -0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1418706866} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1480215257 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1480215258} + - component: {fileID: 1480215259} + m_Layer: 0 + m_Name: Cards + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1480215258 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1480215257} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 11.6} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2054083581} + - {fileID: 894277989} + - {fileID: 1387343638} + - {fileID: 1858247721} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1480215259 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1480215257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8d0b8b3fa3583fa479057753e1cfa754, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1541232627 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1986267487696040, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 1541232628} + - component: {fileID: 1541232630} + - component: {fileID: 1541232629} + m_Layer: 0 + m_Name: home_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1541232628 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4513770082835008, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 1541232627} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1893724369} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1541232629 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23832093868421994, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 1541232627} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1541232630 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33008035127017516, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 1541232627} + m_Mesh: {fileID: 4300006, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1612599472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1883902553708476, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 1612599473} + - component: {fileID: 1612599475} + - component: {fileID: 1612599474} + m_Layer: 0 + m_Name: back_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1612599473 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4163330102252882, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 1612599472} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1893724369} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1612599474 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23484041705834348, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 1612599472} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1612599475 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33886181901218246, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 1612599472} + m_Mesh: {fileID: 4300008, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1689928064 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1689928065} + - component: {fileID: 1689928067} + - component: {fileID: 1689928066} + m_Layer: 5 + m_Name: screenshot_all + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1689928065 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1689928064} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.20000003, y: 0.20000003, z: 0.20000003} + m_Children: [] + m_Father: {fileID: 509860487} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -2.9499974, y: -11.249994} + m_SizeDelta: {x: 932, y: 608} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &1689928066 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1689928064} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: c85e01b12adaaef42bfa2f8eaa8c6775, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1689928067 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1689928064} + m_CullTransparentMesh: 0 +--- !u!1 &1694502646 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1694502649} + - component: {fileID: 1694502648} + - component: {fileID: 1694502647} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1694502647 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1694502646} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4a9c50de96f6d04386957f4741ac65c, type: 3} + m_Name: + m_EditorClassIdentifier: + trackingSpace: {fileID: 197063870} + joyPadClickButton: 8192 + performSphereCastForGazepointer: 0 + matchNormalOnPhysicsColliders: 0 + useLeftStickScroll: 1 + leftStickDeadZone: 0.15 + useSwipeScroll: 1 + minSwipeMovement: 0 + swipeScrollScale: 4 + activeController: 0 + angleDragThreshold: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_AllowActivationOnMobileDevice: 1 +--- !u!114 &1694502648 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1694502646} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1694502649 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1694502646} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1695885846 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1695885847} + - component: {fileID: 1695885849} + - component: {fileID: 1695885848} + m_Layer: 5 + m_Name: description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1695885847 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1695885846} + 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_Children: [] + m_Father: {fileID: 2083009179} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -2.949997, y: -80} + m_SizeDelta: {x: 190, y: 113} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1695885848 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1695885846} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'This example shows how to handle input using physics raycasts, without + using Unity''s built in event system. + + + Scene: selection_raw' +--- !u!222 &1695885849 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1695885846} + m_CullTransparentMesh: 0 +--- !u!1 &1704615435 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1826361670079214, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 1704615436} + - component: {fileID: 1704615438} + - component: {fileID: 1704615437} + m_Layer: 0 + m_Name: center_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1704615436 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4376215461376520, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1704615435} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2064420695} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1704615437 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23483435829991590, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1704615435} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1704615438 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33678981673394744, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1704615435} + m_Mesh: {fileID: 4300002, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1751710622 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1405654979698792, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 1751710623} + m_Layer: 0 + m_Name: rctrl:b_trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1751710623 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4465709660190338, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 1751710622} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 461848157} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1757119571 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1757119572} + - component: {fileID: 1757119574} + - component: {fileID: 1757119573} + m_Layer: 5 + m_Name: title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1757119572 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1757119571} + 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_Children: [] + m_Father: {fileID: 2083009179} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -2.9499974, y: -12.599998} + m_SizeDelta: {x: 189.5, y: 21.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1757119573 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1757119571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 18 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Raw Interaction +--- !u!222 &1757119574 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1757119571} + m_CullTransparentMesh: 0 +--- !u!1 &1770626477 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1770626480} + - component: {fileID: 1770626479} + - component: {fileID: 1770626478} + m_Layer: 0 + m_Name: SelectionVisualizer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!120 &1770626478 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 0} + - {fileID: 2100000, guid: 02f4d91e963f1e74d8bee0002c24efe7, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 2 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &1770626479 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 12283131fa5724f44b343883ae474072, type: 3} + m_Name: + m_EditorClassIdentifier: + trackingSpace: {fileID: 197063870} + linePointer: {fileID: 1770626478} + gazePointer: {fileID: 704602125} + rayDrawDistance: 500 + gazeDrawDistance: 3 + activeController: 0 +--- !u!4 &1770626480 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + 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_Children: + - {fileID: 704602125} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1842284531 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1842284532} + - component: {fileID: 1842284534} + - component: {fileID: 1842284533} + m_Layer: 5 + m_Name: description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1842284532 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1842284531} + 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_Children: [] + m_Father: {fileID: 2066213934} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -2.949997, y: -71.1} + m_SizeDelta: {x: 189.5, y: 95.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1842284533 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1842284531} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'This example shows how to handle raycast input against Unity''s UI system. + + + Scene: selection_ui' +--- !u!222 &1842284534 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1842284531} + m_CullTransparentMesh: 0 +--- !u!1 &1858247717 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1858247721} + - component: {fileID: 1858247720} + - component: {fileID: 1858247719} + - component: {fileID: 1858247718} + m_Layer: 5 + m_Name: All + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1858247718 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1858247717} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aee672c7b0743724ea7d0d722d5e6aa2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1858247719 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1858247717} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1858247720 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1858247717} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 748154259} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1858247721 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1858247717} + m_LocalRotation: {x: -0, y: 0.38268343, z: -0, w: 0.92387956} + m_LocalPosition: {x: 0, y: 0, z: -1.0799999} + m_LocalScale: {x: 0.030000001, y: 0.03, z: 0.030000001} + m_Children: + - {fileID: 509860487} + m_Father: {fileID: 1480215258} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 45, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 12.48, y: 0.013336182} + m_SizeDelta: {x: 230.29, y: 278.56} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1862208825 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1483146546636720, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 1862208826} + - component: {fileID: 1862208827} + m_Layer: 0 + m_Name: rctrl:main_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1862208826 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4973428937398324, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 1862208825} + 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_Children: [] + m_Father: {fileID: 616565596} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1862208827 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137893484049802790, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 1862208825} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 1751710623} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1751710623} + m_AABB: + m_Center: {x: -0.0006609438, y: -0.0013324562, z: -0.013972085} + m_Extent: {x: 0.014561905, y: 0.009363498, z: 0.013364948} + m_DirtyAABB: 0 +--- !u!1 &1893724368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1302709279893250, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 1893724369} + m_Layer: 0 + m_Name: GearVrController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1893724369 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4254853810062738, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 1893724368} + 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_Children: + - {fileID: 1612599473} + - {fileID: 1372448694} + - {fileID: 449356436} + - {fileID: 2017267103} + - {fileID: 1541232628} + - {fileID: 38351096} + - {fileID: 342810430} + m_Father: {fileID: 794560611} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1900021562 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1900021563} + - component: {fileID: 1900021565} + - component: {fileID: 1900021564} + m_Layer: 5 + m_Name: title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1900021563 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1900021562} + 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_Children: [] + m_Father: {fileID: 427133368} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -2.9499974, y: -12.599998} + m_SizeDelta: {x: 189.5, y: 21.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1900021564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1900021562} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 18 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Event Interaction +--- !u!222 &1900021565 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1900021562} + m_CullTransparentMesh: 0 +--- !u!1 &1917830993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1978692640859942, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 1917830994} + - component: {fileID: 1917830995} + m_Layer: 0 + m_Name: lctrl:x_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1917830994 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4187468707828572, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 1917830993} + 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_Children: [] + m_Father: {fileID: 898218046} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1917830995 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137862092734697462, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 1917830993} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1420737457} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1420737457} + m_AABB: + m_Center: {x: -0.00000072829425, y: 0.000013418496, z: 0.0004995642} + m_Extent: {x: 0.0050891023, y: 0.005111114, z: 0.0025754946} + m_DirtyAABB: 0 +--- !u!1 &1935032666 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1613615737841746, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 1935032667} + - component: {fileID: 1935032669} + - component: {fileID: 1935032668} + m_Layer: 0 + m_Name: back_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1935032667 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4759756961172450, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1935032666} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2064420695} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1935032668 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23486465499094776, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1935032666} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1935032669 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33418398684084700, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 1935032666} + m_Mesh: {fileID: 4300008, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1997668890 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1095698897398270, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + serializedVersion: 6 + m_Component: + - component: {fileID: 1997668891} + - component: {fileID: 1997668892} + m_Layer: 0 + m_Name: rctrl:thumbstick_ball_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1997668891 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4713390451513730, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 1997668890} + 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_Children: [] + m_Father: {fileID: 616565596} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1997668892 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137867182389646434, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 907202641} + m_GameObject: {fileID: 1997668890} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 461848157} + - {fileID: 397488201} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 461848157} + m_AABB: + m_Center: {x: -0.01054777, y: 0.004984765, z: 0.00224772} + m_Extent: {x: 0.010899382, y: 0.010843774, z: 0.007860384} + m_DirtyAABB: 0 +--- !u!1 &2002389028 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2002389029} + - component: {fileID: 2002389031} + - component: {fileID: 2002389030} + m_Layer: 5 + m_Name: screenshot_ui + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2002389029 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2002389028} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.20000003, y: 0.20000003, z: 0.20000003} + m_Children: [] + m_Father: {fileID: 2066213934} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -2.9499974, y: -11.249994} + m_SizeDelta: {x: 932, y: 608} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &2002389030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2002389028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 27a7839379f859b44ae0f1e694c2995e, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2002389031 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2002389028} + m_CullTransparentMesh: 0 +--- !u!1 &2017267102 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1262700692511938, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 2017267103} + - component: {fileID: 2017267105} + - component: {fileID: 2017267104} + m_Layer: 0 + m_Name: disc_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2017267103 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4955146281650030, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 2017267102} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1893724369} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2017267104 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23517888131506342, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 2017267102} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &2017267105 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33893358866304870, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 2017267102} + m_Mesh: {fileID: 4300010, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &2035341620 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1747413968376996, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 2035341621} + - component: {fileID: 2035341622} + m_Layer: 0 + m_Name: lctrl:y_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2035341621 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4673567786913772, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 2035341620} + 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_Children: [] + m_Father: {fileID: 898218046} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2035341622 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137029252293597264, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 2035341620} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 2042516811} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2042516811} + m_AABB: + m_Center: {x: 0.0000023958273, y: -0.000002474524, z: 0.0004961197} + m_Extent: {x: 0.005060065, y: 0.0050237104, z: 0.0025072566} + m_DirtyAABB: 0 +--- !u!1 &2042516810 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1987113674554976, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 2042516811} + m_Layer: 0 + m_Name: lctrl:b_button02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2042516811 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4958792791304930, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 2042516810} + m_LocalRotation: {x: 0.017080953, y: -0.07918932, z: 0.52647054, w: 0.84632504} + m_LocalPosition: {x: -0.0091353385, y: 0.005499125, z: -0.00011681918} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1418706866} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2051731368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100006, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 2051731369} + - component: {fileID: 2051731370} + m_Layer: 0 + m_Name: LeftEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2051731369 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400006, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 2051731368} + 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_Children: [] + m_Father: {fileID: 197063870} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &2051731370 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 20000012175207052, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 2051731368} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 1 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &2054083577 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2054083581} + - component: {fileID: 2054083580} + - component: {fileID: 2054083579} + - component: {fileID: 2054083578} + m_Layer: 5 + m_Name: UI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2054083578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2054083577} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aee672c7b0743724ea7d0d722d5e6aa2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &2054083579 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2054083577} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &2054083580 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2054083577} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 748154259} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &2054083581 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2054083577} + m_LocalRotation: {x: -0, y: -0.38268343, z: -0, w: 0.92387956} + m_LocalPosition: {x: 0, y: 0, z: -1.0799999} + m_LocalScale: {x: 0.030000001, y: 0.03, z: 0.030000001} + m_Children: + - {fileID: 2066213934} + m_Father: {fileID: 1480215258} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: -45, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -12.360001, y: 0.013336182} + m_SizeDelta: {x: 230.29, y: 278.56} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2056146734 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1368786237477692, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 2056146735} + - component: {fileID: 2056146736} + m_Layer: 0 + m_Name: lctrl:o_button_decal_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2056146735 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4482623563880858, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 2056146734} + 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_Children: [] + m_Father: {fileID: 898218046} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2056146736 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137550241186350902, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 2056146734} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 461819531} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 461819531} + m_AABB: + m_Center: {x: 0.000017451588, y: -0.00010048866, z: 0.0012767098} + m_Extent: {x: 0.00211959, y: 0.001628002, z: 0.000015275553} + m_DirtyAABB: 0 +--- !u!1 &2059853414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1736025349707254, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 2059853415} + - component: {fileID: 2059853416} + m_Layer: 0 + m_Name: lctrl:surface_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2059853415 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4050214063663426, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 2059853414} + 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_Children: [] + m_Father: {fileID: 898218046} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2059853416 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137302025403472770, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 2059853414} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1418706866} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1418706866} + m_AABB: + m_Center: {x: 0.00016466714, y: 0.00024955533, z: -0.0010734661} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.005969927} + m_DirtyAABB: 0 +--- !u!1 &2063996806 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2063996807} + - component: {fileID: 2063996809} + - component: {fileID: 2063996808} + m_Layer: 5 + m_Name: screenshot_raw + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2063996807 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2063996806} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.20000003, y: 0.20000003, z: 0.20000003} + m_Children: [] + m_Father: {fileID: 2083009179} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -2.9499974, y: -11.249994} + m_SizeDelta: {x: 932, y: 608} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &2063996808 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2063996806} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: d7b2d40a5fe539f4d9315528e230265c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2063996809 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2063996806} + m_CullTransparentMesh: 0 +--- !u!1 &2064420694 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1687910740213654, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + serializedVersion: 6 + m_Component: + - component: {fileID: 2064420695} + m_Layer: 0 + m_Name: GearVrController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2064420695 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4626355801398802, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 625649859} + m_GameObject: {fileID: 2064420694} + 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_Children: + - {fileID: 1935032667} + - {fileID: 1704615436} + - {fileID: 550265903} + - {fileID: 625320677} + - {fileID: 785846700} + - {fileID: 943699330} + - {fileID: 1215934125} + m_Father: {fileID: 941779214} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2066213933 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2066213934} + - component: {fileID: 2066213937} + - component: {fileID: 2066213936} + - component: {fileID: 2066213935} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2066213934 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2066213933} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 0.99999994} + m_Children: + - {fileID: 2002389029} + - {fileID: 1018864294} + - {fileID: 1842284532} + m_Father: {fileID: 2054083581} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.0000014305} + m_SizeDelta: {x: 221.2, y: 267.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2066213935 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2066213933} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2066213936} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1480215259} + m_MethodName: OnLoadUI + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &2066213936 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2066213933} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2066213937 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2066213933} + m_CullTransparentMesh: 0 +--- !u!1 &2069773758 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1757330316574468, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + serializedVersion: 6 + m_Component: + - component: {fileID: 2069773759} + - component: {fileID: 2069773761} + - component: {fileID: 2069773760} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2069773759 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4161590607958258, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 2069773758} + 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_Children: [] + m_Father: {fileID: 509063813} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2069773760 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23896146410415452, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 2069773758} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &2069773761 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33197431014503056, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 219386903} + m_GameObject: {fileID: 2069773758} + m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3} +--- !u!1 &2083009178 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2083009179} + - component: {fileID: 2083009182} + - component: {fileID: 2083009181} + - component: {fileID: 2083009180} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2083009179 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2083009178} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 0.99999994} + m_Children: + - {fileID: 2063996807} + - {fileID: 1757119572} + - {fileID: 1695885847} + m_Father: {fileID: 894277989} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0.0000014305} + m_SizeDelta: {x: 221.2, y: 267.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2083009180 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2083009178} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2083009181} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1480215259} + m_MethodName: OnLoadRaw + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &2083009181 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2083009178} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2083009182 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2083009178} + m_CullTransparentMesh: 0 +--- !u!1 &2116108981 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1859534572868060, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + serializedVersion: 6 + m_Component: + - component: {fileID: 2116108982} + - component: {fileID: 2116108983} + m_Layer: 0 + m_Name: lctrl:main_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2116108982 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4664232520837576, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 2116108981} + 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_Children: [] + m_Father: {fileID: 898218046} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2116108983 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137322228149853980, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 875355896} + m_GameObject: {fileID: 2116108981} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 52161330} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 52161330} + m_AABB: + m_Center: {x: -0.0006609438, y: 0.0013324535, z: -0.013972079} + m_Extent: {x: 0.0145619055, y: 0.009363498, z: 0.0133649465} + m_DirtyAABB: 0 diff --git a/Assets/OVRInputSelection/Scenes/main.unity.meta b/Assets/OVRInputSelection/Scenes/main.unity.meta new file mode 100644 index 0000000..acc9eb4 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/main.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aaffd3596304a76439cf35f76e149abc +timeCreated: 1512456148 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/main/LightingData.asset b/Assets/OVRInputSelection/Scenes/main/LightingData.asset new file mode 100644 index 0000000..84b8715 Binary files /dev/null and b/Assets/OVRInputSelection/Scenes/main/LightingData.asset differ diff --git a/Assets/OVRInputSelection/Scenes/main/LightingData.asset.meta b/Assets/OVRInputSelection/Scenes/main/LightingData.asset.meta new file mode 100644 index 0000000..5850ca7 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/main/LightingData.asset.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e8fbe618c10e06e46b52d686dc7b90db +timeCreated: 1512502161 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 25800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/main/ReflectionProbe-0.exr b/Assets/OVRInputSelection/Scenes/main/ReflectionProbe-0.exr new file mode 100644 index 0000000..b3715ef Binary files /dev/null and b/Assets/OVRInputSelection/Scenes/main/ReflectionProbe-0.exr differ diff --git a/Assets/OVRInputSelection/Scenes/main/ReflectionProbe-0.exr.meta b/Assets/OVRInputSelection/Scenes/main/ReflectionProbe-0.exr.meta new file mode 100644 index 0000000..a0bd961 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/main/ReflectionProbe-0.exr.meta @@ -0,0 +1,69 @@ +fileFormatVersion: 2 +guid: 6334ebb4829ab1b4697f581412819dae +timeCreated: 1512502161 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: + 8900000: generatedCubemap + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 1 + seamlessCubemap: 1 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: 2 + aniso: 0 + mipBias: 0 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 2 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 100 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_all.meta b/Assets/OVRInputSelection/Scenes/selection_all.meta new file mode 100644 index 0000000..ee18cce --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_all.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bca0996548301dd4796ea3e25d05374c +folderAsset: yes +timeCreated: 1512501230 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_all.unity b/Assets/OVRInputSelection/Scenes/selection_all.unity new file mode 100644 index 0000000..bb58da3 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_all.unity @@ -0,0 +1,7158 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 112000004, guid: b0007fe572883944885ef14ffcb822ee, + type: 2} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 1 + agentClimb: 0.2 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 1 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 23800000, guid: f12631fef6f55fb498610e8da0689a12, type: 2} +--- !u!1 &14083523 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1813870990463274, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 14083524} + m_Layer: 0 + m_Name: rctrl:b_button01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &14083524 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4397574615338790, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 14083523} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &38351095 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1539795145029996, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 38351096} + - component: {fileID: 38351097} + m_Layer: 0 + m_Name: rctrl:o_button_decal_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &38351096 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4188534060631024, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 38351095} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &38351097 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137216636184210194, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 38351095} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 342866819} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 342866819} + m_AABB: + m_Center: {x: 0.00004066783, y: 0.00002745376, z: 0.0012303367} + m_Extent: {x: 0.0015236214, y: 0.0021297487, z: 0.00001941109} + m_DirtyAABB: 0 +--- !u!1 &52161329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1898581742577714, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 52161330} + m_Layer: 0 + m_Name: Texture Group (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &52161330 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4644426881070850, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 52161329} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &55118176 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1262700692511938, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 55118177} + - component: {fileID: 55118179} + - component: {fileID: 55118178} + m_Layer: 0 + m_Name: disc_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &55118177 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4955146281650030, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 55118176} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &55118178 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23517888131506342, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 55118176} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &55118179 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33893358866304870, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 55118176} + m_Mesh: {fileID: 4300010, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1001 &88272257 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154256} + m_Modifications: + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + m_RootGameObject: {fileID: 2064420694} + m_IsPrefabAsset: 0 +--- !u!1 &93496994 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1235543444575054, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 93496995} + m_Layer: 0 + m_Name: OculusGoController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &93496995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4060494533034292, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 93496994} + 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_Children: + - {fileID: 457172734} + - {fileID: 977978993} + - {fileID: 357661520} + - {fileID: 397488201} + - {fileID: 1326308136} + - {fileID: 1751710623} + - {fileID: 1094220635} + m_Father: {fileID: 975298712} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &94380403 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1826361670079214, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 94380404} + - component: {fileID: 94380406} + - component: {fileID: 94380405} + m_Layer: 0 + m_Name: center_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &94380404 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4376215461376520, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 94380403} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &94380405 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23483435829991590, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 94380403} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &94380406 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33678981673394744, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 94380403} + m_Mesh: {fileID: 4300002, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &165223385 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1613615737841746, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 165223386} + - component: {fileID: 165223388} + - component: {fileID: 165223387} + m_Layer: 0 + m_Name: back_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &165223386 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4759756961172450, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 165223385} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &165223387 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23486465499094776, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 165223385} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &165223388 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33418398684084700, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 165223385} + m_Mesh: {fileID: 4300008, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &206426866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1044748042387820, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 206426867} + m_Layer: 0 + m_Name: Texture Group (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &206426867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4836412835437132, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 206426866} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &231878087 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 159718, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154259} + m_Layer: 0 + m_Name: TrackingSpace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &252600019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 252600020} + - component: {fileID: 252600021} + - component: {fileID: 252600022} + m_Layer: 9 + m_Name: RawInteraction + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &252600020 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 252600019} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0.64, z: 1.94} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1566753818} + - {fileID: 895356118} + - {fileID: 1214050056} + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &252600021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 252600019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 43034b73b1ab62b409e7c11bfffd57ef, type: 3} + m_Name: + m_EditorClassIdentifier: + yellowMat: {fileID: 2100000, guid: 5d1e07c8dcc9f0740bde7899dcf7a37d, type: 2} + backIdle: {fileID: 0} + backACtive: {fileID: 0} + outText: {fileID: 961983248} +--- !u!114 &252600022 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 252600019} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 472cd28b041d447a4b0f2b5c603034aa, type: 3} + m_Name: + m_EditorClassIdentifier: + trackingSpace: {fileID: 748154259} + primaryButton: 8192 + secondaryButton: 1024 + excludeLayers: + serializedVersion: 2 + m_Bits: 4294966783 + raycastDistance: 500 + onHoverEnter: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 252600021} + m_MethodName: OnHoverEnter + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: ControllerSelection.OVRRawRaycaster+HoverCallback, Assembly-CSharp, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + onHoverExit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 252600021} + m_MethodName: OnHoverExit + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: ControllerSelection.OVRRawRaycaster+HoverCallback, Assembly-CSharp, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + onHover: + m_PersistentCalls: + m_Calls: [] + m_TypeName: ControllerSelection.OVRRawRaycaster+HoverCallback, Assembly-CSharp, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + onPrimarySelect: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 252600021} + m_MethodName: OnSelected + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: ControllerSelection.OVRRawRaycaster+SelectionCallback, Assembly-CSharp, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + onSecondarySelect: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 252600021} + m_MethodName: OnSelected + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: ControllerSelection.OVRRawRaycaster+SelectionCallback, Assembly-CSharp, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + activeController: 0 +--- !u!1 &268370436 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 168682, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 268370437} + m_Layer: 0 + m_Name: TrackerAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &268370437 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 468682, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 268370436} + 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_Children: [] + m_Father: {fileID: 748154259} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &286433907 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1846251851831204, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 286433908} + m_Layer: 0 + m_Name: Texture Group (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &286433908 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4580387016916048, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 286433907} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &298869260 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1387477248435416, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 298869261} + m_Layer: 0 + m_Name: rctrl:b_hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &298869261 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4335872085946050, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 298869260} + m_LocalRotation: {x: -0.17913595, y: 0.14914332, z: 0.022661837, w: 0.97218984} + m_LocalPosition: {x: -0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &302266327 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1557972973026844, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 302266328} + m_Layer: 0 + m_Name: rctrl:right_touch_controller_world + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &302266328 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4215823899630190, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 302266327} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 14083524} + - {fileID: 619227351} + - {fileID: 342866819} + - {fileID: 298869261} + - {fileID: 616565596} + - {fileID: 661936582} + m_Father: {fileID: 1893724369} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &335419915 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1986267487696040, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 335419916} + - component: {fileID: 335419918} + - component: {fileID: 335419917} + m_Layer: 0 + m_Name: home_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &335419916 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4513770082835008, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 335419915} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &335419917 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23832093868421994, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 335419915} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &335419918 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33008035127017516, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 335419915} + m_Mesh: {fileID: 4300006, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &342810429 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1255007767297440, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 342810430} + - component: {fileID: 342810431} + m_Layer: 0 + m_Name: rctrl:o_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &342810430 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4145692376739090, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 342810429} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &342810431 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137408571574643928, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 342810429} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 342866819} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 342866819} + m_AABB: + m_Center: {x: -0.00000026635826, y: -0.00000013131648, z: 0.0005419669} + m_Extent: {x: 0.004489839, y: 0.0044893455, z: 0.0007474746} + m_DirtyAABB: 0 +--- !u!1 &342866818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1388729398224976, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 342866819} + m_Layer: 0 + m_Name: rctrl:b_button03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &342866819 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4283226593156960, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 342866818} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: -0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &357661519 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1757330316574468, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 357661520} + - component: {fileID: 357661522} + - component: {fileID: 357661521} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &357661520 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4161590607958258, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 357661519} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &357661521 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23896146410415452, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 357661519} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &357661522 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33197431014503056, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 357661519} + m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3} +--- !u!1 &394595111 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 394595112} + - component: {fileID: 394595113} + m_Layer: 10 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &394595112 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 394595111} + 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_Children: + - {fileID: 793270532} + - {fileID: 912606789} + - {fileID: 715283184} + m_Father: {fileID: 1088476500} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 174.75, y: 93} + m_SizeDelta: {x: 160, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &394595113 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 394595111} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -113659843, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1373183400} + m_FillRect: {fileID: 1283284980} + m_HandleRect: {fileID: 1373183399} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1088476501} + m_MethodName: OnSliderChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!1 &397488200 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1401388310133804, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 397488201} + m_Layer: 0 + m_Name: Texture Group + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &397488201 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4927257745488036, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 397488200} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &445744155 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1087401761687600, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 445744156} + - component: {fileID: 445744157} + m_Layer: 0 + m_Name: rctrl:surface_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &445744156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4847083719313040, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 445744155} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &445744157 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137587583371347130, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 445744155} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 302266328} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 302266328} + m_AABB: + m_Center: {x: -0.00016466714, y: 0.00024955347, z: -0.0010734657} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.0059699244} + m_DirtyAABB: 0 +--- !u!1 &449356435 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1242376901968210, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 449356436} + - component: {fileID: 449356437} + m_Layer: 0 + m_Name: rctrl:b_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &449356436 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4259379013194602, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 449356435} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &449356437 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137130966058281504, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 449356435} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 619227351} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 619227351} + m_AABB: + m_Center: {x: 0.000000345055, y: -0.0000009192154, z: 0.0003571303} + m_Extent: {x: 0.0050524976, y: 0.0050528734, z: 0.0025179689} + m_DirtyAABB: 0 +--- !u!1 &457172733 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1928054476239690, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 457172734} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &457172734 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4840170697158152, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 457172733} + m_LocalRotation: {x: -0.030843565, y: -0.7064338, z: 0.030843565, w: 0.7064338} + m_LocalPosition: {x: -0, y: 0.75, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &461819530 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1181828502341800, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 461819531} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &461819531 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4396520640128694, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 461819530} + m_LocalRotation: {x: 0.46193975, y: 0.3314136, z: -0.19134171, w: 0.8001032} + m_LocalPosition: {x: 2, y: 2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &461848156 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1316933471644708, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 461848157} + - component: {fileID: 461848159} + - component: {fileID: 461848158} + m_Layer: 0 + m_Name: trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &461848157 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4324592849986106, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 461848156} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &461848158 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23030419055788318, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 461848156} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &461848159 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33585973913264350, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 461848156} + m_Mesh: {fileID: 4300004, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1001 &495052303 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154255} + m_Modifications: + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + m_RootGameObject: {fileID: 1893724368} + m_IsPrefabAsset: 0 +--- !u!1 &509063812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1227483511572584, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 509063813} + - component: {fileID: 509063814} + m_Layer: 0 + m_Name: rctrl:ring_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &509063813 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4875885059110940, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 509063812} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &509063814 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137401003894426430, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 509063812} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 302266328} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 302266328} + m_AABB: + m_Center: {x: -0.016699282, y: 0.010818443, z: -0.036364153} + m_Extent: {x: 0.054633915, y: 0.021678247, z: 0.050220713} + m_DirtyAABB: 0 +--- !u!1 &550265902 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1859534572868060, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 550265903} + - component: {fileID: 550265904} + m_Layer: 0 + m_Name: lctrl:main_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &550265903 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4664232520837576, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 550265902} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &550265904 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137322228149853980, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 550265902} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 2116108982} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2116108982} + m_AABB: + m_Center: {x: -0.0006609438, y: 0.0013324535, z: -0.013972079} + m_Extent: {x: 0.0145619055, y: 0.009363498, z: 0.0133649465} + m_DirtyAABB: 0 +--- !u!1 &555655819 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1344036408324514, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 555655820} + - component: {fileID: 555655822} + - component: {fileID: 555655821} + m_Layer: 0 + m_Name: chassis_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &555655820 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4605323016180494, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 555655819} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &555655821 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23133394067468082, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 555655819} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &555655822 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33778150695240890, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 555655819} + m_Mesh: {fileID: 4300012, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &578610263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 578610264} + - component: {fileID: 578610267} + - component: {fileID: 578610266} + - component: {fileID: 578610265} + m_Layer: 10 + m_Name: Back + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &578610264 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 578610263} + 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_Children: + - {fileID: 1858371419} + m_Father: {fileID: 1088476500} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -429.50006, y: -15} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &578610265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 578610263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 578610266} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1088476501} + m_MethodName: OnBackToMenu + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &578610266 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 578610263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &578610267 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 578610263} + m_CullTransparentMesh: 0 +--- !u!1 &616565595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1620100735647344, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 616565596} + m_Layer: 0 + m_Name: rctrl:b_stick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &616565596 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4981202461394642, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 616565595} + m_LocalRotation: {x: -0.003149668, y: 0.7098123, z: 0.002783398, w: 0.7043784} + m_LocalPosition: {x: -0.010637393, y: 0.00497835, z: -0.009418557} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 843075312} + m_Father: {fileID: 302266328} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &619227350 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1629587277045648, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 619227351} + m_Layer: 0 + m_Name: rctrl:b_button02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &619227351 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4279151526622972, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 619227350} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: 0.009152712, y: 0.0054823146, z: 0.000030916483} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &625320676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1368786237477692, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 625320677} + - component: {fileID: 625320678} + m_Layer: 0 + m_Name: lctrl:o_button_decal_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &625320677 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4482623563880858, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 625320676} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &625320678 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137550241186350902, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 625320676} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1228324733} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1228324733} + m_AABB: + m_Center: {x: 0.000017451588, y: -0.00010048866, z: 0.0012767098} + m_Extent: {x: 0.00211959, y: 0.001628002, z: 0.000015275553} + m_DirtyAABB: 0 +--- !u!1 &632689382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1883902553708476, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 632689383} + - component: {fileID: 632689385} + - component: {fileID: 632689384} + m_Layer: 0 + m_Name: back_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &632689383 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4163330102252882, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 632689382} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &632689384 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23484041705834348, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 632689382} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &632689385 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33886181901218246, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 632689382} + m_Mesh: {fileID: 4300008, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &661936581 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1405654979698792, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 661936582} + m_Layer: 0 + m_Name: rctrl:b_trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &661936582 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4465709660190338, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 661936581} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &704602124 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 704602125} + - component: {fileID: 704602128} + - component: {fileID: 704602126} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &704602125 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 3} + m_LocalScale: {x: 0.05, y: 0.05, z: 0.05} + m_Children: [] + m_Father: {fileID: 1770626480} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &704602126 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 02f4d91e963f1e74d8bee0002c24efe7, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &704602128 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &715283183 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 715283184} + m_Layer: 10 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &715283184 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 715283183} + 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_Children: + - {fileID: 1373183399} + m_Father: {fileID: 394595112} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &744816570 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1736025349707254, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 744816571} + - component: {fileID: 744816572} + m_Layer: 0 + m_Name: lctrl:surface_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &744816571 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4050214063663426, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 744816570} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &744816572 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137302025403472770, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 744816570} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1013256217} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1013256217} + m_AABB: + m_Center: {x: 0.00016466714, y: 0.00024955533, z: -0.0010734661} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.005969927} + m_DirtyAABB: 0 +--- !u!1001 &748154254 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.y + value: 5.83 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.z + value: -12.05 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + m_RootGameObject: {fileID: 748154257} + m_IsPrefabAsset: 0 +--- !u!4 &748154255 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 487254, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 794560610} + 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_Children: + - {fileID: 1893724369} + - {fileID: 975298712} + m_Father: {fileID: 748154259} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &748154256 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 482130, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 941779213} + 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_Children: + - {fileID: 2064420695} + - {fileID: 2056146735} + m_Father: {fileID: 748154259} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &748154257 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100004, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154262} + - component: {fileID: 748154264} + - component: {fileID: 748154263} + - component: {fileID: 748154258} + - component: {fileID: 748154261} + m_Layer: 0 + m_Name: OVRCameraRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &748154258 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 748154257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8a8570f210d5cef498074d4fe90d403f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EventMask: + serializedVersion: 2 + m_Bits: 256 +--- !u!4 &748154259 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 459718, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 231878087} + 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_Children: + - {fileID: 2051731369} + - {fileID: 1359711878} + - {fileID: 1323490865} + - {fileID: 268370437} + - {fileID: 748154256} + - {fileID: 748154255} + m_Father: {fileID: 748154262} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &748154260 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 2037080, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1359711877} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 1000 + field of view: 90 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!114 &748154261 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 748154257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c52963611592b1f4e850fc927ddad8c7, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &748154262 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154257} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 5.83, z: -12.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 748154259} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &748154263 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 11400000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e933e81d3c20c74ea6fdc708a67e3a5, type: 3} + m_Name: + m_EditorClassIdentifier: + queueAhead: 1 + useRecommendedMSAALevel: 0 + _monoscopic: 0 + enableAdaptiveResolution: 0 + minRenderScale: 0.7 + maxRenderScale: 1 + expandMixedRealityCapturePropertySheet: 0 + enableMixedReality: 0 + compositionMethod: 0 + extraHiddenLayers: + serializedVersion: 2 + m_Bits: 0 + capturingCameraDevice: 0 + flipCameraFrameHorizontally: 0 + flipCameraFrameVertically: 0 + handPoseStateLatency: 0 + sandwichCompositionRenderLatency: 0 + sandwichCompositionBufferedFrames: 8 + chromaKeyColor: {r: 0, g: 1, b: 0, a: 1} + chromaKeySimilarity: 0.6 + chromaKeySmoothRange: 0.03 + chromaKeySpillRange: 0.06 + useDynamicLighting: 0 + depthQuality: 1 + dynamicLightingSmoothFactor: 8 + dynamicLightingDepthVariationClampingValue: 0.001 + virtualGreenScreenType: 0 + virtualGreenScreenTopY: 10 + virtualGreenScreenBottomY: -10 + virtualGreenScreenApplyDepthCulling: 0 + virtualGreenScreenDepthTolerance: 0.2 + _trackingOriginType: 0 + usePositionTracking: 1 + useRotationTracking: 1 + useIPDInPositionTracking: 1 + resetTrackerOnLoad: 0 + AllowRecenter: 1 + _reorientHMDOnControllerRecenter: 1 +--- !u!114 &748154264 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 11400010, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df9f338034892c44ebb62d97894772f1, type: 3} + m_Name: + m_EditorClassIdentifier: + usePerEyeCameras: 0 + useFixedUpdateForTracking: 0 +--- !u!1 &761168503 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1971769170389126, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 761168504} + - component: {fileID: 761168505} + m_Layer: 0 + m_Name: rctrl:side_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &761168504 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4912627388869670, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 761168503} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &761168505 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137996489588372456, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 761168503} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 298869261} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 298869261} + m_AABB: + m_Center: {x: 0.015085926, y: 0.00079575554, z: 0.0022845895} + m_Extent: {x: 0.0075142607, y: 0.014562387, z: 0.0074783238} + m_DirtyAABB: 0 +--- !u!1 &770337781 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 770337782} + - component: {fileID: 770337785} + - component: {fileID: 770337784} + - component: {fileID: 770337783} + m_Layer: 10 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &770337782 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 770337781} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 0.99999994} + m_Children: + - {fileID: 832658660} + m_Father: {fileID: 1088476500} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -79.999985, y: -15} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &770337783 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 770337781} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 770337784} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1088476501} + m_MethodName: OnButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &770337784 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 770337781} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &770337785 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 770337781} + m_CullTransparentMesh: 0 +--- !u!1 &785846699 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1757445139830558, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 785846700} + - component: {fileID: 785846701} + m_Layer: 0 + m_Name: lctrl:o_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &785846700 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4866202693471932, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 785846699} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &785846701 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137688407735402816, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 785846699} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300012, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1228324733} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1228324733} + m_AABB: + m_Center: {x: 0.00000037020072, y: 0.00000087032095, z: 0.00057196105} + m_Extent: {x: 0.004508083, y: 0.004509521, z: 0.0007474739} + m_DirtyAABB: 0 +--- !u!1 &793270531 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 793270532} + - component: {fileID: 793270534} + - component: {fileID: 793270533} + m_Layer: 10 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &793270532 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 793270531} + 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_Children: [] + m_Father: {fileID: 394595112} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &793270533 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 793270531} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &793270534 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 793270531} + m_CullTransparentMesh: 0 +--- !u!1 &794560610 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 113768, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154255} + m_Layer: 0 + m_Name: RightHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &832658659 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 832658660} + - component: {fileID: 832658662} + - component: {fileID: 832658661} + m_Layer: 10 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &832658660 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 832658659} + 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_Children: [] + m_Father: {fileID: 770337782} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &832658661 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 832658659} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Button +--- !u!222 &832658662 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 832658659} + m_CullTransparentMesh: 0 +--- !u!1 &841557295 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 841557296} + - component: {fileID: 841557298} + - component: {fileID: 841557297} + m_Layer: 10 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &841557296 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 841557295} + 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_Children: [] + m_Father: {fileID: 1999774050} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &841557297 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 841557295} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &841557298 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 841557295} + m_CullTransparentMesh: 0 +--- !u!1 &841570894 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1396923449131326, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 841570895} + m_Layer: 0 + m_Name: lctrl:b_button01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &841570895 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4205472914554084, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 841570894} + m_LocalRotation: {x: 0.05660452, y: -0.05795374, z: -0.0046757394, w: 0.9967023} + m_LocalPosition: {x: -0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &843075311 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1471450926194158, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 843075312} + m_Layer: 0 + m_Name: rctrl:b_stick_IGNORE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &843075312 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4168601658108038, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 843075311} + m_LocalRotation: {x: -4.5059287e-17, y: -0.70108956, z: -6.5911624e-17, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 616565596} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &895356117 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 895356118} + - component: {fileID: 895356121} + - component: {fileID: 895356120} + - component: {fileID: 895356119} + m_Layer: 9 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &895356118 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 895356117} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.43, y: 2.52, z: 5.04} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 252600020} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &895356119 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 895356117} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 8603efedaef202549866eef3bf1a7b0a, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!135 &895356120 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 895356117} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &895356121 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 895356117} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &898218045 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1555327577499684, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 898218046} + m_Layer: 0 + m_Name: lctrl:b_stick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &898218046 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4729919975037316, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 898218045} + m_LocalRotation: {x: 0.0027868259, y: 0.70437866, z: -0.0031505642, w: 0.7098119} + m_LocalPosition: {x: 0.010637393, y: 0.00497835, z: -0.009418557} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1072138620} + m_Father: {fileID: 1013256217} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &912606788 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 912606789} + m_Layer: 10 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &912606789 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 912606788} + 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_Children: + - {fileID: 1283284980} + m_Father: {fileID: 394595112} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &913805928 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1687910740213654, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 913805929} + m_Layer: 0 + m_Name: GearVrController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &913805929 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4626355801398802, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 913805928} + 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_Children: + - {fileID: 165223386} + - {fileID: 94380404} + - {fileID: 2059853415} + - {fileID: 1402831252} + - {fileID: 1917830994} + - {fileID: 2035341621} + - {fileID: 1418706866} + m_Father: {fileID: 2056146735} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &940957040 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1175014527457936, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 940957041} + - component: {fileID: 940957042} + m_Layer: 0 + m_Name: lctrl:thumbstick_ball_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &940957041 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4310471275020772, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 940957040} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &940957042 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137648090444452748, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 940957040} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1013256217} + - {fileID: 898218046} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1013256217} + m_AABB: + m_Center: {x: 0.010604477, y: 0.0049807085, z: 0.0022465447} + m_Extent: {x: 0.010754766, y: 0.010751986, z: 0.007853852} + m_DirtyAABB: 0 +--- !u!1 &941779213 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 109308, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154256} + m_Layer: 0 + m_Name: LeftHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &943699329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1381962807238814, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 943699330} + - component: {fileID: 943699331} + m_Layer: 0 + m_Name: lctrl:ring_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &943699330 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4894055992218830, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 943699329} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &943699331 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137900428634002032, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 943699329} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1013256217} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1013256217} + m_AABB: + m_Center: {x: 0.016699282, y: 0.010818447, z: -0.036364146} + m_Extent: {x: 0.054633915, y: 0.02167825, z: 0.050220706} + m_DirtyAABB: 0 +--- !u!1 &961983246 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 961983247} + - component: {fileID: 961983249} + - component: {fileID: 961983248} + m_Layer: 10 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &961983247 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 961983246} + 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_Children: [] + m_Father: {fileID: 1088476500} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -66, y: -15} + m_SizeDelta: {x: 212, y: 250} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &961983248 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 961983246} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Interaction Log: +--- !u!222 &961983249 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 961983246} + m_CullTransparentMesh: 0 +--- !u!1 &975298711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1619383211339418, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 975298712} + - component: {fileID: 975298713} + m_Layer: 0 + m_Name: RTrackedRemote + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &975298712 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 975298711} + 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_Children: + - {fileID: 1862208826} + - {fileID: 93496995} + m_Father: {fileID: 748154255} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &975298713 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114228874124863804, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 975298711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1862208825} + m_modelOculusGoController: {fileID: 93496994} + m_controller: 33554432 +--- !u!1 &977978992 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1248286026319258, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 977978993} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &977978993 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4742830124717782, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 977978992} + m_LocalRotation: {x: 0.46193975, y: 0.3314136, z: -0.19134171, w: 0.8001032} + m_LocalPosition: {x: 2, y: 2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1013256216 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1109776360024182, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 1013256217} + m_Layer: 0 + m_Name: lctrl:left_touch_controller_world + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1013256217 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4238190259217100, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1013256216} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 841570895} + - {fileID: 1251564401} + - {fileID: 1228324733} + - {fileID: 1039558302} + - {fileID: 898218046} + - {fileID: 2116108982} + m_Father: {fileID: 2064420695} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1039558301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1273683566421700, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 1039558302} + m_Layer: 0 + m_Name: lctrl:b_hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1039558302 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4645218192740248, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1039558301} + m_LocalRotation: {x: -0.18065539, y: -0.13555649, z: -0.067166515, w: 0.97184193} + m_LocalPosition: {x: 0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1061522951 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154256} + m_Modifications: + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + m_RootGameObject: {fileID: 2056146734} + m_IsPrefabAsset: 0 +--- !u!1 &1072138619 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1121076711406898, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 1072138620} + m_Layer: 0 + m_Name: lctrl:b_stick_IGNORE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1072138620 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4287199084857482, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1072138619} + m_LocalRotation: {x: 0, y: -0.70108956, z: -0, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 898218046} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1083577350 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1978692640859942, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 1083577351} + - component: {fileID: 1083577352} + m_Layer: 0 + m_Name: lctrl:x_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1083577351 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4187468707828572, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1083577350} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1083577352 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137862092734697462, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1083577350} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 841570895} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 841570895} + m_AABB: + m_Center: {x: -0.00000072829425, y: 0.000013418496, z: 0.0004995642} + m_Extent: {x: 0.0050891023, y: 0.005111114, z: 0.0025754946} + m_DirtyAABB: 0 +--- !u!1 &1087673783 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1747413968376996, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 1087673784} + - component: {fileID: 1087673785} + m_Layer: 0 + m_Name: lctrl:y_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1087673784 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4673567786913772, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1087673783} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1087673785 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137029252293597264, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1087673783} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1251564401} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1251564401} + m_AABB: + m_Center: {x: 0.0000023958273, y: -0.000002474524, z: 0.0004961197} + m_Extent: {x: 0.005060065, y: 0.0050237104, z: 0.0025072566} + m_DirtyAABB: 0 +--- !u!1 &1088476496 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1088476500} + - component: {fileID: 1088476499} + - component: {fileID: 1088476498} + - component: {fileID: 1088476497} + - component: {fileID: 1088476501} + m_Layer: 10 + m_Name: UIInteraction + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1088476497 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1088476496} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aee672c7b0743724ea7d0d722d5e6aa2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 1024 +--- !u!114 &1088476498 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1088476496} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1088476499 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1088476496} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 748154260} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1088476500 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1088476496} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 30.1} + m_LocalScale: {x: 0.08, y: 0.08, z: 0.08} + m_Children: + - {fileID: 770337782} + - {fileID: 394595112} + - {fileID: 2070946379} + - {fileID: 961983247} + - {fileID: 578610264} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -0.6, y: 1.02} + m_SizeDelta: {x: 509.5, y: 309} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1088476501 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1088476496} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a42657cd72591c449cf96836acc166c, type: 3} + m_Name: + m_EditorClassIdentifier: + outText: {fileID: 961983248} +--- !u!1 &1094220634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1320820836912368, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 1094220635} + m_Layer: 0 + m_Name: Texture Group (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1094220635 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4416755117851086, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 1094220634} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1126024193 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1686775197120014, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 1126024194} + m_Layer: 0 + m_Name: Texture Group + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1126024194 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4431570018244114, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1126024193} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1182496352 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1882586662293422, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 1182496353} + - component: {fileID: 1182496355} + - component: {fileID: 1182496354} + m_Layer: 0 + m_Name: center_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1182496353 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4799854660562368, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 1182496352} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1182496354 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23281082922435582, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 1182496352} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1182496355 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33100618622131046, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 1182496352} + m_Mesh: {fileID: 4300002, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1201202987 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1083255323522338, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 1201202988} + - component: {fileID: 1201202990} + - component: {fileID: 1201202989} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1201202988 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4690604795820296, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1201202987} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1201202989 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23506773129304874, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1201202987} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1201202990 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33917518887091280, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1201202987} + m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3} +--- !u!1 &1206656643 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1206656645} + - component: {fileID: 1206656644} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1206656644 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206656643} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1206656645 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206656643} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1214050055 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1214050056} + - component: {fileID: 1214050059} + - component: {fileID: 1214050058} + - component: {fileID: 1214050057} + m_Layer: 9 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1214050056 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1214050055} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.16, y: 2.52, z: 5.04} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 252600020} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1214050057 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1214050055} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 19945ee212ad7124cb47e0cee0742e78, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!136 &1214050058 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1214050055} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1214050059 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1214050055} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1215934124 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1400594226618500, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 1215934125} + - component: {fileID: 1215934126} + m_Layer: 0 + m_Name: lctrl:side_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1215934125 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4581203518760102, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1215934124} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1215934126 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137021319933803464, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1215934124} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1039558302} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1039558302} + m_AABB: + m_Center: {x: -0.015075568, y: -0.000016345643, z: 0.0018507424} + m_Extent: {x: 0.0069265533, y: 0.014548335, z: 0.007307569} + m_DirtyAABB: 0 +--- !u!1 &1228324732 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1625696427827932, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 1228324733} + m_Layer: 0 + m_Name: lctrl:b_button03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1228324733 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4686602471241882, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1228324732} + m_LocalRotation: {x: 0.05660452, y: -0.05795374, z: -0.0046757394, w: 0.9967023} + m_LocalPosition: {x: 0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1251564400 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1987113674554976, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 1251564401} + m_Layer: 0 + m_Name: lctrl:b_button02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1251564401 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4958792791304930, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1251564400} + m_LocalRotation: {x: 0.017080953, y: -0.07918932, z: 0.52647054, w: 0.84632504} + m_LocalPosition: {x: -0.0091353385, y: 0.005499125, z: -0.00011681918} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1283284979 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1283284980} + - component: {fileID: 1283284982} + - component: {fileID: 1283284981} + m_Layer: 10 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1283284980 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1283284979} + 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_Children: [] + m_Father: {fileID: 912606789} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1283284981 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1283284979} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1283284982 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1283284979} + m_CullTransparentMesh: 0 +--- !u!1 &1323490864 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 1323490865} + - component: {fileID: 1323490866} + m_Layer: 0 + m_Name: RightEyeAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1323490865 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1323490864} + 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_Children: [] + m_Father: {fileID: 748154259} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &1323490866 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 20000010189485334, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1323490864} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 2 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &1326308135 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1841092496795574, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 1326308136} + m_Layer: 0 + m_Name: Texture Group (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1326308136 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4296782787959290, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 1326308135} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1359711877 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100002, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 1359711878} + - component: {fileID: 1359711879} + - component: {fileID: 748154260} + m_Layer: 0 + m_Name: CenterEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1359711878 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400002, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1359711877} + 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_Children: [] + m_Father: {fileID: 748154259} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!81 &1359711879 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 8100000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1359711877} + m_Enabled: 1 +--- !u!1 &1372448693 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1044639065548258, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 1372448694} + - component: {fileID: 1372448695} + m_Layer: 0 + m_Name: rctrl:a_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1372448694 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4718947254803156, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 1372448693} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1372448695 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137970806874392016, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 1372448693} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 14083524} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 14083524} + m_AABB: + m_Center: {x: 0.0000007292256, y: 0.000013417564, z: 0.00051031867} + m_Extent: {x: 0.0050891023, y: 0.005111115, z: 0.0025862483} + m_DirtyAABB: 0 +--- !u!1 &1373183398 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1373183399} + - component: {fileID: 1373183401} + - component: {fileID: 1373183400} + m_Layer: 10 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1373183399 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1373183398} + 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_Children: [] + m_Father: {fileID: 715283184} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1373183400 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1373183398} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1373183401 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1373183398} + m_CullTransparentMesh: 0 +--- !u!1 &1402831251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1519125787895902, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 1402831252} + - component: {fileID: 1402831254} + - component: {fileID: 1402831253} + m_Layer: 0 + m_Name: disc_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1402831252 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4822202288540890, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1402831251} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1402831253 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23031768250379678, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1402831251} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1402831254 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33733391811933146, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1402831251} + m_Mesh: {fileID: 4300010, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1418706865 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1054859093032942, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 1418706866} + - component: {fileID: 1418706868} + - component: {fileID: 1418706867} + m_Layer: 0 + m_Name: trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1418706866 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4842731919319380, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1418706865} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1418706867 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23701497806254902, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1418706865} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1418706868 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33389899558344730, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1418706865} + m_Mesh: {fileID: 4300004, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1420737456 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1552281567235398, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 1420737457} + m_Layer: 0 + m_Name: OculusGoController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1420737457 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4983237797735506, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1420737456} + 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_Children: + - {fileID: 2042516811} + - {fileID: 461819531} + - {fileID: 1201202988} + - {fileID: 1126024194} + - {fileID: 206426867} + - {fileID: 52161330} + - {fileID: 286433908} + m_Father: {fileID: 2056146735} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1541232627 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1483146546636720, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 1541232628} + - component: {fileID: 1541232629} + m_Layer: 0 + m_Name: rctrl:main_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1541232628 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4973428937398324, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 1541232627} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1541232629 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137893484049802790, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 1541232627} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 661936582} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 661936582} + m_AABB: + m_Center: {x: -0.0006609438, y: -0.0013324562, z: -0.013972085} + m_Extent: {x: 0.014561905, y: 0.009363498, z: 0.013364948} + m_DirtyAABB: 0 +--- !u!1 &1557833065 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1557833066} + - component: {fileID: 1557833069} + - component: {fileID: 1557833067} + - component: {fileID: 1557833070} + m_Layer: 8 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1557833066 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1557833065} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.35, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1682477119} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1557833067 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1557833065} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 5d1e07c8dcc9f0740bde7899dcf7a37d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1557833069 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1557833065} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!195 &1557833070 +NavMeshAgent: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1557833065} + m_Enabled: 1 + m_AgentTypeID: 0 + m_Radius: 0.5 + m_Speed: 3.5 + m_Acceleration: 8 + avoidancePriority: 50 + m_AngularSpeed: 120 + m_StoppingDistance: 0 + m_AutoTraverseOffMeshLink: 1 + m_AutoBraking: 1 + m_AutoRepath: 1 + m_Height: 2 + m_BaseOffset: 1 + m_WalkableMask: 4294967295 + m_ObstacleAvoidanceType: 4 +--- !u!1 &1566753817 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1566753818} + - component: {fileID: 1566753821} + - component: {fileID: 1566753820} + - component: {fileID: 1566753819} + m_Layer: 9 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1566753818 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1566753817} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4.06, y: 2.52, z: 5.04} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 252600020} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1566753819 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1566753817} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 0353d14ef9a3d1341968b597761f05f0, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!65 &1566753820 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1566753817} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1566753821 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1566753817} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1612599472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1213770487344620, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 1612599473} + m_Layer: 0 + m_Name: rctrl:geometry_null + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1612599473 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4269300792470906, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 1612599472} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1372448694} + - {fileID: 449356436} + - {fileID: 2017267103} + - {fileID: 1541232628} + - {fileID: 38351096} + - {fileID: 342810430} + - {fileID: 509063813} + - {fileID: 761168504} + - {fileID: 445744156} + - {fileID: 2069773759} + m_Father: {fileID: 1893724369} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1682477117 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1682477119} + - component: {fileID: 1682477118} + m_Layer: 8 + m_Name: PhysicsInteraction + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1682477118 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1682477117} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1189ca8b34bccff47bad0a297bd32791, type: 3} + m_Name: + m_EditorClassIdentifier: + agent: {fileID: 1557833070} + outText: {fileID: 961983248} +--- !u!4 &1682477119 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1682477117} + 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_Children: + - {fileID: 1705099743} + - {fileID: 1557833066} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1689703234 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1689703237} + - component: {fileID: 1689703236} + - component: {fileID: 1689703235} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1689703235 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1689703234} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4a9c50de96f6d04386957f4741ac65c, type: 3} + m_Name: + m_EditorClassIdentifier: + trackingSpace: {fileID: 748154259} + joyPadClickButton: 8192 + performSphereCastForGazepointer: 0 + matchNormalOnPhysicsColliders: 0 + useLeftStickScroll: 1 + leftStickDeadZone: 0.15 + useSwipeScroll: 1 + minSwipeMovement: 0 + swipeScrollScale: 4 + activeController: 0 + angleDragThreshold: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_AllowActivationOnMobileDevice: 1 +--- !u!114 &1689703236 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1689703234} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1689703237 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1689703234} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1704615435 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1808661097943962, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 1704615436} + - component: {fileID: 1704615437} + m_Layer: 0 + m_Name: lctrl:controller_body_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1704615436 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4835918886493410, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1704615435} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1704615437 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137034633232802846, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1704615435} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1013256217} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1013256217} + m_AABB: + m_Center: {x: 0.0012377053, y: -0.01906057, z: -0.031179678} + m_Extent: {x: 0.030484851, y: 0.051344883, z: 0.03589144} + m_DirtyAABB: 0 +--- !u!1 &1705099740 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1705099743} + - component: {fileID: 1705099742} + - component: {fileID: 1705099741} + - component: {fileID: 1705099745} + - component: {fileID: 1705099744} + m_Layer: 8 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!23 &1705099741 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1705099742 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1705099743 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 1, z: 10} + m_Children: [] + m_Father: {fileID: 1682477119} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1705099744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1682477118} + m_MethodName: OnGroundClick + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + delegates: [] +--- !u!65 &1705099745 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &1751710622 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1603644047585796, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 1751710623} + m_Layer: 0 + m_Name: Texture Group (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1751710623 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4370971803418792, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 1751710622} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1770626477 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1770626480} + - component: {fileID: 1770626479} + - component: {fileID: 1770626478} + m_Layer: 0 + m_Name: SelectionVisualizer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!120 &1770626478 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 0} + - {fileID: 2100000, guid: 02f4d91e963f1e74d8bee0002c24efe7, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 2 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &1770626479 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 12283131fa5724f44b343883ae474072, type: 3} + m_Name: + m_EditorClassIdentifier: + trackingSpace: {fileID: 748154259} + linePointer: {fileID: 1770626478} + gazePointer: {fileID: 704602125} + rayDrawDistance: 500 + gazeDrawDistance: 3 + activeController: 0 +--- !u!4 &1770626480 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + 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_Children: + - {fileID: 704602125} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1858371418 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1858371419} + - component: {fileID: 1858371421} + - component: {fileID: 1858371420} + m_Layer: 10 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1858371419 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1858371418} + 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_Children: [] + m_Father: {fileID: 578610264} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1858371420 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1858371418} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Back to scene select +--- !u!222 &1858371421 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1858371418} + m_CullTransparentMesh: 0 +--- !u!1 &1862208825 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1302709279893250, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 1862208826} + m_Layer: 0 + m_Name: GearVrController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1862208826 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4254853810062738, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 1862208825} + 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_Children: + - {fileID: 632689383} + - {fileID: 1182496353} + - {fileID: 555655820} + - {fileID: 55118177} + - {fileID: 335419916} + - {fileID: 1997668891} + - {fileID: 461848157} + m_Father: {fileID: 975298712} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1893724368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1204236285207998, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 1893724369} + - component: {fileID: 1893724370} + m_Layer: 0 + m_Name: RTouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1893724369 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 1893724368} + 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_Children: + - {fileID: 1612599473} + - {fileID: 302266328} + m_Father: {fileID: 748154255} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1893724370 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114584869579924024, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 1893724368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1893724368} + m_modelOculusGoController: {fileID: 1893724368} + m_controller: 2 +--- !u!1 &1917830993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1747123517546552, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 1917830994} + - component: {fileID: 1917830996} + - component: {fileID: 1917830995} + m_Layer: 0 + m_Name: home_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1917830994 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4652644063180642, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1917830993} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1917830995 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23172198679712168, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1917830993} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1917830996 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33747868560225156, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 1917830993} + m_Mesh: {fileID: 4300006, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1935032666 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1710745798956080, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 1935032667} + m_Layer: 0 + m_Name: lctrl:geometry_null + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1935032667 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4456158541893084, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 1935032666} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1704615436} + - {fileID: 550265903} + - {fileID: 625320677} + - {fileID: 785846700} + - {fileID: 943699330} + - {fileID: 1215934125} + - {fileID: 744816571} + - {fileID: 940957041} + - {fileID: 1083577351} + - {fileID: 1087673784} + m_Father: {fileID: 2064420695} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1997668890 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1547170486280282, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + serializedVersion: 6 + m_Component: + - component: {fileID: 1997668891} + - component: {fileID: 1997668893} + - component: {fileID: 1997668892} + m_Layer: 0 + m_Name: text_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1997668891 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4298839253072560, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 1997668890} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1997668892 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23629277104320488, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 1997668890} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1997668893 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33227895672347990, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2036521705} + m_GameObject: {fileID: 1997668890} + m_Mesh: {fileID: 4300000, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1999774049 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1999774050} + - component: {fileID: 1999774052} + - component: {fileID: 1999774051} + m_Layer: 10 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1999774050 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1999774049} + 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_Children: + - {fileID: 841557296} + m_Father: {fileID: 2070946379} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 10, y: -10} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1999774051 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1999774049} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1999774052 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1999774049} + m_CullTransparentMesh: 0 +--- !u!1 &2017267102 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1569199330813010, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 2017267103} + - component: {fileID: 2017267104} + m_Layer: 0 + m_Name: rctrl:controller_body_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2017267103 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4557562491589872, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 2017267102} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2017267104 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137937078754769558, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 2017267102} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300012, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 302266328} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 302266328} + m_AABB: + m_Center: {x: -0.0012377053, y: -0.019060574, z: -0.031160347} + m_Extent: {x: 0.030484851, y: 0.051344886, z: 0.035910763} + m_DirtyAABB: 0 +--- !u!1 &2035341620 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1130681504925616, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 2035341621} + - component: {fileID: 2035341623} + - component: {fileID: 2035341622} + m_Layer: 0 + m_Name: text_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2035341621 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4864699852922402, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 2035341620} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2035341622 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23878245367906148, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 2035341620} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &2035341623 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33355214589814526, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 2035341620} + m_Mesh: {fileID: 4300000, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1001 &2036521705 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154255} + m_Modifications: + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + m_RootGameObject: {fileID: 975298711} + m_IsPrefabAsset: 0 +--- !u!1 &2042516810 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1788637526737978, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 2042516811} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2042516811 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4525814746143240, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 2042516810} + m_LocalRotation: {x: -0.030843565, y: -0.7064338, z: 0.030843565, w: 0.7064338} + m_LocalPosition: {x: -0, y: 0.75, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2051731368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100006, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 2051731369} + - component: {fileID: 2051731370} + m_Layer: 0 + m_Name: LeftEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2051731369 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400006, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 2051731368} + 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_Children: [] + m_Father: {fileID: 748154259} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &2051731370 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 20000012175207052, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 2051731368} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 1 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &2056146734 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1495718994041264, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 2056146735} + - component: {fileID: 2056146736} + m_Layer: 0 + m_Name: LTrackedRemote + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2056146735 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 2056146734} + 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_Children: + - {fileID: 913805929} + - {fileID: 1420737457} + m_Father: {fileID: 748154256} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2056146736 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114318095738077550, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 2056146734} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 913805928} + m_modelOculusGoController: {fileID: 1420737456} + m_controller: 16777216 +--- !u!1 &2059853414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1672242236952754, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + serializedVersion: 6 + m_Component: + - component: {fileID: 2059853415} + - component: {fileID: 2059853417} + - component: {fileID: 2059853416} + m_Layer: 0 + m_Name: chassis_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2059853415 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4865563946502246, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 2059853414} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2059853416 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23463007473532904, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 2059853414} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &2059853417 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33301716791474086, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1061522951} + m_GameObject: {fileID: 2059853414} + m_Mesh: {fileID: 4300012, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &2064420694 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1249364222358160, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 2064420695} + - component: {fileID: 2064420696} + m_Layer: 0 + m_Name: LTouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2064420695 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 2064420694} + 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_Children: + - {fileID: 1935032667} + - {fileID: 1013256217} + m_Father: {fileID: 748154256} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2064420696 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114694055904687676, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 2064420694} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 2064420694} + m_modelOculusGoController: {fileID: 2064420694} + m_controller: 1 +--- !u!1 &2069773758 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1095698897398270, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + serializedVersion: 6 + m_Component: + - component: {fileID: 2069773759} + - component: {fileID: 2069773760} + m_Layer: 0 + m_Name: rctrl:thumbstick_ball_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2069773759 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4713390451513730, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 2069773758} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2069773760 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137867182389646434, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 495052303} + m_GameObject: {fileID: 2069773758} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 302266328} + - {fileID: 616565596} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 302266328} + m_AABB: + m_Center: {x: -0.01054777, y: 0.004984765, z: 0.00224772} + m_Extent: {x: 0.010899382, y: 0.010843774, z: 0.007860384} + m_DirtyAABB: 0 +--- !u!1 &2070946378 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2070946379} + - component: {fileID: 2070946380} + m_Layer: 10 + m_Name: Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2070946379 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2070946378} + 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_Children: + - {fileID: 1999774050} + - {fileID: 2145037090} + m_Father: {fileID: 1088476500} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 174.75, y: 53} + m_SizeDelta: {x: 160, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2070946380 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2070946378} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1999774051} + toggleTransition: 1 + graphic: {fileID: 841557297} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1088476501} + m_MethodName: OnToggleChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 1 +--- !u!1 &2116108981 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1855455462485234, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + serializedVersion: 6 + m_Component: + - component: {fileID: 2116108982} + m_Layer: 0 + m_Name: lctrl:b_trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2116108982 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4894334680272574, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 88272257} + m_GameObject: {fileID: 2116108981} + m_LocalRotation: {x: -0.05795374, y: -0.05660452, z: 0.9967023, w: 0.0046757394} + m_LocalPosition: {x: -0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2145037089 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2145037090} + - component: {fileID: 2145037092} + - component: {fileID: 2145037091} + m_Layer: 10 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2145037090 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2145037089} + 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_Children: [] + m_Father: {fileID: 2070946379} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 9, y: -0.5} + m_SizeDelta: {x: -28, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2145037091 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2145037089} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Toggle +--- !u!222 &2145037092 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2145037089} + m_CullTransparentMesh: 0 diff --git a/Assets/OVRInputSelection/Scenes/selection_all.unity.meta b/Assets/OVRInputSelection/Scenes/selection_all.unity.meta new file mode 100644 index 0000000..1172aeb --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_all.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 96e237f36213c0f45aa364963e1977cf +timeCreated: 1512456148 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_all/LightingData.asset b/Assets/OVRInputSelection/Scenes/selection_all/LightingData.asset new file mode 100644 index 0000000..5b7bd22 Binary files /dev/null and b/Assets/OVRInputSelection/Scenes/selection_all/LightingData.asset differ diff --git a/Assets/OVRInputSelection/Scenes/selection_all/LightingData.asset.meta b/Assets/OVRInputSelection/Scenes/selection_all/LightingData.asset.meta new file mode 100644 index 0000000..9ac4b07 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_all/LightingData.asset.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b0007fe572883944885ef14ffcb822ee +timeCreated: 1512501241 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 25800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_all/NavMesh.asset b/Assets/OVRInputSelection/Scenes/selection_all/NavMesh.asset new file mode 100644 index 0000000..dc978be Binary files /dev/null and b/Assets/OVRInputSelection/Scenes/selection_all/NavMesh.asset differ diff --git a/Assets/OVRInputSelection/Scenes/selection_all/NavMesh.asset.meta b/Assets/OVRInputSelection/Scenes/selection_all/NavMesh.asset.meta new file mode 100644 index 0000000..1c1a43c --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_all/NavMesh.asset.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f12631fef6f55fb498610e8da0689a12 +timeCreated: 1512501230 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 23800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_all/ReflectionProbe-0.exr b/Assets/OVRInputSelection/Scenes/selection_all/ReflectionProbe-0.exr new file mode 100644 index 0000000..b3715ef Binary files /dev/null and b/Assets/OVRInputSelection/Scenes/selection_all/ReflectionProbe-0.exr differ diff --git a/Assets/OVRInputSelection/Scenes/selection_all/ReflectionProbe-0.exr.meta b/Assets/OVRInputSelection/Scenes/selection_all/ReflectionProbe-0.exr.meta new file mode 100644 index 0000000..a576d53 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_all/ReflectionProbe-0.exr.meta @@ -0,0 +1,69 @@ +fileFormatVersion: 2 +guid: 2c84b8e895aea334bb90f016e3b2ff41 +timeCreated: 1512501241 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: + 8900000: generatedCubemap + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 1 + seamlessCubemap: 1 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: 2 + aniso: 0 + mipBias: 0 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 2 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 100 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_physics.meta b/Assets/OVRInputSelection/Scenes/selection_physics.meta new file mode 100644 index 0000000..5ff4301 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_physics.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 25003458e563b194a97d49c9993e82a1 +folderAsset: yes +timeCreated: 1512500911 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_physics.unity b/Assets/OVRInputSelection/Scenes/selection_physics.unity new file mode 100644 index 0000000..434a209 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_physics.unity @@ -0,0 +1,5746 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 112000004, guid: 7472c8a7ac59ca341a4b64e6cbbc6de0, + type: 2} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 1 + agentClimb: 0.2 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 1 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 23800000, guid: e1ff1416638452b4e9a3cc8837259cfe, type: 2} +--- !u!1 &14083523 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1813870990463274, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 14083524} + m_Layer: 0 + m_Name: rctrl:b_button01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &14083524 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4397574615338790, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 14083523} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &38351095 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1539795145029996, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 38351096} + - component: {fileID: 38351097} + m_Layer: 0 + m_Name: rctrl:o_button_decal_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &38351096 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4188534060631024, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 38351095} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &38351097 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137216636184210194, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 38351095} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 342866819} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 342866819} + m_AABB: + m_Center: {x: 0.00004066783, y: 0.00002745376, z: 0.0012303367} + m_Extent: {x: 0.0015236214, y: 0.0021297487, z: 0.00001941109} + m_DirtyAABB: 0 +--- !u!1 &52161329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1898581742577714, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 52161330} + m_Layer: 0 + m_Name: Texture Group (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &52161330 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4644426881070850, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 52161329} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &55118176 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1262700692511938, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 55118177} + - component: {fileID: 55118179} + - component: {fileID: 55118178} + m_Layer: 0 + m_Name: disc_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &55118177 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4955146281650030, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 55118176} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &55118178 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23517888131506342, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 55118176} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &55118179 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33893358866304870, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 55118176} + m_Mesh: {fileID: 4300010, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &93496994 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1235543444575054, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 93496995} + m_Layer: 0 + m_Name: OculusGoController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &93496995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4060494533034292, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 93496994} + 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_Children: + - {fileID: 457172734} + - {fileID: 977978993} + - {fileID: 357661520} + - {fileID: 397488201} + - {fileID: 1326308136} + - {fileID: 1751710623} + - {fileID: 1094220635} + m_Father: {fileID: 975298712} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &94380403 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1826361670079214, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 94380404} + - component: {fileID: 94380406} + - component: {fileID: 94380405} + m_Layer: 0 + m_Name: center_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &94380404 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4376215461376520, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 94380403} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &94380405 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23483435829991590, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 94380403} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &94380406 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33678981673394744, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 94380403} + m_Mesh: {fileID: 4300002, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &165223385 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1613615737841746, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 165223386} + - component: {fileID: 165223388} + - component: {fileID: 165223387} + m_Layer: 0 + m_Name: back_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &165223386 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4759756961172450, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 165223385} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &165223387 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23486465499094776, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 165223385} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &165223388 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33418398684084700, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 165223385} + m_Mesh: {fileID: 4300008, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &206426866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1044748042387820, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 206426867} + m_Layer: 0 + m_Name: Texture Group (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &206426867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4836412835437132, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 206426866} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &231878087 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 159718, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154259} + m_Layer: 0 + m_Name: TrackingSpace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &268370436 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 168682, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 268370437} + m_Layer: 0 + m_Name: TrackerAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &268370437 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 468682, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 268370436} + 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_Children: [] + m_Father: {fileID: 748154259} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &286433907 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1846251851831204, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 286433908} + m_Layer: 0 + m_Name: Texture Group (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &286433908 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4580387016916048, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 286433907} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &298869260 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1387477248435416, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 298869261} + m_Layer: 0 + m_Name: rctrl:b_hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &298869261 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4335872085946050, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 298869260} + m_LocalRotation: {x: -0.17913595, y: 0.14914332, z: 0.022661837, w: 0.97218984} + m_LocalPosition: {x: -0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &302266327 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1557972973026844, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 302266328} + m_Layer: 0 + m_Name: rctrl:right_touch_controller_world + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &302266328 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4215823899630190, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 302266327} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 14083524} + - {fileID: 619227351} + - {fileID: 342866819} + - {fileID: 298869261} + - {fileID: 616565596} + - {fileID: 661936582} + m_Father: {fileID: 1893724369} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &335419915 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1986267487696040, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 335419916} + - component: {fileID: 335419918} + - component: {fileID: 335419917} + m_Layer: 0 + m_Name: home_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &335419916 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4513770082835008, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 335419915} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &335419917 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23832093868421994, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 335419915} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &335419918 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33008035127017516, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 335419915} + m_Mesh: {fileID: 4300006, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &342810429 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1255007767297440, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 342810430} + - component: {fileID: 342810431} + m_Layer: 0 + m_Name: rctrl:o_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &342810430 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4145692376739090, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 342810429} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &342810431 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137408571574643928, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 342810429} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 342866819} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 342866819} + m_AABB: + m_Center: {x: -0.00000026635826, y: -0.00000013131648, z: 0.0005419669} + m_Extent: {x: 0.004489839, y: 0.0044893455, z: 0.0007474746} + m_DirtyAABB: 0 +--- !u!1 &342866818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1388729398224976, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 342866819} + m_Layer: 0 + m_Name: rctrl:b_button03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &342866819 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4283226593156960, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 342866818} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: -0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &357661519 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1757330316574468, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 357661520} + - component: {fileID: 357661522} + - component: {fileID: 357661521} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &357661520 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4161590607958258, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 357661519} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &357661521 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23896146410415452, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 357661519} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &357661522 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33197431014503056, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 357661519} + m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3} +--- !u!1 &397488200 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1401388310133804, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 397488201} + m_Layer: 0 + m_Name: Texture Group + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &397488201 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4927257745488036, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 397488200} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &445744155 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1087401761687600, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 445744156} + - component: {fileID: 445744157} + m_Layer: 0 + m_Name: rctrl:surface_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &445744156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4847083719313040, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 445744155} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &445744157 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137587583371347130, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 445744155} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 302266328} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 302266328} + m_AABB: + m_Center: {x: -0.00016466714, y: 0.00024955347, z: -0.0010734657} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.0059699244} + m_DirtyAABB: 0 +--- !u!1 &449356435 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1242376901968210, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 449356436} + - component: {fileID: 449356437} + m_Layer: 0 + m_Name: rctrl:b_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &449356436 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4259379013194602, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 449356435} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &449356437 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137130966058281504, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 449356435} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 619227351} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 619227351} + m_AABB: + m_Center: {x: 0.000000345055, y: -0.0000009192154, z: 0.0003571303} + m_Extent: {x: 0.0050524976, y: 0.0050528734, z: 0.0025179689} + m_DirtyAABB: 0 +--- !u!1 &457172733 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1928054476239690, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 457172734} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &457172734 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4840170697158152, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 457172733} + m_LocalRotation: {x: -0.030843565, y: -0.7064338, z: 0.030843565, w: 0.7064338} + m_LocalPosition: {x: -0, y: 0.75, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &461819530 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1181828502341800, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 461819531} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &461819531 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4396520640128694, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 461819530} + m_LocalRotation: {x: 0.46193975, y: 0.3314136, z: -0.19134171, w: 0.8001032} + m_LocalPosition: {x: 2, y: 2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &461848156 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1316933471644708, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 461848157} + - component: {fileID: 461848159} + - component: {fileID: 461848158} + m_Layer: 0 + m_Name: trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &461848157 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4324592849986106, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 461848156} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &461848158 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23030419055788318, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 461848156} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &461848159 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33585973913264350, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 461848156} + m_Mesh: {fileID: 4300004, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &509063812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1227483511572584, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 509063813} + - component: {fileID: 509063814} + m_Layer: 0 + m_Name: rctrl:ring_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &509063813 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4875885059110940, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 509063812} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &509063814 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137401003894426430, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 509063812} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 302266328} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 302266328} + m_AABB: + m_Center: {x: -0.016699282, y: 0.010818443, z: -0.036364153} + m_Extent: {x: 0.054633915, y: 0.021678247, z: 0.050220713} + m_DirtyAABB: 0 +--- !u!1 &550265902 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1859534572868060, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 550265903} + - component: {fileID: 550265904} + m_Layer: 0 + m_Name: lctrl:main_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &550265903 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4664232520837576, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 550265902} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &550265904 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137322228149853980, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 550265902} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 2116108982} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2116108982} + m_AABB: + m_Center: {x: -0.0006609438, y: 0.0013324535, z: -0.013972079} + m_Extent: {x: 0.0145619055, y: 0.009363498, z: 0.0133649465} + m_DirtyAABB: 0 +--- !u!1 &555655819 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1344036408324514, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 555655820} + - component: {fileID: 555655822} + - component: {fileID: 555655821} + m_Layer: 0 + m_Name: chassis_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &555655820 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4605323016180494, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 555655819} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &555655821 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23133394067468082, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 555655819} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &555655822 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33778150695240890, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 555655819} + m_Mesh: {fileID: 4300012, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &616565595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1620100735647344, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 616565596} + m_Layer: 0 + m_Name: rctrl:b_stick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &616565596 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4981202461394642, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 616565595} + m_LocalRotation: {x: -0.003149668, y: 0.7098123, z: 0.002783398, w: 0.7043784} + m_LocalPosition: {x: -0.010637393, y: 0.00497835, z: -0.009418557} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 843075312} + m_Father: {fileID: 302266328} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &619227350 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1629587277045648, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 619227351} + m_Layer: 0 + m_Name: rctrl:b_button02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &619227351 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4279151526622972, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 619227350} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: 0.009152712, y: 0.0054823146, z: 0.000030916483} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &625320676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1368786237477692, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 625320677} + - component: {fileID: 625320678} + m_Layer: 0 + m_Name: lctrl:o_button_decal_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &625320677 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4482623563880858, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 625320676} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &625320678 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137550241186350902, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 625320676} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1228324733} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1228324733} + m_AABB: + m_Center: {x: 0.000017451588, y: -0.00010048866, z: 0.0012767098} + m_Extent: {x: 0.00211959, y: 0.001628002, z: 0.000015275553} + m_DirtyAABB: 0 +--- !u!1 &632689382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1883902553708476, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 632689383} + - component: {fileID: 632689385} + - component: {fileID: 632689384} + m_Layer: 0 + m_Name: back_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &632689383 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4163330102252882, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 632689382} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &632689384 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23484041705834348, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 632689382} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &632689385 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33886181901218246, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 632689382} + m_Mesh: {fileID: 4300008, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &661936581 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1405654979698792, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 661936582} + m_Layer: 0 + m_Name: rctrl:b_trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &661936582 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4465709660190338, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 661936581} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &704602124 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 704602125} + - component: {fileID: 704602128} + - component: {fileID: 704602126} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &704602125 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 3} + m_LocalScale: {x: 0.05, y: 0.05, z: 0.05} + m_Children: [] + m_Father: {fileID: 1770626480} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &704602126 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 02f4d91e963f1e74d8bee0002c24efe7, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &704602128 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &744816570 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1736025349707254, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 744816571} + - component: {fileID: 744816572} + m_Layer: 0 + m_Name: lctrl:surface_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &744816571 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4050214063663426, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 744816570} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &744816572 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137302025403472770, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 744816570} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1013256217} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1013256217} + m_AABB: + m_Center: {x: 0.00016466714, y: 0.00024955533, z: -0.0010734661} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.005969927} + m_DirtyAABB: 0 +--- !u!1001 &748154254 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.y + value: 2.8 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.z + value: -4.49 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + m_RootGameObject: {fileID: 748154257} + m_IsPrefabAsset: 0 +--- !u!4 &748154255 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 487254, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 794560610} + 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_Children: + - {fileID: 1893724369} + - {fileID: 975298712} + m_Father: {fileID: 748154259} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &748154256 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 482130, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 941779213} + 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_Children: + - {fileID: 2064420695} + - {fileID: 2056146735} + m_Father: {fileID: 748154259} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &748154257 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100004, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154261} + - component: {fileID: 748154263} + - component: {fileID: 748154262} + - component: {fileID: 748154258} + - component: {fileID: 748154260} + m_Layer: 0 + m_Name: OVRCameraRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &748154258 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 748154257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8a8570f210d5cef498074d4fe90d403f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EventMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!4 &748154259 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 459718, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 231878087} + 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_Children: + - {fileID: 2051731369} + - {fileID: 1359711878} + - {fileID: 1323490865} + - {fileID: 268370437} + - {fileID: 748154256} + - {fileID: 748154255} + m_Father: {fileID: 748154261} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &748154260 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 748154257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c52963611592b1f4e850fc927ddad8c7, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &748154261 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154257} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.8, z: -4.49} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 748154259} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &748154262 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 11400000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e933e81d3c20c74ea6fdc708a67e3a5, type: 3} + m_Name: + m_EditorClassIdentifier: + queueAhead: 1 + useRecommendedMSAALevel: 0 + _monoscopic: 0 + enableAdaptiveResolution: 0 + minRenderScale: 0.7 + maxRenderScale: 1 + expandMixedRealityCapturePropertySheet: 0 + enableMixedReality: 0 + compositionMethod: 0 + extraHiddenLayers: + serializedVersion: 2 + m_Bits: 0 + capturingCameraDevice: 0 + flipCameraFrameHorizontally: 0 + flipCameraFrameVertically: 0 + handPoseStateLatency: 0 + sandwichCompositionRenderLatency: 0 + sandwichCompositionBufferedFrames: 8 + chromaKeyColor: {r: 0, g: 1, b: 0, a: 1} + chromaKeySimilarity: 0.6 + chromaKeySmoothRange: 0.03 + chromaKeySpillRange: 0.06 + useDynamicLighting: 0 + depthQuality: 1 + dynamicLightingSmoothFactor: 8 + dynamicLightingDepthVariationClampingValue: 0.001 + virtualGreenScreenType: 0 + virtualGreenScreenTopY: 10 + virtualGreenScreenBottomY: -10 + virtualGreenScreenApplyDepthCulling: 0 + virtualGreenScreenDepthTolerance: 0.2 + _trackingOriginType: 0 + usePositionTracking: 1 + useRotationTracking: 1 + useIPDInPositionTracking: 1 + resetTrackerOnLoad: 0 + AllowRecenter: 1 + _reorientHMDOnControllerRecenter: 1 +--- !u!114 &748154263 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 11400010, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df9f338034892c44ebb62d97894772f1, type: 3} + m_Name: + m_EditorClassIdentifier: + usePerEyeCameras: 0 + useFixedUpdateForTracking: 0 +--- !u!1 &761168503 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1971769170389126, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 761168504} + - component: {fileID: 761168505} + m_Layer: 0 + m_Name: rctrl:side_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &761168504 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4912627388869670, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 761168503} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &761168505 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137996489588372456, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 761168503} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 298869261} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 298869261} + m_AABB: + m_Center: {x: 0.015085926, y: 0.00079575554, z: 0.0022845895} + m_Extent: {x: 0.0075142607, y: 0.014562387, z: 0.0074783238} + m_DirtyAABB: 0 +--- !u!1 &785846699 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1757445139830558, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 785846700} + - component: {fileID: 785846701} + m_Layer: 0 + m_Name: lctrl:o_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &785846700 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4866202693471932, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 785846699} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &785846701 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137688407735402816, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 785846699} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300012, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1228324733} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1228324733} + m_AABB: + m_Center: {x: 0.00000037020072, y: 0.00000087032095, z: 0.00057196105} + m_Extent: {x: 0.004508083, y: 0.004509521, z: 0.0007474739} + m_DirtyAABB: 0 +--- !u!1 &794560610 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 113768, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154255} + m_Layer: 0 + m_Name: RightHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &841570894 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1396923449131326, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 841570895} + m_Layer: 0 + m_Name: lctrl:b_button01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &841570895 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4205472914554084, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 841570894} + m_LocalRotation: {x: 0.05660452, y: -0.05795374, z: -0.0046757394, w: 0.9967023} + m_LocalPosition: {x: -0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &843075311 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1471450926194158, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 843075312} + m_Layer: 0 + m_Name: rctrl:b_stick_IGNORE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &843075312 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4168601658108038, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 843075311} + m_LocalRotation: {x: -4.5059287e-17, y: -0.70108956, z: -6.5911624e-17, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 616565596} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &898218045 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1555327577499684, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 898218046} + m_Layer: 0 + m_Name: lctrl:b_stick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &898218046 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4729919975037316, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 898218045} + m_LocalRotation: {x: 0.0027868259, y: 0.70437866, z: -0.0031505642, w: 0.7098119} + m_LocalPosition: {x: 0.010637393, y: 0.00497835, z: -0.009418557} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1072138620} + m_Father: {fileID: 1013256217} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &913805928 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1687910740213654, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 913805929} + m_Layer: 0 + m_Name: GearVrController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &913805929 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4626355801398802, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 913805928} + 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_Children: + - {fileID: 165223386} + - {fileID: 94380404} + - {fileID: 2059853415} + - {fileID: 1402831252} + - {fileID: 1917830994} + - {fileID: 2035341621} + - {fileID: 1418706866} + m_Father: {fileID: 2056146735} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &940957040 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1175014527457936, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 940957041} + - component: {fileID: 940957042} + m_Layer: 0 + m_Name: lctrl:thumbstick_ball_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &940957041 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4310471275020772, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 940957040} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &940957042 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137648090444452748, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 940957040} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1013256217} + - {fileID: 898218046} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1013256217} + m_AABB: + m_Center: {x: 0.010604477, y: 0.0049807085, z: 0.0022465447} + m_Extent: {x: 0.010754766, y: 0.010751986, z: 0.007853852} + m_DirtyAABB: 0 +--- !u!1 &941779213 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 109308, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154256} + m_Layer: 0 + m_Name: LeftHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &943699329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1381962807238814, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 943699330} + - component: {fileID: 943699331} + m_Layer: 0 + m_Name: lctrl:ring_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &943699330 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4894055992218830, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 943699329} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &943699331 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137900428634002032, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 943699329} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1013256217} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1013256217} + m_AABB: + m_Center: {x: 0.016699282, y: 0.010818447, z: -0.036364146} + m_Extent: {x: 0.054633915, y: 0.02167825, z: 0.050220706} + m_DirtyAABB: 0 +--- !u!1001 &950805724 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154256} + m_Modifications: + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + m_RootGameObject: {fileID: 2064420694} + m_IsPrefabAsset: 0 +--- !u!1 &975298711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1619383211339418, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 975298712} + - component: {fileID: 975298713} + m_Layer: 0 + m_Name: RTrackedRemote + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &975298712 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 975298711} + 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_Children: + - {fileID: 1862208826} + - {fileID: 93496995} + m_Father: {fileID: 748154255} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &975298713 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114228874124863804, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 975298711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1862208825} + m_modelOculusGoController: {fileID: 93496994} + m_controller: 33554432 +--- !u!1 &977978992 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1248286026319258, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 977978993} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &977978993 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4742830124717782, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 977978992} + m_LocalRotation: {x: 0.46193975, y: 0.3314136, z: -0.19134171, w: 0.8001032} + m_LocalPosition: {x: 2, y: 2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1013256216 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1109776360024182, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 1013256217} + m_Layer: 0 + m_Name: lctrl:left_touch_controller_world + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1013256217 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4238190259217100, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1013256216} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 841570895} + - {fileID: 1251564401} + - {fileID: 1228324733} + - {fileID: 1039558302} + - {fileID: 898218046} + - {fileID: 2116108982} + m_Father: {fileID: 2064420695} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1039558301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1273683566421700, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 1039558302} + m_Layer: 0 + m_Name: lctrl:b_hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1039558302 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4645218192740248, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1039558301} + m_LocalRotation: {x: -0.18065539, y: -0.13555649, z: -0.067166515, w: 0.97184193} + m_LocalPosition: {x: 0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1072138619 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1121076711406898, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 1072138620} + m_Layer: 0 + m_Name: lctrl:b_stick_IGNORE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1072138620 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4287199084857482, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1072138619} + m_LocalRotation: {x: 0, y: -0.70108956, z: -0, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 898218046} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1083577350 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1978692640859942, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 1083577351} + - component: {fileID: 1083577352} + m_Layer: 0 + m_Name: lctrl:x_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1083577351 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4187468707828572, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1083577350} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1083577352 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137862092734697462, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1083577350} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 841570895} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 841570895} + m_AABB: + m_Center: {x: -0.00000072829425, y: 0.000013418496, z: 0.0004995642} + m_Extent: {x: 0.0050891023, y: 0.005111114, z: 0.0025754946} + m_DirtyAABB: 0 +--- !u!1 &1087673783 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1747413968376996, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 1087673784} + - component: {fileID: 1087673785} + m_Layer: 0 + m_Name: lctrl:y_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1087673784 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4673567786913772, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1087673783} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1087673785 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137029252293597264, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1087673783} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1251564401} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1251564401} + m_AABB: + m_Center: {x: 0.0000023958273, y: -0.000002474524, z: 0.0004961197} + m_Extent: {x: 0.005060065, y: 0.0050237104, z: 0.0025072566} + m_DirtyAABB: 0 +--- !u!1 &1094220634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1320820836912368, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 1094220635} + m_Layer: 0 + m_Name: Texture Group (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1094220635 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4416755117851086, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 1094220634} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1126024193 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1686775197120014, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 1126024194} + m_Layer: 0 + m_Name: Texture Group + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1126024194 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4431570018244114, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1126024193} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1182496352 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1882586662293422, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 1182496353} + - component: {fileID: 1182496355} + - component: {fileID: 1182496354} + m_Layer: 0 + m_Name: center_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1182496353 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4799854660562368, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 1182496352} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1182496354 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23281082922435582, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 1182496352} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1182496355 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33100618622131046, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 1182496352} + m_Mesh: {fileID: 4300002, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1201202987 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1083255323522338, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 1201202988} + - component: {fileID: 1201202990} + - component: {fileID: 1201202989} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1201202988 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4690604795820296, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1201202987} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1201202989 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23506773129304874, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1201202987} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1201202990 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33917518887091280, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1201202987} + m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3} +--- !u!1 &1206656643 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1206656645} + - component: {fileID: 1206656644} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1206656644 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206656643} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1206656645 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206656643} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1215934124 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1400594226618500, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 1215934125} + - component: {fileID: 1215934126} + m_Layer: 0 + m_Name: lctrl:side_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1215934125 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4581203518760102, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1215934124} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1215934126 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137021319933803464, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1215934124} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1039558302} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1039558302} + m_AABB: + m_Center: {x: -0.015075568, y: -0.000016345643, z: 0.0018507424} + m_Extent: {x: 0.0069265533, y: 0.014548335, z: 0.007307569} + m_DirtyAABB: 0 +--- !u!1 &1228324732 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1625696427827932, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 1228324733} + m_Layer: 0 + m_Name: lctrl:b_button03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1228324733 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4686602471241882, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1228324732} + m_LocalRotation: {x: 0.05660452, y: -0.05795374, z: -0.0046757394, w: 0.9967023} + m_LocalPosition: {x: 0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1251564400 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1987113674554976, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 1251564401} + m_Layer: 0 + m_Name: lctrl:b_button02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1251564401 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4958792791304930, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1251564400} + m_LocalRotation: {x: 0.017080953, y: -0.07918932, z: 0.52647054, w: 0.84632504} + m_LocalPosition: {x: -0.0091353385, y: 0.005499125, z: -0.00011681918} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1323490864 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 1323490865} + - component: {fileID: 1323490866} + m_Layer: 0 + m_Name: RightEyeAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1323490865 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1323490864} + 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_Children: [] + m_Father: {fileID: 748154259} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &1323490866 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 20000010189485334, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1323490864} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 2 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &1326308135 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1841092496795574, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 1326308136} + m_Layer: 0 + m_Name: Texture Group (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1326308136 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4296782787959290, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 1326308135} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1359711877 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100002, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 1359711878} + - component: {fileID: 1359711880} + - component: {fileID: 1359711879} + m_Layer: 0 + m_Name: CenterEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1359711878 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400002, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1359711877} + 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_Children: [] + m_Father: {fileID: 748154259} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &1359711879 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 2037080, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1359711877} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 1000 + field of view: 90 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!81 &1359711880 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 8100000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1359711877} + m_Enabled: 1 +--- !u!1 &1372448693 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1044639065548258, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 1372448694} + - component: {fileID: 1372448695} + m_Layer: 0 + m_Name: rctrl:a_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1372448694 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4718947254803156, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 1372448693} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1372448695 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137970806874392016, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 1372448693} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 14083524} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 14083524} + m_AABB: + m_Center: {x: 0.0000007292256, y: 0.000013417564, z: 0.00051031867} + m_Extent: {x: 0.0050891023, y: 0.005111115, z: 0.0025862483} + m_DirtyAABB: 0 +--- !u!1001 &1395400166 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154255} + m_Modifications: + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + m_RootGameObject: {fileID: 975298711} + m_IsPrefabAsset: 0 +--- !u!1 &1402831251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1519125787895902, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 1402831252} + - component: {fileID: 1402831254} + - component: {fileID: 1402831253} + m_Layer: 0 + m_Name: disc_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1402831252 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4822202288540890, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1402831251} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1402831253 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23031768250379678, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1402831251} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1402831254 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33733391811933146, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1402831251} + m_Mesh: {fileID: 4300010, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1418706865 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1054859093032942, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 1418706866} + - component: {fileID: 1418706868} + - component: {fileID: 1418706867} + m_Layer: 0 + m_Name: trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1418706866 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4842731919319380, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1418706865} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1418706867 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23701497806254902, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1418706865} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1418706868 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33389899558344730, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1418706865} + m_Mesh: {fileID: 4300004, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1420737456 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1552281567235398, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 1420737457} + m_Layer: 0 + m_Name: OculusGoController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1420737457 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4983237797735506, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1420737456} + 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_Children: + - {fileID: 2042516811} + - {fileID: 461819531} + - {fileID: 1201202988} + - {fileID: 1126024194} + - {fileID: 206426867} + - {fileID: 52161330} + - {fileID: 286433908} + m_Father: {fileID: 2056146735} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1541232627 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1483146546636720, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 1541232628} + - component: {fileID: 1541232629} + m_Layer: 0 + m_Name: rctrl:main_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1541232628 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4973428937398324, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 1541232627} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1541232629 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137893484049802790, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 1541232627} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 661936582} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 661936582} + m_AABB: + m_Center: {x: -0.0006609438, y: -0.0013324562, z: -0.013972085} + m_Extent: {x: 0.014561905, y: 0.009363498, z: 0.013364948} + m_DirtyAABB: 0 +--- !u!1 &1557833065 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1557833066} + - component: {fileID: 1557833069} + - component: {fileID: 1557833068} + - component: {fileID: 1557833067} + - component: {fileID: 1557833070} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1557833066 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1557833065} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.35, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1682477119} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1557833067 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1557833065} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 5d1e07c8dcc9f0740bde7899dcf7a37d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!136 &1557833068 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1557833065} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 0 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1557833069 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1557833065} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!195 &1557833070 +NavMeshAgent: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1557833065} + m_Enabled: 1 + m_AgentTypeID: 0 + m_Radius: 0.5 + m_Speed: 3.5 + m_Acceleration: 8 + avoidancePriority: 50 + m_AngularSpeed: 120 + m_StoppingDistance: 0 + m_AutoTraverseOffMeshLink: 1 + m_AutoBraking: 1 + m_AutoRepath: 1 + m_Height: 2 + m_BaseOffset: 1 + m_WalkableMask: 4294967295 + m_ObstacleAvoidanceType: 4 +--- !u!1 &1612599472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1213770487344620, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 1612599473} + m_Layer: 0 + m_Name: rctrl:geometry_null + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1612599473 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4269300792470906, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 1612599472} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1372448694} + - {fileID: 449356436} + - {fileID: 2017267103} + - {fileID: 1541232628} + - {fileID: 38351096} + - {fileID: 342810430} + - {fileID: 509063813} + - {fileID: 761168504} + - {fileID: 445744156} + - {fileID: 2069773759} + m_Father: {fileID: 1893724369} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1682477117 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1682477119} + - component: {fileID: 1682477118} + m_Layer: 0 + m_Name: Interaction + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1682477118 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1682477117} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1189ca8b34bccff47bad0a297bd32791, type: 3} + m_Name: + m_EditorClassIdentifier: + agent: {fileID: 1557833070} + outText: {fileID: 0} +--- !u!4 &1682477119 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1682477117} + 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_Children: + - {fileID: 1705099743} + - {fileID: 1957924340} + - {fileID: 1557833066} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1685059938 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154256} + m_Modifications: + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + m_RootGameObject: {fileID: 2056146734} + m_IsPrefabAsset: 0 +--- !u!1 &1689703234 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1689703237} + - component: {fileID: 1689703236} + - component: {fileID: 1689703235} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1689703235 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1689703234} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4a9c50de96f6d04386957f4741ac65c, type: 3} + m_Name: + m_EditorClassIdentifier: + trackingSpace: {fileID: 748154259} + joyPadClickButton: 8192 + performSphereCastForGazepointer: 0 + matchNormalOnPhysicsColliders: 0 + useLeftStickScroll: 1 + leftStickDeadZone: 0.15 + useSwipeScroll: 1 + minSwipeMovement: 0 + swipeScrollScale: 4 + activeController: 0 + angleDragThreshold: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_AllowActivationOnMobileDevice: 1 +--- !u!114 &1689703236 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1689703234} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1689703237 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1689703234} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1704615435 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1808661097943962, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 1704615436} + - component: {fileID: 1704615437} + m_Layer: 0 + m_Name: lctrl:controller_body_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1704615436 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4835918886493410, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1704615435} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1704615437 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137034633232802846, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1704615435} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1013256217} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1013256217} + m_AABB: + m_Center: {x: 0.0012377053, y: -0.01906057, z: -0.031179678} + m_Extent: {x: 0.030484851, y: 0.051344883, z: 0.03589144} + m_DirtyAABB: 0 +--- !u!1 &1705099740 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1705099743} + - component: {fileID: 1705099742} + - component: {fileID: 1705099741} + - component: {fileID: 1705099745} + - component: {fileID: 1705099744} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!23 &1705099741 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1705099742 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1705099743 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 1, z: 10} + m_Children: [] + m_Father: {fileID: 1682477119} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1705099744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1682477118} + m_MethodName: OnGroundClick + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + delegates: [] +--- !u!65 &1705099745 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &1751710622 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1603644047585796, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 1751710623} + m_Layer: 0 + m_Name: Texture Group (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1751710623 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4370971803418792, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 1751710622} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1770626477 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1770626480} + - component: {fileID: 1770626479} + - component: {fileID: 1770626478} + m_Layer: 0 + m_Name: SelectionVisualizer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!120 &1770626478 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 0} + - {fileID: 2100000, guid: 02f4d91e963f1e74d8bee0002c24efe7, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 2 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &1770626479 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 12283131fa5724f44b343883ae474072, type: 3} + m_Name: + m_EditorClassIdentifier: + trackingSpace: {fileID: 748154259} + linePointer: {fileID: 1770626478} + gazePointer: {fileID: 704602125} + rayDrawDistance: 500 + gazeDrawDistance: 3 + activeController: 0 +--- !u!4 &1770626480 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + 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_Children: + - {fileID: 704602125} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1805601591 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1805601592} + - component: {fileID: 1805601594} + - component: {fileID: 1805601593} + m_Layer: 0 + m_Name: Instruction + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1805601592 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1805601591} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.81, y: 6.01, z: 6.39} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1805601593 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1805601591} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 96c0e05a2c5c89042911e89d77c33d15, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1805601594 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1805601591} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1862208825 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1302709279893250, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 1862208826} + m_Layer: 0 + m_Name: GearVrController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1862208826 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4254853810062738, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 1862208825} + 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_Children: + - {fileID: 632689383} + - {fileID: 1182496353} + - {fileID: 555655820} + - {fileID: 55118177} + - {fileID: 335419916} + - {fileID: 1997668891} + - {fileID: 461848157} + m_Father: {fileID: 975298712} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1893724368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1204236285207998, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 1893724369} + - component: {fileID: 1893724370} + m_Layer: 0 + m_Name: RTouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1893724369 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 1893724368} + 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_Children: + - {fileID: 1612599473} + - {fileID: 302266328} + m_Father: {fileID: 748154255} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1893724370 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114584869579924024, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 1893724368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1893724368} + m_modelOculusGoController: {fileID: 1893724368} + m_controller: 2 +--- !u!1 &1917830993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1747123517546552, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 1917830994} + - component: {fileID: 1917830996} + - component: {fileID: 1917830995} + m_Layer: 0 + m_Name: home_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1917830994 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4652644063180642, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1917830993} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1917830995 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23172198679712168, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1917830993} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1917830996 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33747868560225156, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 1917830993} + m_Mesh: {fileID: 4300006, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1935032666 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1710745798956080, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 1935032667} + m_Layer: 0 + m_Name: lctrl:geometry_null + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1935032667 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4456158541893084, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 1935032666} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1704615436} + - {fileID: 550265903} + - {fileID: 625320677} + - {fileID: 785846700} + - {fileID: 943699330} + - {fileID: 1215934125} + - {fileID: 744816571} + - {fileID: 940957041} + - {fileID: 1083577351} + - {fileID: 1087673784} + m_Father: {fileID: 2064420695} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1957924336 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1957924340} + - component: {fileID: 1957924339} + - component: {fileID: 1957924337} + - component: {fileID: 1957924338} + - component: {fileID: 1957924341} + m_Layer: 0 + m_Name: BackButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1957924337 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1957924336} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: cee025dc9b4a073479a2558d39b6282d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!65 &1957924338 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1957924336} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 0.12} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1957924339 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1957924336} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1957924340 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1957924336} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -3.4, y: 6.01, z: 6.39} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 1682477119} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1957924341 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1957924336} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1862395651, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Delegates: + - eventID: 4 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1682477118} + m_MethodName: OnBackClick + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 0 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1957924337} + m_MethodName: set_material + m_Mode: 2 + m_Arguments: + m_ObjectArgument: {fileID: 2100000, guid: b1c17a17605695742a22909fd1245eb3, + type: 2} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Material, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + - eventID: 1 + callback: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1957924337} + m_MethodName: set_material + m_Mode: 2 + m_Arguments: + m_ObjectArgument: {fileID: 2100000, guid: cee025dc9b4a073479a2558d39b6282d, + type: 2} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Material, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + delegates: [] +--- !u!1 &1997668890 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1547170486280282, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + serializedVersion: 6 + m_Component: + - component: {fileID: 1997668891} + - component: {fileID: 1997668893} + - component: {fileID: 1997668892} + m_Layer: 0 + m_Name: text_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1997668891 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4298839253072560, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 1997668890} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1997668892 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23629277104320488, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 1997668890} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1997668893 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33227895672347990, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 1395400166} + m_GameObject: {fileID: 1997668890} + m_Mesh: {fileID: 4300000, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1001 &2008721474 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154255} + m_Modifications: + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + m_RootGameObject: {fileID: 1893724368} + m_IsPrefabAsset: 0 +--- !u!1 &2017267102 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1569199330813010, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 2017267103} + - component: {fileID: 2017267104} + m_Layer: 0 + m_Name: rctrl:controller_body_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2017267103 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4557562491589872, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 2017267102} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2017267104 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137937078754769558, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 2017267102} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300012, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 302266328} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 302266328} + m_AABB: + m_Center: {x: -0.0012377053, y: -0.019060574, z: -0.031160347} + m_Extent: {x: 0.030484851, y: 0.051344886, z: 0.035910763} + m_DirtyAABB: 0 +--- !u!1 &2035341620 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1130681504925616, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 2035341621} + - component: {fileID: 2035341623} + - component: {fileID: 2035341622} + m_Layer: 0 + m_Name: text_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2035341621 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4864699852922402, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 2035341620} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2035341622 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23878245367906148, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 2035341620} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &2035341623 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33355214589814526, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 2035341620} + m_Mesh: {fileID: 4300000, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &2042516810 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1788637526737978, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 2042516811} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2042516811 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4525814746143240, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 2042516810} + m_LocalRotation: {x: -0.030843565, y: -0.7064338, z: 0.030843565, w: 0.7064338} + m_LocalPosition: {x: -0, y: 0.75, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2051731368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100006, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 2051731369} + - component: {fileID: 2051731370} + m_Layer: 0 + m_Name: LeftEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2051731369 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400006, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 2051731368} + 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_Children: [] + m_Father: {fileID: 748154259} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &2051731370 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 20000012175207052, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 2051731368} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 1 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &2056146734 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1495718994041264, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 2056146735} + - component: {fileID: 2056146736} + m_Layer: 0 + m_Name: LTrackedRemote + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2056146735 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 2056146734} + 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_Children: + - {fileID: 913805929} + - {fileID: 1420737457} + m_Father: {fileID: 748154256} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2056146736 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114318095738077550, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 2056146734} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 913805928} + m_modelOculusGoController: {fileID: 1420737456} + m_controller: 16777216 +--- !u!1 &2059853414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1672242236952754, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + serializedVersion: 6 + m_Component: + - component: {fileID: 2059853415} + - component: {fileID: 2059853417} + - component: {fileID: 2059853416} + m_Layer: 0 + m_Name: chassis_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2059853415 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4865563946502246, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 2059853414} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2059853416 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23463007473532904, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 2059853414} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &2059853417 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33301716791474086, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1685059938} + m_GameObject: {fileID: 2059853414} + m_Mesh: {fileID: 4300012, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &2064420694 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1249364222358160, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 2064420695} + - component: {fileID: 2064420696} + m_Layer: 0 + m_Name: LTouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2064420695 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 2064420694} + 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_Children: + - {fileID: 1935032667} + - {fileID: 1013256217} + m_Father: {fileID: 748154256} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2064420696 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114694055904687676, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 2064420694} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 2064420694} + m_modelOculusGoController: {fileID: 2064420694} + m_controller: 1 +--- !u!1 &2069773758 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1095698897398270, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + serializedVersion: 6 + m_Component: + - component: {fileID: 2069773759} + - component: {fileID: 2069773760} + m_Layer: 0 + m_Name: rctrl:thumbstick_ball_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2069773759 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4713390451513730, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 2069773758} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2069773760 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137867182389646434, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 2008721474} + m_GameObject: {fileID: 2069773758} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 302266328} + - {fileID: 616565596} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 302266328} + m_AABB: + m_Center: {x: -0.01054777, y: 0.004984765, z: 0.00224772} + m_Extent: {x: 0.010899382, y: 0.010843774, z: 0.007860384} + m_DirtyAABB: 0 +--- !u!1 &2116108981 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1855455462485234, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + serializedVersion: 6 + m_Component: + - component: {fileID: 2116108982} + m_Layer: 0 + m_Name: lctrl:b_trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2116108982 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4894334680272574, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 950805724} + m_GameObject: {fileID: 2116108981} + m_LocalRotation: {x: -0.05795374, y: -0.05660452, z: 0.9967023, w: 0.0046757394} + m_LocalPosition: {x: -0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/OVRInputSelection/Scenes/selection_physics.unity.meta b/Assets/OVRInputSelection/Scenes/selection_physics.unity.meta new file mode 100644 index 0000000..45c1418 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_physics.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e46f6a64d9f346d4aa57395c1f033060 +timeCreated: 1512456148 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_physics/LightingData.asset b/Assets/OVRInputSelection/Scenes/selection_physics/LightingData.asset new file mode 100644 index 0000000..3818038 Binary files /dev/null and b/Assets/OVRInputSelection/Scenes/selection_physics/LightingData.asset differ diff --git a/Assets/OVRInputSelection/Scenes/selection_physics/LightingData.asset.meta b/Assets/OVRInputSelection/Scenes/selection_physics/LightingData.asset.meta new file mode 100644 index 0000000..7a2f939 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_physics/LightingData.asset.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7472c8a7ac59ca341a4b64e6cbbc6de0 +timeCreated: 1512501597 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 25800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_physics/NavMesh.asset b/Assets/OVRInputSelection/Scenes/selection_physics/NavMesh.asset new file mode 100644 index 0000000..dc978be Binary files /dev/null and b/Assets/OVRInputSelection/Scenes/selection_physics/NavMesh.asset differ diff --git a/Assets/OVRInputSelection/Scenes/selection_physics/NavMesh.asset.meta b/Assets/OVRInputSelection/Scenes/selection_physics/NavMesh.asset.meta new file mode 100644 index 0000000..d7c3db9 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_physics/NavMesh.asset.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e1ff1416638452b4e9a3cc8837259cfe +timeCreated: 1512500931 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 23800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_physics/ReflectionProbe-0.exr b/Assets/OVRInputSelection/Scenes/selection_physics/ReflectionProbe-0.exr new file mode 100644 index 0000000..b3715ef Binary files /dev/null and b/Assets/OVRInputSelection/Scenes/selection_physics/ReflectionProbe-0.exr differ diff --git a/Assets/OVRInputSelection/Scenes/selection_physics/ReflectionProbe-0.exr.meta b/Assets/OVRInputSelection/Scenes/selection_physics/ReflectionProbe-0.exr.meta new file mode 100644 index 0000000..f518530 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_physics/ReflectionProbe-0.exr.meta @@ -0,0 +1,69 @@ +fileFormatVersion: 2 +guid: 921ad3a999fb67442b86efbb41a516cd +timeCreated: 1512501597 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: + 8900000: generatedCubemap + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 1 + seamlessCubemap: 1 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: 2 + aniso: 0 + mipBias: 0 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 2 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 100 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_raw.meta b/Assets/OVRInputSelection/Scenes/selection_raw.meta new file mode 100644 index 0000000..0c49be9 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_raw.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ce0de017fa71f8742801e9f69f6f83e6 +folderAsset: yes +timeCreated: 1512501602 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_raw.unity b/Assets/OVRInputSelection/Scenes/selection_raw.unity new file mode 100644 index 0000000..18e339c --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_raw.unity @@ -0,0 +1,5746 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 112000002, guid: f2ae53f949f02f940b61930981b40430, + type: 2} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &37592537 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1625696427827932, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 37592538} + m_Layer: 0 + m_Name: lctrl:b_button03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &37592538 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4686602471241882, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 37592537} + m_LocalRotation: {x: 0.05660452, y: -0.05795374, z: -0.0046757394, w: 0.9967023} + m_LocalPosition: {x: 0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2086554143} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &89446473 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1859534572868060, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 89446474} + - component: {fileID: 89446475} + m_Layer: 0 + m_Name: lctrl:main_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &89446474 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4664232520837576, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 89446473} + 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_Children: [] + m_Father: {fileID: 381354838} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &89446475 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137322228149853980, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 89446473} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 990588225} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 990588225} + m_AABB: + m_Center: {x: -0.0006609438, y: 0.0013324535, z: -0.013972079} + m_Extent: {x: 0.0145619055, y: 0.009363498, z: 0.0133649465} + m_DirtyAABB: 0 +--- !u!1 &119002918 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1898581742577714, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 119002919} + m_Layer: 0 + m_Name: Texture Group (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &119002919 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4644426881070850, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 119002918} + 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_Children: [] + m_Father: {fileID: 422076423} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &122874138 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1483146546636720, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 122874139} + - component: {fileID: 122874140} + m_Layer: 0 + m_Name: rctrl:main_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &122874139 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4973428937398324, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 122874138} + 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_Children: [] + m_Father: {fileID: 1228991857} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &122874140 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137893484049802790, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 122874138} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 530572093} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 530572093} + m_AABB: + m_Center: {x: -0.0006609438, y: -0.0013324562, z: -0.013972085} + m_Extent: {x: 0.014561905, y: 0.009363498, z: 0.013364948} + m_DirtyAABB: 0 +--- !u!1 &127284462 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1603644047585796, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 127284463} + m_Layer: 0 + m_Name: Texture Group (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &127284463 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4370971803418792, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 127284462} + 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_Children: [] + m_Father: {fileID: 593400363} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &146114075 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1747123517546552, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 146114076} + - component: {fileID: 146114078} + - component: {fileID: 146114077} + m_Layer: 0 + m_Name: home_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &146114076 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4652644063180642, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 146114075} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 317516126} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &146114077 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23172198679712168, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 146114075} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &146114078 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33747868560225156, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 146114075} + m_Mesh: {fileID: 4300006, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &161738209 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1302709279893250, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 161738210} + m_Layer: 0 + m_Name: GearVrController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &161738210 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4254853810062738, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 161738209} + 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_Children: + - {fileID: 1061951236} + - {fileID: 509923506} + - {fileID: 289927570} + - {fileID: 1891159104} + - {fileID: 656463156} + - {fileID: 781465352} + - {fileID: 1911692677} + m_Father: {fileID: 658918974} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &231205540 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1495718994041264, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 231205541} + - component: {fileID: 231205542} + m_Layer: 0 + m_Name: LTrackedRemote + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &231205541 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 231205540} + 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_Children: + - {fileID: 317516126} + - {fileID: 422076423} + m_Father: {fileID: 748154256} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &231205542 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114318095738077550, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 231205540} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 317516125} + m_modelOculusGoController: {fileID: 422076422} + m_controller: 16777216 +--- !u!1 &268591727 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1175014527457936, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 268591728} + - component: {fileID: 268591729} + m_Layer: 0 + m_Name: lctrl:thumbstick_ball_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &268591728 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4310471275020772, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 268591727} + 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_Children: [] + m_Father: {fileID: 381354838} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &268591729 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137648090444452748, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 268591727} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 2086554143} + - {fileID: 1377734543} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2086554143} + m_AABB: + m_Center: {x: 0.010604477, y: 0.0049807085, z: 0.0022465447} + m_Extent: {x: 0.010754766, y: 0.010751986, z: 0.007853852} + m_DirtyAABB: 0 +--- !u!1 &289927569 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1344036408324514, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 289927570} + - component: {fileID: 289927572} + - component: {fileID: 289927571} + m_Layer: 0 + m_Name: chassis_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &289927570 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4605323016180494, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 289927569} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 161738210} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &289927571 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23133394067468082, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 289927569} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &289927572 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33778150695240890, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 289927569} + m_Mesh: {fileID: 4300012, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &308531993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1747413968376996, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 308531994} + - component: {fileID: 308531995} + m_Layer: 0 + m_Name: lctrl:y_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &308531994 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4673567786913772, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 308531993} + 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_Children: [] + m_Father: {fileID: 381354838} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &308531995 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137029252293597264, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 308531993} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1289737682} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1289737682} + m_AABB: + m_Center: {x: 0.0000023958273, y: -0.000002474524, z: 0.0004961197} + m_Extent: {x: 0.005060065, y: 0.0050237104, z: 0.0025072566} + m_DirtyAABB: 0 +--- !u!1 &317516125 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1687910740213654, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 317516126} + m_Layer: 0 + m_Name: GearVrController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &317516126 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4626355801398802, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 317516125} + 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_Children: + - {fileID: 2143055063} + - {fileID: 1537064161} + - {fileID: 1524153746} + - {fileID: 1380450140} + - {fileID: 146114076} + - {fileID: 439582453} + - {fileID: 1705879374} + m_Father: {fileID: 231205541} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &318060297 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1400594226618500, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 318060298} + - component: {fileID: 318060299} + m_Layer: 0 + m_Name: lctrl:side_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &318060298 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4581203518760102, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 318060297} + 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_Children: [] + m_Father: {fileID: 381354838} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &318060299 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137021319933803464, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 318060297} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1623117220} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1623117220} + m_AABB: + m_Center: {x: -0.015075568, y: -0.000016345643, z: 0.0018507424} + m_Extent: {x: 0.0069265533, y: 0.014548335, z: 0.007307569} + m_DirtyAABB: 0 +--- !u!1001 &327559405 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154255} + m_Modifications: + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + m_RootGameObject: {fileID: 658918973} + m_IsPrefabAsset: 0 +--- !u!1 &381354837 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1710745798956080, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 381354838} + m_Layer: 0 + m_Name: lctrl:geometry_null + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &381354838 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4456158541893084, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 381354837} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1458485071} + - {fileID: 89446474} + - {fileID: 1050865132} + - {fileID: 906937198} + - {fileID: 891080380} + - {fileID: 318060298} + - {fileID: 503502028} + - {fileID: 268591728} + - {fileID: 539033050} + - {fileID: 308531994} + m_Father: {fileID: 1063221725} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &422076422 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1552281567235398, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 422076423} + m_Layer: 0 + m_Name: OculusGoController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &422076423 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4983237797735506, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 422076422} + 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_Children: + - {fileID: 1080713159} + - {fileID: 2017522745} + - {fileID: 1104655812} + - {fileID: 481862754} + - {fileID: 1033942593} + - {fileID: 119002919} + - {fileID: 1232242710} + m_Father: {fileID: 231205541} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &436098167 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1401388310133804, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 436098168} + m_Layer: 0 + m_Name: Texture Group + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436098168 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4927257745488036, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 436098167} + 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_Children: [] + m_Father: {fileID: 593400363} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &439582452 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1130681504925616, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 439582453} + - component: {fileID: 439582455} + - component: {fileID: 439582454} + m_Layer: 0 + m_Name: text_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &439582453 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4864699852922402, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 439582452} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 317516126} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &439582454 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23878245367906148, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 439582452} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &439582455 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33355214589814526, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 439582452} + m_Mesh: {fileID: 4300000, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &481862753 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1686775197120014, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 481862754} + m_Layer: 0 + m_Name: Texture Group + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &481862754 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4431570018244114, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 481862753} + 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_Children: [] + m_Father: {fileID: 422076423} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &485128430 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 109308, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154256} + m_Layer: 0 + m_Name: LeftHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &503502027 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1736025349707254, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 503502028} + - component: {fileID: 503502029} + m_Layer: 0 + m_Name: lctrl:surface_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &503502028 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4050214063663426, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 503502027} + 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_Children: [] + m_Father: {fileID: 381354838} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &503502029 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137302025403472770, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 503502027} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 2086554143} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2086554143} + m_AABB: + m_Center: {x: 0.00016466714, y: 0.00024955533, z: -0.0010734661} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.005969927} + m_DirtyAABB: 0 +--- !u!1 &509923505 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1882586662293422, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 509923506} + - component: {fileID: 509923508} + - component: {fileID: 509923507} + m_Layer: 0 + m_Name: center_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &509923506 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4799854660562368, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 509923505} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 161738210} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &509923507 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23281082922435582, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 509923505} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &509923508 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33100618622131046, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 509923505} + m_Mesh: {fileID: 4300002, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &526028479 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 526028480} + - component: {fileID: 526028483} + - component: {fileID: 526028482} + - component: {fileID: 526028481} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &526028480 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 526028479} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2.87, y: 1.96, z: 1.85} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1682477119} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &526028481 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 526028479} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 19945ee212ad7124cb47e0cee0742e78, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!136 &526028482 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 526028479} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &526028483 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 526028479} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &530572092 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1405654979698792, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 530572093} + m_Layer: 0 + m_Name: rctrl:b_trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &530572093 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4465709660190338, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 530572092} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1121551995} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &539033049 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1978692640859942, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 539033050} + - component: {fileID: 539033051} + m_Layer: 0 + m_Name: lctrl:x_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &539033050 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4187468707828572, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 539033049} + 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_Children: [] + m_Father: {fileID: 381354838} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &539033051 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137862092734697462, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 539033049} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1788563772} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1788563772} + m_AABB: + m_Center: {x: -0.00000072829425, y: 0.000013418496, z: 0.0004995642} + m_Extent: {x: 0.0050891023, y: 0.005111114, z: 0.0025754946} + m_DirtyAABB: 0 +--- !u!1 &593400362 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1235543444575054, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 593400363} + m_Layer: 0 + m_Name: OculusGoController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &593400363 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4060494533034292, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 593400362} + 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_Children: + - {fileID: 1223174829} + - {fileID: 1532009761} + - {fileID: 1834476833} + - {fileID: 436098168} + - {fileID: 928292850} + - {fileID: 127284463} + - {fileID: 1583699720} + m_Father: {fileID: 658918974} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &594114872 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154255} + m_Modifications: + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + m_RootGameObject: {fileID: 1877654776} + m_IsPrefabAsset: 0 +--- !u!1 &598355137 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1388729398224976, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 598355138} + m_Layer: 0 + m_Name: rctrl:b_button03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &598355138 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4283226593156960, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 598355137} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: -0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1121551995} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &656463155 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1986267487696040, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 656463156} + - component: {fileID: 656463158} + - component: {fileID: 656463157} + m_Layer: 0 + m_Name: home_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &656463156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4513770082835008, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 656463155} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 161738210} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &656463157 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23832093868421994, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 656463155} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &656463158 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33008035127017516, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 656463155} + m_Mesh: {fileID: 4300006, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &658918973 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1619383211339418, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 658918974} + - component: {fileID: 658918975} + m_Layer: 0 + m_Name: RTrackedRemote + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &658918974 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 658918973} + 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_Children: + - {fileID: 161738210} + - {fileID: 593400363} + m_Father: {fileID: 748154255} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &658918975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114228874124863804, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 658918973} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 161738209} + m_modelOculusGoController: {fileID: 593400362} + m_controller: 33554432 +--- !u!1 &667761707 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1121076711406898, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 667761708} + m_Layer: 0 + m_Name: lctrl:b_stick_IGNORE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &667761708 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4287199084857482, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 667761707} + m_LocalRotation: {x: 0, y: -0.70108956, z: -0, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1377734543} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &704602124 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 704602125} + - component: {fileID: 704602128} + - component: {fileID: 704602126} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &704602125 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 3} + m_LocalScale: {x: 0.05, y: 0.05, z: 0.05} + m_Children: [] + m_Father: {fileID: 1770626480} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &704602126 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 02f4d91e963f1e74d8bee0002c24efe7, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &704602128 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &718224708 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 159718, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154257} + m_Layer: 0 + m_Name: TrackingSpace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1001 &748154254 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.y + value: 2.8 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.z + value: -4.49 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + m_RootGameObject: {fileID: 748154258} + m_IsPrefabAsset: 0 +--- !u!4 &748154255 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 487254, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1176298681} + 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_Children: + - {fileID: 1877654777} + - {fileID: 658918974} + m_Father: {fileID: 748154257} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &748154256 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 482130, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 485128430} + 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_Children: + - {fileID: 1063221725} + - {fileID: 231205541} + m_Father: {fileID: 748154257} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &748154257 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 459718, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 718224708} + 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_Children: + - {fileID: 2059784415} + - {fileID: 900199309} + - {fileID: 1911743992} + - {fileID: 1067313403} + - {fileID: 748154256} + - {fileID: 748154255} + m_Father: {fileID: 748154260} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &748154258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100004, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154260} + - component: {fileID: 748154262} + - component: {fileID: 748154261} + - component: {fileID: 748154259} + m_Layer: 0 + m_Name: OVRCameraRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &748154259 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 748154258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c52963611592b1f4e850fc927ddad8c7, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &748154260 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154258} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.8, z: -4.49} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 748154257} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &748154261 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 11400000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e933e81d3c20c74ea6fdc708a67e3a5, type: 3} + m_Name: + m_EditorClassIdentifier: + queueAhead: 1 + useRecommendedMSAALevel: 0 + _monoscopic: 0 + enableAdaptiveResolution: 0 + minRenderScale: 0.7 + maxRenderScale: 1 + expandMixedRealityCapturePropertySheet: 0 + enableMixedReality: 0 + compositionMethod: 0 + extraHiddenLayers: + serializedVersion: 2 + m_Bits: 0 + capturingCameraDevice: 0 + flipCameraFrameHorizontally: 0 + flipCameraFrameVertically: 0 + handPoseStateLatency: 0 + sandwichCompositionRenderLatency: 0 + sandwichCompositionBufferedFrames: 8 + chromaKeyColor: {r: 0, g: 1, b: 0, a: 1} + chromaKeySimilarity: 0.6 + chromaKeySmoothRange: 0.03 + chromaKeySpillRange: 0.06 + useDynamicLighting: 0 + depthQuality: 1 + dynamicLightingSmoothFactor: 8 + dynamicLightingDepthVariationClampingValue: 0.001 + virtualGreenScreenType: 0 + virtualGreenScreenTopY: 10 + virtualGreenScreenBottomY: -10 + virtualGreenScreenApplyDepthCulling: 0 + virtualGreenScreenDepthTolerance: 0.2 + _trackingOriginType: 0 + usePositionTracking: 1 + useRotationTracking: 1 + useIPDInPositionTracking: 1 + resetTrackerOnLoad: 0 + AllowRecenter: 1 + _reorientHMDOnControllerRecenter: 1 +--- !u!114 &748154262 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 11400010, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154258} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df9f338034892c44ebb62d97894772f1, type: 3} + m_Name: + m_EditorClassIdentifier: + usePerEyeCameras: 0 + useFixedUpdateForTracking: 0 +--- !u!1 &781465351 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1547170486280282, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 781465352} + - component: {fileID: 781465354} + - component: {fileID: 781465353} + m_Layer: 0 + m_Name: text_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &781465352 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4298839253072560, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 781465351} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 161738210} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &781465353 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23629277104320488, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 781465351} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &781465354 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33227895672347990, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 781465351} + m_Mesh: {fileID: 4300000, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &812082884 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1095698897398270, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 812082885} + - component: {fileID: 812082886} + m_Layer: 0 + m_Name: rctrl:thumbstick_ball_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &812082885 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4713390451513730, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 812082884} + 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_Children: [] + m_Father: {fileID: 1228991857} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &812082886 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137867182389646434, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 812082884} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 1121551995} + - {fileID: 1458449106} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1121551995} + m_AABB: + m_Center: {x: -0.01054777, y: 0.004984765, z: 0.00224772} + m_Extent: {x: 0.010899382, y: 0.010843774, z: 0.007860384} + m_DirtyAABB: 0 +--- !u!1 &891080379 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1381962807238814, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 891080380} + - component: {fileID: 891080381} + m_Layer: 0 + m_Name: lctrl:ring_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &891080380 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4894055992218830, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 891080379} + 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_Children: [] + m_Father: {fileID: 381354838} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &891080381 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137900428634002032, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 891080379} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 2086554143} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2086554143} + m_AABB: + m_Center: {x: 0.016699282, y: 0.010818447, z: -0.036364146} + m_Extent: {x: 0.054633915, y: 0.02167825, z: 0.050220706} + m_DirtyAABB: 0 +--- !u!1 &900199308 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100002, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 900199309} + - component: {fileID: 900199311} + - component: {fileID: 900199310} + m_Layer: 0 + m_Name: CenterEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &900199309 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400002, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 900199308} + 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_Children: [] + m_Father: {fileID: 748154257} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &900199310 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 2037080, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 900199308} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 1000 + field of view: 90 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!81 &900199311 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 8100000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 900199308} + m_Enabled: 1 +--- !u!1 &906937197 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1757445139830558, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 906937198} + - component: {fileID: 906937199} + m_Layer: 0 + m_Name: lctrl:o_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &906937198 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4866202693471932, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 906937197} + 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_Children: [] + m_Father: {fileID: 381354838} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &906937199 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137688407735402816, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 906937197} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300012, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 37592538} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 37592538} + m_AABB: + m_Center: {x: 0.00000037020072, y: 0.00000087032095, z: 0.00057196105} + m_Extent: {x: 0.004508083, y: 0.004509521, z: 0.0007474739} + m_DirtyAABB: 0 +--- !u!1 &928292849 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1841092496795574, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 928292850} + m_Layer: 0 + m_Name: Texture Group (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &928292850 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4296782787959290, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 928292849} + 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_Children: [] + m_Father: {fileID: 593400363} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &990588224 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1855455462485234, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 990588225} + m_Layer: 0 + m_Name: lctrl:b_trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &990588225 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4894334680272574, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 990588224} + m_LocalRotation: {x: -0.05795374, y: -0.05660452, z: 0.9967023, w: 0.0046757394} + m_LocalPosition: {x: -0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2086554143} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &991987347 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 991987348} + - component: {fileID: 991987351} + - component: {fileID: 991987350} + - component: {fileID: 991987349} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &991987348 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 991987347} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 2.24, z: 2.61} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1682477119} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &991987349 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 991987347} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 8603efedaef202549866eef3bf1a7b0a, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!135 &991987350 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 991987347} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &991987351 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 991987347} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1033942592 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1044748042387820, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 1033942593} + m_Layer: 0 + m_Name: Texture Group (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1033942593 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4836412835437132, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1033942592} + 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_Children: [] + m_Father: {fileID: 422076423} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1050865131 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1368786237477692, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 1050865132} + - component: {fileID: 1050865133} + m_Layer: 0 + m_Name: lctrl:o_button_decal_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1050865132 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4482623563880858, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 1050865131} + 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_Children: [] + m_Father: {fileID: 381354838} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1050865133 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137550241186350902, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 1050865131} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 37592538} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 37592538} + m_AABB: + m_Center: {x: 0.000017451588, y: -0.00010048866, z: 0.0012767098} + m_Extent: {x: 0.00211959, y: 0.001628002, z: 0.000015275553} + m_DirtyAABB: 0 +--- !u!1 &1061951235 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1883902553708476, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 1061951236} + - component: {fileID: 1061951238} + - component: {fileID: 1061951237} + m_Layer: 0 + m_Name: back_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1061951236 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4163330102252882, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1061951235} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 161738210} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1061951237 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23484041705834348, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1061951235} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1061951238 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33886181901218246, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1061951235} + m_Mesh: {fileID: 4300008, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1063221724 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1249364222358160, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 1063221725} + - component: {fileID: 1063221726} + m_Layer: 0 + m_Name: LTouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1063221725 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 1063221724} + 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_Children: + - {fileID: 381354838} + - {fileID: 2086554143} + m_Father: {fileID: 748154256} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1063221726 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114694055904687676, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 1063221724} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1063221724} + m_modelOculusGoController: {fileID: 1063221724} + m_controller: 1 +--- !u!1 &1067313402 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 168682, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 1067313403} + m_Layer: 0 + m_Name: TrackerAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1067313403 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 468682, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1067313402} + 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_Children: [] + m_Father: {fileID: 748154257} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1080713158 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1788637526737978, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 1080713159} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1080713159 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4525814746143240, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1080713158} + m_LocalRotation: {x: -0.030843565, y: -0.7064338, z: 0.030843565, w: 0.7064338} + m_LocalPosition: {x: -0, y: 0.75, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 422076423} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1085541315 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1471450926194158, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1085541316} + m_Layer: 0 + m_Name: rctrl:b_stick_IGNORE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1085541316 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4168601658108038, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1085541315} + m_LocalRotation: {x: -4.5059287e-17, y: -0.70108956, z: -6.5911624e-17, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1458449106} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1104655811 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1083255323522338, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 1104655812} + - component: {fileID: 1104655814} + - component: {fileID: 1104655813} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1104655812 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4690604795820296, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1104655811} + 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_Children: [] + m_Father: {fileID: 422076423} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1104655813 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23506773129304874, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1104655811} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1104655814 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33917518887091280, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1104655811} + m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3} +--- !u!1 &1121551994 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1557972973026844, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1121551995} + m_Layer: 0 + m_Name: rctrl:right_touch_controller_world + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1121551995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4215823899630190, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1121551994} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1690293092} + - {fileID: 1134612837} + - {fileID: 598355138} + - {fileID: 1129095576} + - {fileID: 1458449106} + - {fileID: 530572093} + m_Father: {fileID: 1877654777} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1129095575 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1387477248435416, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1129095576} + m_Layer: 0 + m_Name: rctrl:b_hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1129095576 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4335872085946050, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1129095575} + m_LocalRotation: {x: -0.17913595, y: 0.14914332, z: 0.022661837, w: 0.97218984} + m_LocalPosition: {x: -0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1121551995} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1134612836 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1629587277045648, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1134612837} + m_Layer: 0 + m_Name: rctrl:b_button02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1134612837 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4279151526622972, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1134612836} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: 0.009152712, y: 0.0054823146, z: 0.000030916483} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1121551995} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1176298681 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 113768, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154255} + m_Layer: 0 + m_Name: RightHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1206656643 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1206656645} + - component: {fileID: 1206656644} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1206656644 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206656643} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1206656645 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206656643} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1223174828 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1928054476239690, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 1223174829} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1223174829 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4840170697158152, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1223174828} + m_LocalRotation: {x: -0.030843565, y: -0.7064338, z: 0.030843565, w: 0.7064338} + m_LocalPosition: {x: -0, y: 0.75, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 593400363} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1228991856 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1213770487344620, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1228991857} + m_Layer: 0 + m_Name: rctrl:geometry_null + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1228991857 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4269300792470906, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1228991856} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1498072443} + - {fileID: 1552853543} + - {fileID: 2041312501} + - {fileID: 122874139} + - {fileID: 1391125865} + - {fileID: 1779036455} + - {fileID: 1632893583} + - {fileID: 1865894725} + - {fileID: 1971960414} + - {fileID: 812082885} + m_Father: {fileID: 1877654777} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1232242709 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1846251851831204, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 1232242710} + m_Layer: 0 + m_Name: Texture Group (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1232242710 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4580387016916048, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1232242709} + 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_Children: [] + m_Father: {fileID: 422076423} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1274412676 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154256} + m_Modifications: + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + m_RootGameObject: {fileID: 231205540} + m_IsPrefabAsset: 0 +--- !u!1 &1289737681 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1987113674554976, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 1289737682} + m_Layer: 0 + m_Name: lctrl:b_button02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1289737682 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4958792791304930, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 1289737681} + m_LocalRotation: {x: 0.017080953, y: -0.07918932, z: 0.52647054, w: 0.84632504} + m_LocalPosition: {x: -0.0091353385, y: 0.005499125, z: -0.00011681918} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2086554143} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1377734542 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1555327577499684, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 1377734543} + m_Layer: 0 + m_Name: lctrl:b_stick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1377734543 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4729919975037316, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 1377734542} + m_LocalRotation: {x: 0.0027868259, y: 0.70437866, z: -0.0031505642, w: 0.7098119} + m_LocalPosition: {x: 0.010637393, y: 0.00497835, z: -0.009418557} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 667761708} + m_Father: {fileID: 2086554143} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1380450139 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1519125787895902, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 1380450140} + - component: {fileID: 1380450142} + - component: {fileID: 1380450141} + m_Layer: 0 + m_Name: disc_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1380450140 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4822202288540890, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1380450139} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 317516126} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1380450141 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23031768250379678, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1380450139} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1380450142 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33733391811933146, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1380450139} + m_Mesh: {fileID: 4300010, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1389828522 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1389828523} + - component: {fileID: 1389828526} + - component: {fileID: 1389828525} + - component: {fileID: 1389828524} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1389828523 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1389828522} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -3.27, y: 1.72, z: 1.96} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1682477119} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1389828524 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1389828522} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 0353d14ef9a3d1341968b597761f05f0, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!65 &1389828525 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1389828522} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1389828526 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1389828522} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1391125864 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1539795145029996, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1391125865} + - component: {fileID: 1391125866} + m_Layer: 0 + m_Name: rctrl:o_button_decal_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1391125865 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4188534060631024, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1391125864} + 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_Children: [] + m_Father: {fileID: 1228991857} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1391125866 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137216636184210194, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1391125864} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 598355138} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 598355138} + m_AABB: + m_Center: {x: 0.00004066783, y: 0.00002745376, z: 0.0012303367} + m_Extent: {x: 0.0015236214, y: 0.0021297487, z: 0.00001941109} + m_DirtyAABB: 0 +--- !u!1 &1458449105 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1620100735647344, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1458449106} + m_Layer: 0 + m_Name: rctrl:b_stick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1458449106 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4981202461394642, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1458449105} + m_LocalRotation: {x: -0.003149668, y: 0.7098123, z: 0.002783398, w: 0.7043784} + m_LocalPosition: {x: -0.010637393, y: 0.00497835, z: -0.009418557} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1085541316} + m_Father: {fileID: 1121551995} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1458485070 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1808661097943962, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 1458485071} + - component: {fileID: 1458485072} + m_Layer: 0 + m_Name: lctrl:controller_body_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1458485071 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4835918886493410, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 1458485070} + 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_Children: [] + m_Father: {fileID: 381354838} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1458485072 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137034633232802846, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 1458485070} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 2086554143} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2086554143} + m_AABB: + m_Center: {x: 0.0012377053, y: -0.01906057, z: -0.031179678} + m_Extent: {x: 0.030484851, y: 0.051344883, z: 0.03589144} + m_DirtyAABB: 0 +--- !u!1 &1498072442 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1044639065548258, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1498072443} + - component: {fileID: 1498072444} + m_Layer: 0 + m_Name: rctrl:a_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1498072443 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4718947254803156, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1498072442} + 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_Children: [] + m_Father: {fileID: 1228991857} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1498072444 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137970806874392016, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1498072442} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 1690293092} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1690293092} + m_AABB: + m_Center: {x: 0.0000007292256, y: 0.000013417564, z: 0.00051031867} + m_Extent: {x: 0.0050891023, y: 0.005111115, z: 0.0025862483} + m_DirtyAABB: 0 +--- !u!1 &1509195324 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1509195326} + - component: {fileID: 1509195325} + m_Layer: 0 + m_Name: Raycaster + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1509195325 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1509195324} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 472cd28b041d447a4b0f2b5c603034aa, type: 3} + m_Name: + m_EditorClassIdentifier: + trackingSpace: {fileID: 748154257} + primaryButton: 8192 + secondaryButton: 1024 + excludeLayers: + serializedVersion: 2 + m_Bits: 0 + raycastDistance: 500 + onHoverEnter: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1682477118} + m_MethodName: OnHoverEnter + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: ControllerSelection.OVRRawRaycaster+HoverCallback, Assembly-CSharp, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + onHoverExit: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1682477118} + m_MethodName: OnHoverExit + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: ControllerSelection.OVRRawRaycaster+HoverCallback, Assembly-CSharp, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + onHover: + m_PersistentCalls: + m_Calls: [] + m_TypeName: ControllerSelection.OVRRawRaycaster+HoverCallback, Assembly-CSharp, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + onPrimarySelect: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1682477118} + m_MethodName: OnSelected + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: ControllerSelection.OVRRawRaycaster+SelectionCallback, Assembly-CSharp, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + onSecondarySelect: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1682477118} + m_MethodName: OnSelected + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: ControllerSelection.OVRRawRaycaster+SelectionCallback, Assembly-CSharp, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + activeController: 0 +--- !u!4 &1509195326 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1509195324} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.2650001, y: 4.735, z: 3.87} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1524153745 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1672242236952754, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 1524153746} + - component: {fileID: 1524153748} + - component: {fileID: 1524153747} + m_Layer: 0 + m_Name: chassis_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1524153746 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4865563946502246, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1524153745} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 317516126} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1524153747 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23463007473532904, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1524153745} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1524153748 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33301716791474086, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1524153745} + m_Mesh: {fileID: 4300012, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1532009760 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1248286026319258, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 1532009761} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1532009761 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4742830124717782, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1532009760} + m_LocalRotation: {x: 0.46193975, y: 0.3314136, z: -0.19134171, w: 0.8001032} + m_LocalPosition: {x: 2, y: 2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 593400363} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1537064160 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1826361670079214, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 1537064161} + - component: {fileID: 1537064163} + - component: {fileID: 1537064162} + m_Layer: 0 + m_Name: center_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1537064161 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4376215461376520, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1537064160} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 317516126} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1537064162 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23483435829991590, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1537064160} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1537064163 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33678981673394744, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1537064160} + m_Mesh: {fileID: 4300002, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1552853542 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1242376901968210, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1552853543} + - component: {fileID: 1552853544} + m_Layer: 0 + m_Name: rctrl:b_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1552853543 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4259379013194602, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1552853542} + 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_Children: [] + m_Father: {fileID: 1228991857} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1552853544 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137130966058281504, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1552853542} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 1134612837} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1134612837} + m_AABB: + m_Center: {x: 0.000000345055, y: -0.0000009192154, z: 0.0003571303} + m_Extent: {x: 0.0050524976, y: 0.0050528734, z: 0.0025179689} + m_DirtyAABB: 0 +--- !u!1 &1583699719 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1320820836912368, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 1583699720} + m_Layer: 0 + m_Name: Texture Group (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1583699720 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4416755117851086, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1583699719} + 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_Children: [] + m_Father: {fileID: 593400363} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1623117219 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1273683566421700, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 1623117220} + m_Layer: 0 + m_Name: lctrl:b_hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1623117220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4645218192740248, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 1623117219} + m_LocalRotation: {x: -0.18065539, y: -0.13555649, z: -0.067166515, w: 0.97184193} + m_LocalPosition: {x: 0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2086554143} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1632893582 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1227483511572584, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1632893583} + - component: {fileID: 1632893584} + m_Layer: 0 + m_Name: rctrl:ring_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1632893583 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4875885059110940, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1632893582} + 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_Children: [] + m_Father: {fileID: 1228991857} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1632893584 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137401003894426430, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1632893582} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 1121551995} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1121551995} + m_AABB: + m_Center: {x: -0.016699282, y: 0.010818443, z: -0.036364153} + m_Extent: {x: 0.054633915, y: 0.021678247, z: 0.050220713} + m_DirtyAABB: 0 +--- !u!1001 &1641998758 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154256} + m_Modifications: + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + m_RootGameObject: {fileID: 1063221724} + m_IsPrefabAsset: 0 +--- !u!1 &1682477117 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1682477119} + - component: {fileID: 1682477118} + m_Layer: 0 + m_Name: Interaction + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1682477118 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1682477117} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 43034b73b1ab62b409e7c11bfffd57ef, type: 3} + m_Name: + m_EditorClassIdentifier: + yellowMat: {fileID: 2100000, guid: 5d1e07c8dcc9f0740bde7899dcf7a37d, type: 2} + backIdle: {fileID: 2100000, guid: cee025dc9b4a073479a2558d39b6282d, type: 2} + backACtive: {fileID: 2100000, guid: b1c17a17605695742a22909fd1245eb3, type: 2} + outText: {fileID: 0} +--- !u!4 &1682477119 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1682477117} + 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_Children: + - {fileID: 1957924340} + - {fileID: 1389828523} + - {fileID: 991987348} + - {fileID: 526028480} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1690293091 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1813870990463274, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1690293092} + m_Layer: 0 + m_Name: rctrl:b_button01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1690293092 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4397574615338790, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1690293091} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1121551995} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1705099740 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1705099743} + - component: {fileID: 1705099742} + - component: {fileID: 1705099741} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1705099741 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1705099742 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1705099743 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 1, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1705879373 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1054859093032942, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 1705879374} + - component: {fileID: 1705879376} + - component: {fileID: 1705879375} + m_Layer: 0 + m_Name: trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1705879374 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4842731919319380, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1705879373} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 317516126} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1705879375 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23701497806254902, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1705879373} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1705879376 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33389899558344730, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 1705879373} + m_Mesh: {fileID: 4300004, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1770626477 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1770626480} + - component: {fileID: 1770626479} + - component: {fileID: 1770626478} + m_Layer: 0 + m_Name: SelectionVisualizer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!120 &1770626478 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 0} + - {fileID: 2100000, guid: 02f4d91e963f1e74d8bee0002c24efe7, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 2 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &1770626479 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 12283131fa5724f44b343883ae474072, type: 3} + m_Name: + m_EditorClassIdentifier: + trackingSpace: {fileID: 748154257} + linePointer: {fileID: 1770626478} + gazePointer: {fileID: 704602125} + rayDrawDistance: 500 + gazeDrawDistance: 3 + activeController: 0 +--- !u!4 &1770626480 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + 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_Children: + - {fileID: 704602125} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1779036454 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1255007767297440, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1779036455} + - component: {fileID: 1779036456} + m_Layer: 0 + m_Name: rctrl:o_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1779036455 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4145692376739090, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1779036454} + 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_Children: [] + m_Father: {fileID: 1228991857} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1779036456 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137408571574643928, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1779036454} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 598355138} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 598355138} + m_AABB: + m_Center: {x: -0.00000026635826, y: -0.00000013131648, z: 0.0005419669} + m_Extent: {x: 0.004489839, y: 0.0044893455, z: 0.0007474746} + m_DirtyAABB: 0 +--- !u!1 &1788563771 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1396923449131326, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 1788563772} + m_Layer: 0 + m_Name: lctrl:b_button01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1788563772 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4205472914554084, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 1788563771} + m_LocalRotation: {x: 0.05660452, y: -0.05795374, z: -0.0046757394, w: 0.9967023} + m_LocalPosition: {x: -0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2086554143} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1834476832 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1757330316574468, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 1834476833} + - component: {fileID: 1834476835} + - component: {fileID: 1834476834} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1834476833 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4161590607958258, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1834476832} + 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_Children: [] + m_Father: {fileID: 593400363} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1834476834 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23896146410415452, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1834476832} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1834476835 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33197431014503056, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1834476832} + m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3} +--- !u!1 &1865894724 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1971769170389126, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1865894725} + - component: {fileID: 1865894726} + m_Layer: 0 + m_Name: rctrl:side_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1865894725 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4912627388869670, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1865894724} + 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_Children: [] + m_Father: {fileID: 1228991857} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1865894726 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137996489588372456, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1865894724} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 1129095576} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1129095576} + m_AABB: + m_Center: {x: 0.015085926, y: 0.00079575554, z: 0.0022845895} + m_Extent: {x: 0.0075142607, y: 0.014562387, z: 0.0074783238} + m_DirtyAABB: 0 +--- !u!1 &1877654776 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1204236285207998, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1877654777} + - component: {fileID: 1877654778} + m_Layer: 0 + m_Name: RTouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1877654777 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1877654776} + 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_Children: + - {fileID: 1228991857} + - {fileID: 1121551995} + m_Father: {fileID: 748154255} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1877654778 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114584869579924024, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1877654776} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1877654776} + m_modelOculusGoController: {fileID: 1877654776} + m_controller: 2 +--- !u!1 &1891159103 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1262700692511938, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 1891159104} + - component: {fileID: 1891159106} + - component: {fileID: 1891159105} + m_Layer: 0 + m_Name: disc_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1891159104 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4955146281650030, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1891159103} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 161738210} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1891159105 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23517888131506342, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1891159103} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1891159106 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33893358866304870, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1891159103} + m_Mesh: {fileID: 4300010, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1911692676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1316933471644708, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + serializedVersion: 6 + m_Component: + - component: {fileID: 1911692677} + - component: {fileID: 1911692679} + - component: {fileID: 1911692678} + m_Layer: 0 + m_Name: trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1911692677 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4324592849986106, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1911692676} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 161738210} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1911692678 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23030419055788318, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1911692676} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1911692679 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33585973913264350, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 327559405} + m_GameObject: {fileID: 1911692676} + m_Mesh: {fileID: 4300004, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1911743991 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 1911743992} + - component: {fileID: 1911743993} + m_Layer: 0 + m_Name: RightEyeAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1911743992 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1911743991} + 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_Children: [] + m_Father: {fileID: 748154257} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &1911743993 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 20000010189485334, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1911743991} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 2 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &1957924336 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1957924340} + - component: {fileID: 1957924339} + - component: {fileID: 1957924338} + - component: {fileID: 1957924337} + m_Layer: 0 + m_Name: BackButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1957924337 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1957924336} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: cee025dc9b4a073479a2558d39b6282d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!64 &1957924338 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1957924336} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 0 + m_CookingOptions: 14 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!33 &1957924339 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1957924336} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1957924340 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1957924336} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -3.4, y: 6.01, z: 6.39} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 1682477119} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1971960413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1087401761687600, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 1971960414} + - component: {fileID: 1971960415} + m_Layer: 0 + m_Name: rctrl:surface_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1971960414 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4847083719313040, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1971960413} + 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_Children: [] + m_Father: {fileID: 1228991857} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1971960415 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137587583371347130, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 1971960413} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 1121551995} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1121551995} + m_AABB: + m_Center: {x: -0.00016466714, y: 0.00024955347, z: -0.0010734657} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.0059699244} + m_DirtyAABB: 0 +--- !u!1 &2017522744 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1181828502341800, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 2017522745} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2017522745 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4396520640128694, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 2017522744} + m_LocalRotation: {x: 0.46193975, y: 0.3314136, z: -0.19134171, w: 0.8001032} + m_LocalPosition: {x: 2, y: 2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 422076423} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2041312500 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1569199330813010, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + serializedVersion: 6 + m_Component: + - component: {fileID: 2041312501} + - component: {fileID: 2041312502} + m_Layer: 0 + m_Name: rctrl:controller_body_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2041312501 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4557562491589872, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 2041312500} + 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_Children: [] + m_Father: {fileID: 1228991857} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2041312502 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137937078754769558, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 594114872} + m_GameObject: {fileID: 2041312500} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300012, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 1121551995} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1121551995} + m_AABB: + m_Center: {x: -0.0012377053, y: -0.019060574, z: -0.031160347} + m_Extent: {x: 0.030484851, y: 0.051344886, z: 0.035910763} + m_DirtyAABB: 0 +--- !u!1 &2059784414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100006, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 2059784415} + - component: {fileID: 2059784416} + m_Layer: 0 + m_Name: LeftEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2059784415 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400006, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 2059784414} + 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_Children: [] + m_Father: {fileID: 748154257} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &2059784416 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 20000012175207052, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 2059784414} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 1 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &2086554142 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1109776360024182, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + serializedVersion: 6 + m_Component: + - component: {fileID: 2086554143} + m_Layer: 0 + m_Name: lctrl:left_touch_controller_world + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2086554143 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4238190259217100, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 1641998758} + m_GameObject: {fileID: 2086554142} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1788563772} + - {fileID: 1289737682} + - {fileID: 37592538} + - {fileID: 1623117220} + - {fileID: 1377734543} + - {fileID: 990588225} + m_Father: {fileID: 1063221725} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2143055062 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1613615737841746, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + serializedVersion: 6 + m_Component: + - component: {fileID: 2143055063} + - component: {fileID: 2143055065} + - component: {fileID: 2143055064} + m_Layer: 0 + m_Name: back_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2143055063 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4759756961172450, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 2143055062} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 317516126} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2143055064 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23486465499094776, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 2143055062} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &2143055065 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33418398684084700, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 1274412676} + m_GameObject: {fileID: 2143055062} + m_Mesh: {fileID: 4300008, guid: c515c245eef79834ca4097a5367d0a89, type: 3} diff --git a/Assets/OVRInputSelection/Scenes/selection_raw.unity.meta b/Assets/OVRInputSelection/Scenes/selection_raw.unity.meta new file mode 100644 index 0000000..fa0ee1c --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_raw.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d2f845eed230326489e720a9e91e4a8b +timeCreated: 1512456148 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_raw/LightingData.asset b/Assets/OVRInputSelection/Scenes/selection_raw/LightingData.asset new file mode 100644 index 0000000..06fc794 Binary files /dev/null and b/Assets/OVRInputSelection/Scenes/selection_raw/LightingData.asset differ diff --git a/Assets/OVRInputSelection/Scenes/selection_raw/LightingData.asset.meta b/Assets/OVRInputSelection/Scenes/selection_raw/LightingData.asset.meta new file mode 100644 index 0000000..e8f6820 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_raw/LightingData.asset.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f2ae53f949f02f940b61930981b40430 +timeCreated: 1512501602 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 25800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_raw/ReflectionProbe-0.exr b/Assets/OVRInputSelection/Scenes/selection_raw/ReflectionProbe-0.exr new file mode 100644 index 0000000..b3715ef Binary files /dev/null and b/Assets/OVRInputSelection/Scenes/selection_raw/ReflectionProbe-0.exr differ diff --git a/Assets/OVRInputSelection/Scenes/selection_raw/ReflectionProbe-0.exr.meta b/Assets/OVRInputSelection/Scenes/selection_raw/ReflectionProbe-0.exr.meta new file mode 100644 index 0000000..e4a6497 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_raw/ReflectionProbe-0.exr.meta @@ -0,0 +1,69 @@ +fileFormatVersion: 2 +guid: caa74821cd3d47c479bb54c7e3d88fe6 +timeCreated: 1512501602 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: + 8900000: generatedCubemap + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 1 + seamlessCubemap: 1 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: 2 + aniso: 0 + mipBias: 0 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 2 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 100 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_ui.meta b/Assets/OVRInputSelection/Scenes/selection_ui.meta new file mode 100644 index 0000000..7556dcb --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_ui.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e542e04c49fc50a44b6da18083125b21 +folderAsset: yes +timeCreated: 1512501609 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_ui.unity b/Assets/OVRInputSelection/Scenes/selection_ui.unity new file mode 100644 index 0000000..1759db4 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_ui.unity @@ -0,0 +1,6597 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 112000002, guid: b555feb31bc66454bab5187e8c36cf00, + type: 2} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &14083523 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1813870990463274, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 14083524} + m_Layer: 0 + m_Name: rctrl:b_button01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &14083524 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4397574615338790, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 14083523} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &16075148 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 16075149} + - component: {fileID: 16075151} + - component: {fileID: 16075150} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &16075149 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 16075148} + 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_Children: [] + m_Father: {fileID: 1338802526} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &16075150 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 16075148} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &16075151 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 16075148} + m_CullTransparentMesh: 0 +--- !u!1 &28997315 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 28997316} + - component: {fileID: 28997318} + - component: {fileID: 28997317} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &28997316 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 28997315} + 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_Children: [] + m_Father: {fileID: 710396353} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &28997317 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 28997315} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &28997318 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 28997315} + m_CullTransparentMesh: 0 +--- !u!1 &38351095 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1539795145029996, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 38351096} + - component: {fileID: 38351097} + m_Layer: 0 + m_Name: rctrl:o_button_decal_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &38351096 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4188534060631024, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 38351095} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &38351097 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137216636184210194, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 38351095} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 342866819} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 342866819} + m_AABB: + m_Center: {x: 0.00004066783, y: 0.00002745376, z: 0.0012303367} + m_Extent: {x: 0.0015236214, y: 0.0021297487, z: 0.00001941109} + m_DirtyAABB: 0 +--- !u!1 &52161329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1898581742577714, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 52161330} + m_Layer: 0 + m_Name: Texture Group (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &52161330 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4644426881070850, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 52161329} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &55118176 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1262700692511938, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 55118177} + - component: {fileID: 55118179} + - component: {fileID: 55118178} + m_Layer: 0 + m_Name: disc_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &55118177 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4955146281650030, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 55118176} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &55118178 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23517888131506342, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 55118176} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &55118179 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33893358866304870, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 55118176} + m_Mesh: {fileID: 4300010, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &93496994 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1235543444575054, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 93496995} + m_Layer: 0 + m_Name: OculusGoController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &93496995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4060494533034292, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 93496994} + 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_Children: + - {fileID: 457172734} + - {fileID: 977978993} + - {fileID: 357661520} + - {fileID: 397488201} + - {fileID: 1326308136} + - {fileID: 1751710623} + - {fileID: 1094220635} + m_Father: {fileID: 975298712} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &94380403 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1826361670079214, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 94380404} + - component: {fileID: 94380406} + - component: {fileID: 94380405} + m_Layer: 0 + m_Name: center_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &94380404 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4376215461376520, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 94380403} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &94380405 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23483435829991590, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 94380403} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &94380406 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33678981673394744, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 94380403} + m_Mesh: {fileID: 4300002, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &165223385 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1613615737841746, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 165223386} + - component: {fileID: 165223388} + - component: {fileID: 165223387} + m_Layer: 0 + m_Name: back_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &165223386 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4759756961172450, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 165223385} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &165223387 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23486465499094776, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 165223385} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &165223388 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33418398684084700, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 165223385} + m_Mesh: {fileID: 4300008, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &188486863 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 188486864} + - component: {fileID: 188486865} + m_Layer: 5 + m_Name: Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &188486864 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 188486863} + 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_Children: + - {fileID: 1403749906} + - {fileID: 296967723} + m_Father: {fileID: 894277989} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 174.75, y: 53} + m_SizeDelta: {x: 160, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &188486865 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 188486863} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1403749907} + toggleTransition: 1 + graphic: {fileID: 1724200563} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1682477118} + m_MethodName: OnToggleChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 1 +--- !u!1 &206426866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1044748042387820, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 206426867} + m_Layer: 0 + m_Name: Texture Group (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &206426867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4836412835437132, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 206426866} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &231878087 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 159718, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154258} + m_Layer: 0 + m_Name: TrackingSpace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &268370436 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 168682, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 268370437} + m_Layer: 0 + m_Name: TrackerAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &268370437 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 468682, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 268370436} + 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_Children: [] + m_Father: {fileID: 748154258} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &286433907 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1846251851831204, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 286433908} + m_Layer: 0 + m_Name: Texture Group (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &286433908 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4580387016916048, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 286433907} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &296967722 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 296967723} + - component: {fileID: 296967725} + - component: {fileID: 296967724} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &296967723 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 296967722} + 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_Children: [] + m_Father: {fileID: 188486864} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 9, y: -0.5} + m_SizeDelta: {x: -28, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &296967724 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 296967722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Toggle +--- !u!222 &296967725 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 296967722} + m_CullTransparentMesh: 0 +--- !u!1 &298869260 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1387477248435416, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 298869261} + m_Layer: 0 + m_Name: rctrl:b_hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &298869261 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4335872085946050, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 298869260} + m_LocalRotation: {x: -0.17913595, y: 0.14914332, z: 0.022661837, w: 0.97218984} + m_LocalPosition: {x: -0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &302266327 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1557972973026844, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 302266328} + m_Layer: 0 + m_Name: rctrl:right_touch_controller_world + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &302266328 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4215823899630190, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 302266327} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 14083524} + - {fileID: 619227351} + - {fileID: 342866819} + - {fileID: 298869261} + - {fileID: 616565596} + - {fileID: 661936582} + m_Father: {fileID: 1893724369} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &335419915 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1986267487696040, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 335419916} + - component: {fileID: 335419918} + - component: {fileID: 335419917} + m_Layer: 0 + m_Name: home_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &335419916 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4513770082835008, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 335419915} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &335419917 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23832093868421994, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 335419915} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &335419918 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33008035127017516, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 335419915} + m_Mesh: {fileID: 4300006, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &342810429 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1255007767297440, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 342810430} + - component: {fileID: 342810431} + m_Layer: 0 + m_Name: rctrl:o_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &342810430 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4145692376739090, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 342810429} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &342810431 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137408571574643928, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 342810429} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 342866819} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 342866819} + m_AABB: + m_Center: {x: -0.00000026635826, y: -0.00000013131648, z: 0.0005419669} + m_Extent: {x: 0.004489839, y: 0.0044893455, z: 0.0007474746} + m_DirtyAABB: 0 +--- !u!1 &342866818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1388729398224976, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 342866819} + m_Layer: 0 + m_Name: rctrl:b_button03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &342866819 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4283226593156960, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 342866818} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: -0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &357661519 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1757330316574468, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 357661520} + - component: {fileID: 357661522} + - component: {fileID: 357661521} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &357661520 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4161590607958258, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 357661519} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &357661521 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23896146410415452, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 357661519} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &357661522 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33197431014503056, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 357661519} + m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3} +--- !u!1 &397488200 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1401388310133804, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 397488201} + m_Layer: 0 + m_Name: Texture Group + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &397488201 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4927257745488036, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 397488200} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &445744155 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1087401761687600, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 445744156} + - component: {fileID: 445744157} + m_Layer: 0 + m_Name: rctrl:surface_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &445744156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4847083719313040, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 445744155} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &445744157 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137587583371347130, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 445744155} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 302266328} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 302266328} + m_AABB: + m_Center: {x: -0.00016466714, y: 0.00024955347, z: -0.0010734657} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.0059699244} + m_DirtyAABB: 0 +--- !u!1 &449356435 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1242376901968210, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 449356436} + - component: {fileID: 449356437} + m_Layer: 0 + m_Name: rctrl:b_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &449356436 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4259379013194602, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 449356435} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &449356437 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137130966058281504, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 449356435} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 619227351} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 619227351} + m_AABB: + m_Center: {x: 0.000000345055, y: -0.0000009192154, z: 0.0003571303} + m_Extent: {x: 0.0050524976, y: 0.0050528734, z: 0.0025179689} + m_DirtyAABB: 0 +--- !u!1 &457172733 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1928054476239690, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 457172734} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &457172734 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4840170697158152, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 457172733} + m_LocalRotation: {x: -0.030843565, y: -0.7064338, z: 0.030843565, w: 0.7064338} + m_LocalPosition: {x: -0, y: 0.75, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &461819530 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1181828502341800, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 461819531} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &461819531 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4396520640128694, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 461819530} + m_LocalRotation: {x: 0.46193975, y: 0.3314136, z: -0.19134171, w: 0.8001032} + m_LocalPosition: {x: 2, y: 2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &461848156 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1316933471644708, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 461848157} + - component: {fileID: 461848159} + - component: {fileID: 461848158} + m_Layer: 0 + m_Name: trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &461848157 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4324592849986106, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 461848156} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &461848158 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23030419055788318, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 461848156} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &461848159 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33585973913264350, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 461848156} + m_Mesh: {fileID: 4300004, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1001 &495341900 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154256} + m_Modifications: + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0e954f7f9b530424892cc05cff3d9e90, type: 2} + m_RootGameObject: {fileID: 2064420694} + m_IsPrefabAsset: 0 +--- !u!1 &509063812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1227483511572584, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 509063813} + - component: {fileID: 509063814} + m_Layer: 0 + m_Name: rctrl:ring_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &509063813 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4875885059110940, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 509063812} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &509063814 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137401003894426430, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 509063812} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 302266328} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 302266328} + m_AABB: + m_Center: {x: -0.016699282, y: 0.010818443, z: -0.036364153} + m_Extent: {x: 0.054633915, y: 0.021678247, z: 0.050220713} + m_DirtyAABB: 0 +--- !u!1 &550265902 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1859534572868060, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 550265903} + - component: {fileID: 550265904} + m_Layer: 0 + m_Name: lctrl:main_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &550265903 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4664232520837576, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 550265902} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &550265904 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137322228149853980, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 550265902} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 2116108982} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2116108982} + m_AABB: + m_Center: {x: -0.0006609438, y: 0.0013324535, z: -0.013972079} + m_Extent: {x: 0.0145619055, y: 0.009363498, z: 0.0133649465} + m_DirtyAABB: 0 +--- !u!1 &555655819 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1344036408324514, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 555655820} + - component: {fileID: 555655822} + - component: {fileID: 555655821} + m_Layer: 0 + m_Name: chassis_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &555655820 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4605323016180494, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 555655819} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &555655821 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23133394067468082, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 555655819} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &555655822 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33778150695240890, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 555655819} + m_Mesh: {fileID: 4300012, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &589659995 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 589659996} + - component: {fileID: 589659999} + - component: {fileID: 589659998} + - component: {fileID: 589659997} + m_Layer: 5 + m_Name: Back + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &589659996 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 589659995} + 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_Children: + - {fileID: 1268788241} + m_Father: {fileID: 894277989} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -429.50006, y: -15} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &589659997 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 589659995} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 589659998} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1682477118} + m_MethodName: OnBackToMenu + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &589659998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 589659995} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &589659999 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 589659995} + m_CullTransparentMesh: 0 +--- !u!1 &616565595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1620100735647344, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 616565596} + m_Layer: 0 + m_Name: rctrl:b_stick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &616565596 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4981202461394642, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 616565595} + m_LocalRotation: {x: -0.003149668, y: 0.7098123, z: 0.002783398, w: 0.7043784} + m_LocalPosition: {x: -0.010637393, y: 0.00497835, z: -0.009418557} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 843075312} + m_Father: {fileID: 302266328} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &619227350 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1629587277045648, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 619227351} + m_Layer: 0 + m_Name: rctrl:b_button02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &619227351 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4279151526622972, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 619227350} + m_LocalRotation: {x: 0.07876507, y: 0.01894126, z: 0.5343878, w: 0.8413483} + m_LocalPosition: {x: 0.009152712, y: 0.0054823146, z: 0.000030916483} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &625320676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1368786237477692, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 625320677} + - component: {fileID: 625320678} + m_Layer: 0 + m_Name: lctrl:o_button_decal_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &625320677 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4482623563880858, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 625320676} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &625320678 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137550241186350902, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 625320676} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1228324733} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1228324733} + m_AABB: + m_Center: {x: 0.000017451588, y: -0.00010048866, z: 0.0012767098} + m_Extent: {x: 0.00211959, y: 0.001628002, z: 0.000015275553} + m_DirtyAABB: 0 +--- !u!1 &632689382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1883902553708476, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 632689383} + - component: {fileID: 632689385} + - component: {fileID: 632689384} + m_Layer: 0 + m_Name: back_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &632689383 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4163330102252882, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 632689382} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &632689384 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23484041705834348, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 632689382} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &632689385 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33886181901218246, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 632689382} + m_Mesh: {fileID: 4300008, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &636953044 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 636953045} + - component: {fileID: 636953047} + - component: {fileID: 636953046} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &636953045 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 636953044} + 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_Children: [] + m_Father: {fileID: 2083009179} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &636953046 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 636953044} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Button +--- !u!222 &636953047 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 636953044} + m_CullTransparentMesh: 0 +--- !u!1 &661936581 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1405654979698792, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 661936582} + m_Layer: 0 + m_Name: rctrl:b_trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &661936582 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4465709660190338, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 661936581} + m_LocalRotation: {x: 0.056604527, y: 0.05795374, z: 0.004675739, w: 0.9967023} + m_LocalPosition: {x: 0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 302266328} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &704602124 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 704602125} + - component: {fileID: 704602128} + - component: {fileID: 704602126} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &704602125 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 3} + m_LocalScale: {x: 0.05, y: 0.05, z: 0.05} + m_Children: [] + m_Father: {fileID: 1770626480} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &704602126 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 02f4d91e963f1e74d8bee0002c24efe7, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &704602128 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704602124} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &710396352 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 710396353} + - component: {fileID: 710396354} + m_Layer: 5 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &710396353 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 710396352} + 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_Children: + - {fileID: 28997316} + - {fileID: 732554004} + - {fileID: 1338802526} + m_Father: {fileID: 894277989} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 174.75, y: 93} + m_SizeDelta: {x: 160, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &710396354 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 710396352} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -113659843, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 16075150} + m_FillRect: {fileID: 1079516604} + m_HandleRect: {fileID: 16075149} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1682477118} + m_MethodName: OnSliderChanged + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!1001 &712002205 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154256} + m_Modifications: + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 411c0b99f954d1d4884fa0d6256933cf, type: 2} + m_RootGameObject: {fileID: 2056146734} + m_IsPrefabAsset: 0 +--- !u!1 &732554003 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 732554004} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &732554004 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 732554003} + 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_Children: + - {fileID: 1079516604} + m_Father: {fileID: 710396353} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &744816570 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1736025349707254, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 744816571} + - component: {fileID: 744816572} + m_Layer: 0 + m_Name: lctrl:surface_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &744816571 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4050214063663426, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 744816570} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &744816572 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137302025403472770, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 744816570} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1013256217} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1013256217} + m_AABB: + m_Center: {x: 0.00016466714, y: 0.00024955533, z: -0.0010734661} + m_Extent: {x: 0.02819586, y: 0.02827545, z: 0.005969927} + m_DirtyAABB: 0 +--- !u!1001 &748154254 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.y + value: 2.8 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + m_RootGameObject: {fileID: 748154259} + m_IsPrefabAsset: 0 +--- !u!4 &748154255 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 487254, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 794560610} + 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_Children: + - {fileID: 1893724369} + - {fileID: 975298712} + m_Father: {fileID: 748154258} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &748154256 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 482130, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 941779213} + 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_Children: + - {fileID: 2064420695} + - {fileID: 2056146735} + m_Father: {fileID: 748154258} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &748154257 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 2037080, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1359711877} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 1000 + field of view: 90 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &748154258 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 459718, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 231878087} + 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_Children: + - {fileID: 2051731369} + - {fileID: 1359711878} + - {fileID: 1323490865} + - {fileID: 268370437} + - {fileID: 748154256} + - {fileID: 748154255} + m_Father: {fileID: 748154261} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &748154259 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100004, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154261} + - component: {fileID: 748154263} + - component: {fileID: 748154262} + - component: {fileID: 748154260} + m_Layer: 0 + m_Name: OVRCameraRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &748154260 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 748154259} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c52963611592b1f4e850fc927ddad8c7, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &748154261 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154259} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.8, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 748154258} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &748154262 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 11400000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154259} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e933e81d3c20c74ea6fdc708a67e3a5, type: 3} + m_Name: + m_EditorClassIdentifier: + queueAhead: 1 + useRecommendedMSAALevel: 0 + _monoscopic: 0 + enableAdaptiveResolution: 0 + minRenderScale: 0.7 + maxRenderScale: 1 + expandMixedRealityCapturePropertySheet: 0 + enableMixedReality: 0 + compositionMethod: 0 + extraHiddenLayers: + serializedVersion: 2 + m_Bits: 0 + capturingCameraDevice: 0 + flipCameraFrameHorizontally: 0 + flipCameraFrameVertically: 0 + handPoseStateLatency: 0 + sandwichCompositionRenderLatency: 0 + sandwichCompositionBufferedFrames: 8 + chromaKeyColor: {r: 0, g: 1, b: 0, a: 1} + chromaKeySimilarity: 0.6 + chromaKeySmoothRange: 0.03 + chromaKeySpillRange: 0.06 + useDynamicLighting: 0 + depthQuality: 1 + dynamicLightingSmoothFactor: 8 + dynamicLightingDepthVariationClampingValue: 0.001 + virtualGreenScreenType: 0 + virtualGreenScreenTopY: 10 + virtualGreenScreenBottomY: -10 + virtualGreenScreenApplyDepthCulling: 0 + virtualGreenScreenDepthTolerance: 0.2 + _trackingOriginType: 0 + usePositionTracking: 1 + useRotationTracking: 1 + useIPDInPositionTracking: 1 + resetTrackerOnLoad: 0 + AllowRecenter: 1 + _reorientHMDOnControllerRecenter: 1 +--- !u!114 &748154263 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 11400010, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 748154259} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df9f338034892c44ebb62d97894772f1, type: 3} + m_Name: + m_EditorClassIdentifier: + usePerEyeCameras: 0 + useFixedUpdateForTracking: 0 +--- !u!1 &761168503 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1971769170389126, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 761168504} + - component: {fileID: 761168505} + m_Layer: 0 + m_Name: rctrl:side_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &761168504 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4912627388869670, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 761168503} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &761168505 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137996489588372456, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 761168503} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 298869261} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 298869261} + m_AABB: + m_Center: {x: 0.015085926, y: 0.00079575554, z: 0.0022845895} + m_Extent: {x: 0.0075142607, y: 0.014562387, z: 0.0074783238} + m_DirtyAABB: 0 +--- !u!1 &785846699 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1757445139830558, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 785846700} + - component: {fileID: 785846701} + m_Layer: 0 + m_Name: lctrl:o_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &785846700 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4866202693471932, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 785846699} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &785846701 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137688407735402816, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 785846699} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300012, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1228324733} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1228324733} + m_AABB: + m_Center: {x: 0.00000037020072, y: 0.00000087032095, z: 0.00057196105} + m_Extent: {x: 0.004508083, y: 0.004509521, z: 0.0007474739} + m_DirtyAABB: 0 +--- !u!1 &794560610 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 113768, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154255} + m_Layer: 0 + m_Name: RightHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &841570894 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1396923449131326, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 841570895} + m_Layer: 0 + m_Name: lctrl:b_button01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &841570895 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4205472914554084, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 841570894} + m_LocalRotation: {x: 0.05660452, y: -0.05795374, z: -0.0046757394, w: 0.9967023} + m_LocalPosition: {x: -0.0019170768, y: -0.0073837424, z: -0.00091214647} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &843075311 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1471450926194158, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 843075312} + m_Layer: 0 + m_Name: rctrl:b_stick_IGNORE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &843075312 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4168601658108038, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 843075311} + m_LocalRotation: {x: -4.5059287e-17, y: -0.70108956, z: -6.5911624e-17, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 616565596} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &894277985 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 894277989} + - component: {fileID: 894277988} + - component: {fileID: 894277987} + - component: {fileID: 894277986} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &894277986 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 894277985} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aee672c7b0743724ea7d0d722d5e6aa2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &894277987 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 894277985} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &894277988 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 894277985} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 748154257} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &894277989 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 894277985} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 30.1} + m_LocalScale: {x: 0.08, y: 0.08, z: 0.08} + m_Children: + - {fileID: 2083009179} + - {fileID: 710396353} + - {fileID: 188486864} + - {fileID: 941537736} + - {fileID: 589659996} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -0.6, y: -5.1} + m_SizeDelta: {x: 509.5, y: 309} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &898218045 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1555327577499684, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 898218046} + m_Layer: 0 + m_Name: lctrl:b_stick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &898218046 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4729919975037316, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 898218045} + m_LocalRotation: {x: 0.0027868259, y: 0.70437866, z: -0.0031505642, w: 0.7098119} + m_LocalPosition: {x: 0.010637393, y: 0.00497835, z: -0.009418557} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1072138620} + m_Father: {fileID: 1013256217} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &913805928 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1687910740213654, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 913805929} + m_Layer: 0 + m_Name: GearVrController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &913805929 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4626355801398802, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 913805928} + 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_Children: + - {fileID: 165223386} + - {fileID: 94380404} + - {fileID: 2059853415} + - {fileID: 1402831252} + - {fileID: 1917830994} + - {fileID: 2035341621} + - {fileID: 1418706866} + m_Father: {fileID: 2056146735} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &940957040 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1175014527457936, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 940957041} + - component: {fileID: 940957042} + m_Layer: 0 + m_Name: lctrl:thumbstick_ball_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &940957041 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4310471275020772, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 940957040} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &940957042 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137648090444452748, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 940957040} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1013256217} + - {fileID: 898218046} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1013256217} + m_AABB: + m_Center: {x: 0.010604477, y: 0.0049807085, z: 0.0022465447} + m_Extent: {x: 0.010754766, y: 0.010751986, z: 0.007853852} + m_DirtyAABB: 0 +--- !u!1 &941537735 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 941537736} + - component: {fileID: 941537738} + - component: {fileID: 941537737} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &941537736 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 941537735} + 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_Children: [] + m_Father: {fileID: 894277989} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -66, y: -15} + m_SizeDelta: {x: 212, y: 250} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &941537737 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 941537735} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Interaction Log: +--- !u!222 &941537738 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 941537735} + m_CullTransparentMesh: 0 +--- !u!1 &941779213 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 109308, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 748154256} + m_Layer: 0 + m_Name: LeftHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &943699329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1381962807238814, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 943699330} + - component: {fileID: 943699331} + m_Layer: 0 + m_Name: lctrl:ring_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &943699330 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4894055992218830, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 943699329} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &943699331 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137900428634002032, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 943699329} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1013256217} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1013256217} + m_AABB: + m_Center: {x: 0.016699282, y: 0.010818447, z: -0.036364146} + m_Extent: {x: 0.054633915, y: 0.02167825, z: 0.050220706} + m_DirtyAABB: 0 +--- !u!1 &975298711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1619383211339418, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 975298712} + - component: {fileID: 975298713} + m_Layer: 0 + m_Name: RTrackedRemote + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &975298712 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 975298711} + 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_Children: + - {fileID: 1862208826} + - {fileID: 93496995} + m_Father: {fileID: 748154255} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &975298713 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114228874124863804, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 975298711} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1862208825} + m_modelOculusGoController: {fileID: 93496994} + m_controller: 33554432 +--- !u!1 &977978992 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1248286026319258, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 977978993} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &977978993 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4742830124717782, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 977978992} + m_LocalRotation: {x: 0.46193975, y: 0.3314136, z: -0.19134171, w: 0.8001032} + m_LocalPosition: {x: 2, y: 2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1013256216 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1109776360024182, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 1013256217} + m_Layer: 0 + m_Name: lctrl:left_touch_controller_world + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1013256217 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4238190259217100, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1013256216} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0.7071068, w: -8.659561e-17} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 841570895} + - {fileID: 1251564401} + - {fileID: 1228324733} + - {fileID: 1039558302} + - {fileID: 898218046} + - {fileID: 2116108982} + m_Father: {fileID: 2064420695} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1039558301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1273683566421700, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 1039558302} + m_Layer: 0 + m_Name: lctrl:b_hold + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1039558302 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4645218192740248, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1039558301} + m_LocalRotation: {x: -0.18065539, y: -0.13555649, z: -0.067166515, w: 0.97184193} + m_LocalPosition: {x: 0.013074442, y: -0.025639696, z: -0.027427113} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1072138619 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1121076711406898, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 1072138620} + m_Layer: 0 + m_Name: lctrl:b_stick_IGNORE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1072138620 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4287199084857482, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1072138619} + m_LocalRotation: {x: 0, y: -0.70108956, z: -0, w: 0.71307325} + m_LocalPosition: {x: -0.019321036, y: 0, z: 9.992007e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 898218046} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1079516603 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1079516604} + - component: {fileID: 1079516606} + - component: {fileID: 1079516605} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1079516604 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1079516603} + 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_Children: [] + m_Father: {fileID: 732554004} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1079516605 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1079516603} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1079516606 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1079516603} + m_CullTransparentMesh: 0 +--- !u!1 &1083577350 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1978692640859942, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 1083577351} + - component: {fileID: 1083577352} + m_Layer: 0 + m_Name: lctrl:x_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1083577351 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4187468707828572, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1083577350} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1083577352 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137862092734697462, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1083577350} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 841570895} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 841570895} + m_AABB: + m_Center: {x: -0.00000072829425, y: 0.000013418496, z: 0.0004995642} + m_Extent: {x: 0.0050891023, y: 0.005111114, z: 0.0025754946} + m_DirtyAABB: 0 +--- !u!1 &1087673783 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1747413968376996, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 1087673784} + - component: {fileID: 1087673785} + m_Layer: 0 + m_Name: lctrl:y_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1087673784 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4673567786913772, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1087673783} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1087673785 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137029252293597264, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1087673783} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1251564401} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1251564401} + m_AABB: + m_Center: {x: 0.0000023958273, y: -0.000002474524, z: 0.0004961197} + m_Extent: {x: 0.005060065, y: 0.0050237104, z: 0.0025072566} + m_DirtyAABB: 0 +--- !u!1 &1094220634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1320820836912368, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 1094220635} + m_Layer: 0 + m_Name: Texture Group (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1094220635 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4416755117851086, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 1094220634} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1126024193 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1686775197120014, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 1126024194} + m_Layer: 0 + m_Name: Texture Group + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1126024194 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4431570018244114, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1126024193} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1182496352 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1882586662293422, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 1182496353} + - component: {fileID: 1182496355} + - component: {fileID: 1182496354} + m_Layer: 0 + m_Name: center_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1182496353 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4799854660562368, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 1182496352} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1182496354 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23281082922435582, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 1182496352} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1182496355 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33100618622131046, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 1182496352} + m_Mesh: {fileID: 4300002, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1201202987 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1083255323522338, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 1201202988} + - component: {fileID: 1201202990} + - component: {fileID: 1201202989} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1201202988 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4690604795820296, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1201202987} + 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_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1201202989 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23506773129304874, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1201202987} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: 4b64c74a165ab944995c86640c16457e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1201202990 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33917518887091280, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1201202987} + m_Mesh: {fileID: 4300000, guid: 2f2ef4c81a28b3d49a5b57f888743989, type: 3} +--- !u!1 &1206656643 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1206656645} + - component: {fileID: 1206656644} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1206656644 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206656643} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1206656645 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206656643} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1215934124 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1400594226618500, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 1215934125} + - component: {fileID: 1215934126} + m_Layer: 0 + m_Name: lctrl:side_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1215934125 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4581203518760102, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1215934124} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1215934126 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137021319933803464, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1215934124} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1039558302} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1039558302} + m_AABB: + m_Center: {x: -0.015075568, y: -0.000016345643, z: 0.0018507424} + m_Extent: {x: 0.0069265533, y: 0.014548335, z: 0.007307569} + m_DirtyAABB: 0 +--- !u!1 &1228324732 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1625696427827932, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 1228324733} + m_Layer: 0 + m_Name: lctrl:b_button03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1228324733 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4686602471241882, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1228324732} + m_LocalRotation: {x: 0.05660452, y: -0.05795374, z: -0.0046757394, w: 0.9967023} + m_LocalPosition: {x: 0.012083728, y: -0.01402681, z: -0.0007126567} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1251564400 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1987113674554976, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 1251564401} + m_Layer: 0 + m_Name: lctrl:b_button02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1251564401 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4958792791304930, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1251564400} + m_LocalRotation: {x: 0.017080953, y: -0.07918932, z: 0.52647054, w: 0.84632504} + m_LocalPosition: {x: -0.0091353385, y: 0.005499125, z: -0.00011681918} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1268788240 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1268788241} + - component: {fileID: 1268788243} + - component: {fileID: 1268788242} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1268788241 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1268788240} + 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_Children: [] + m_Father: {fileID: 589659996} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1268788242 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1268788240} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Back to scene select +--- !u!222 &1268788243 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1268788240} + m_CullTransparentMesh: 0 +--- !u!1 &1323490864 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 1323490865} + - component: {fileID: 1323490866} + m_Layer: 0 + m_Name: RightEyeAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1323490865 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1323490864} + 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_Children: [] + m_Father: {fileID: 748154258} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &1323490866 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 20000010189485334, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1323490864} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 2 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &1326308135 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1841092496795574, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 1326308136} + m_Layer: 0 + m_Name: Texture Group (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1326308136 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4296782787959290, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 1326308135} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1338802525 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1338802526} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1338802526 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1338802525} + 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_Children: + - {fileID: 16075149} + m_Father: {fileID: 710396353} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1359711877 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100002, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 1359711878} + - component: {fileID: 1359711879} + - component: {fileID: 748154257} + m_Layer: 0 + m_Name: CenterEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1359711878 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400002, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1359711877} + 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_Children: [] + m_Father: {fileID: 748154258} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!81 &1359711879 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 8100000, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 1359711877} + m_Enabled: 1 +--- !u!1 &1372448693 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1044639065548258, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 1372448694} + - component: {fileID: 1372448695} + m_Layer: 0 + m_Name: rctrl:a_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1372448694 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4718947254803156, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 1372448693} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1372448695 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137970806874392016, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 1372448693} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 14083524} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 14083524} + m_AABB: + m_Center: {x: 0.0000007292256, y: 0.000013417564, z: 0.00051031867} + m_Extent: {x: 0.0050891023, y: 0.005111115, z: 0.0025862483} + m_DirtyAABB: 0 +--- !u!1 &1402831251 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1519125787895902, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 1402831252} + - component: {fileID: 1402831254} + - component: {fileID: 1402831253} + m_Layer: 0 + m_Name: disc_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1402831252 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4822202288540890, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1402831251} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1402831253 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23031768250379678, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1402831251} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1402831254 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33733391811933146, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1402831251} + m_Mesh: {fileID: 4300010, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1403749905 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1403749906} + - component: {fileID: 1403749908} + - component: {fileID: 1403749907} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1403749906 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1403749905} + 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_Children: + - {fileID: 1724200562} + m_Father: {fileID: 188486864} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 10, y: -10} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1403749907 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1403749905} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1403749908 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1403749905} + m_CullTransparentMesh: 0 +--- !u!1 &1418706865 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1054859093032942, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 1418706866} + - component: {fileID: 1418706868} + - component: {fileID: 1418706867} + m_Layer: 0 + m_Name: trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1418706866 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4842731919319380, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1418706865} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1418706867 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23701497806254902, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1418706865} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1418706868 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33389899558344730, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1418706865} + m_Mesh: {fileID: 4300004, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1420737456 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1552281567235398, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 1420737457} + m_Layer: 0 + m_Name: OculusGoController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1420737457 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4983237797735506, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1420737456} + 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_Children: + - {fileID: 2042516811} + - {fileID: 461819531} + - {fileID: 1201202988} + - {fileID: 1126024194} + - {fileID: 206426867} + - {fileID: 52161330} + - {fileID: 286433908} + m_Father: {fileID: 2056146735} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1541232627 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1483146546636720, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 1541232628} + - component: {fileID: 1541232629} + m_Layer: 0 + m_Name: rctrl:main_trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1541232628 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4973428937398324, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 1541232627} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1541232629 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137893484049802790, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 1541232627} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 661936582} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 661936582} + m_AABB: + m_Center: {x: -0.0006609438, y: -0.0013324562, z: -0.013972085} + m_Extent: {x: 0.014561905, y: 0.009363498, z: 0.013364948} + m_DirtyAABB: 0 +--- !u!1 &1612599472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1213770487344620, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 1612599473} + m_Layer: 0 + m_Name: rctrl:geometry_null + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1612599473 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4269300792470906, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 1612599472} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1372448694} + - {fileID: 449356436} + - {fileID: 2017267103} + - {fileID: 1541232628} + - {fileID: 38351096} + - {fileID: 342810430} + - {fileID: 509063813} + - {fileID: 761168504} + - {fileID: 445744156} + - {fileID: 2069773759} + m_Father: {fileID: 1893724369} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1682477117 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1682477119} + - component: {fileID: 1682477118} + m_Layer: 0 + m_Name: Interaction + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1682477118 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1682477117} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a42657cd72591c449cf96836acc166c, type: 3} + m_Name: + m_EditorClassIdentifier: + outText: {fileID: 941537737} +--- !u!4 &1682477119 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1682477117} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1694502646 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1694502649} + - component: {fileID: 1694502648} + - component: {fileID: 1694502647} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1694502647 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1694502646} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4a9c50de96f6d04386957f4741ac65c, type: 3} + m_Name: + m_EditorClassIdentifier: + trackingSpace: {fileID: 748154258} + joyPadClickButton: 8192 + performSphereCastForGazepointer: 0 + matchNormalOnPhysicsColliders: 0 + useLeftStickScroll: 1 + leftStickDeadZone: 0.15 + useSwipeScroll: 1 + minSwipeMovement: 0 + swipeScrollScale: 4 + activeController: 0 + angleDragThreshold: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_AllowActivationOnMobileDevice: 1 +--- !u!114 &1694502648 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1694502646} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1694502649 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1694502646} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1704615435 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1808661097943962, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 1704615436} + - component: {fileID: 1704615437} + m_Layer: 0 + m_Name: lctrl:controller_body_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1704615436 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4835918886493410, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1704615435} + 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_Children: [] + m_Father: {fileID: 1935032667} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1704615437 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137034633232802846, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1704615435} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: 1bf8f52eeebe8e149b9d6e3477251532, type: 3} + m_Bones: + - {fileID: 1013256217} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1013256217} + m_AABB: + m_Center: {x: 0.0012377053, y: -0.01906057, z: -0.031179678} + m_Extent: {x: 0.030484851, y: 0.051344883, z: 0.03589144} + m_DirtyAABB: 0 +--- !u!1 &1705099740 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1705099743} + - component: {fileID: 1705099742} + - component: {fileID: 1705099741} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1705099741 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1705099742 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1705099743 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705099740} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 1, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1724200561 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1724200562} + - component: {fileID: 1724200564} + - component: {fileID: 1724200563} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1724200562 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1724200561} + 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_Children: [] + m_Father: {fileID: 1403749906} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1724200563 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1724200561} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1724200564 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1724200561} + m_CullTransparentMesh: 0 +--- !u!1 &1751710622 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1603644047585796, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 1751710623} + m_Layer: 0 + m_Name: Texture Group (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1751710623 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4370971803418792, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 1751710622} + 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_Children: [] + m_Father: {fileID: 93496995} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1770626477 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1770626480} + - component: {fileID: 1770626479} + - component: {fileID: 1770626478} + m_Layer: 0 + m_Name: SelectionVisualizer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!120 &1770626478 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 0} + - {fileID: 2100000, guid: 02f4d91e963f1e74d8bee0002c24efe7, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 2 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &1770626479 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 12283131fa5724f44b343883ae474072, type: 3} + m_Name: + m_EditorClassIdentifier: + trackingSpace: {fileID: 748154258} + linePointer: {fileID: 1770626478} + gazePointer: {fileID: 704602125} + rayDrawDistance: 500 + gazeDrawDistance: 3 + activeController: 0 +--- !u!4 &1770626480 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770626477} + 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_Children: + - {fileID: 704602125} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1862208825 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1302709279893250, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 1862208826} + m_Layer: 0 + m_Name: GearVrController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1862208826 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4254853810062738, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 1862208825} + 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_Children: + - {fileID: 632689383} + - {fileID: 1182496353} + - {fileID: 555655820} + - {fileID: 55118177} + - {fileID: 335419916} + - {fileID: 1997668891} + - {fileID: 461848157} + m_Father: {fileID: 975298712} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1893724368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1204236285207998, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 1893724369} + - component: {fileID: 1893724370} + m_Layer: 0 + m_Name: RTouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1893724369 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 1893724368} + 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_Children: + - {fileID: 1612599473} + - {fileID: 302266328} + m_Father: {fileID: 748154255} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1893724370 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114584869579924024, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 1893724368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1893724368} + m_modelOculusGoController: {fileID: 1893724368} + m_controller: 2 +--- !u!1 &1917830993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1747123517546552, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 1917830994} + - component: {fileID: 1917830996} + - component: {fileID: 1917830995} + m_Layer: 0 + m_Name: home_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1917830994 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4652644063180642, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1917830993} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1917830995 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23172198679712168, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1917830993} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1917830996 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33747868560225156, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 1917830993} + m_Mesh: {fileID: 4300006, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &1935032666 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1710745798956080, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 1935032667} + m_Layer: 0 + m_Name: lctrl:geometry_null + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1935032667 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4456158541893084, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 1935032666} + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1704615436} + - {fileID: 550265903} + - {fileID: 625320677} + - {fileID: 785846700} + - {fileID: 943699330} + - {fileID: 1215934125} + - {fileID: 744816571} + - {fileID: 940957041} + - {fileID: 1083577351} + - {fileID: 1087673784} + m_Father: {fileID: 2064420695} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1979525442 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154255} + m_Modifications: + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4594548389767280, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 984fe22eb9d4149408538777a3d14988, type: 2} + m_RootGameObject: {fileID: 1893724368} + m_IsPrefabAsset: 0 +--- !u!1 &1997668890 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1547170486280282, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + serializedVersion: 6 + m_Component: + - component: {fileID: 1997668891} + - component: {fileID: 1997668893} + - component: {fileID: 1997668892} + m_Layer: 0 + m_Name: text_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1997668891 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4298839253072560, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 1997668890} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1862208826} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1997668892 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23629277104320488, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 1997668890} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1997668893 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33227895672347990, guid: 5c706126fee98a74ea509233e2a32a7f, + type: 2} + m_PrefabInternal: {fileID: 2136567702} + m_GameObject: {fileID: 1997668890} + m_Mesh: {fileID: 4300000, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &2017267102 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1569199330813010, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 2017267103} + - component: {fileID: 2017267104} + m_Layer: 0 + m_Name: rctrl:controller_body_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2017267103 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4557562491589872, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 2017267102} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2017267104 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137937078754769558, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 2017267102} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300012, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 302266328} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 302266328} + m_AABB: + m_Center: {x: -0.0012377053, y: -0.019060574, z: -0.031160347} + m_Extent: {x: 0.030484851, y: 0.051344886, z: 0.035910763} + m_DirtyAABB: 0 +--- !u!1 &2035341620 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1130681504925616, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 2035341621} + - component: {fileID: 2035341623} + - component: {fileID: 2035341622} + m_Layer: 0 + m_Name: text_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2035341621 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4864699852922402, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 2035341620} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2035341622 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23878245367906148, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 2035341620} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &2035341623 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33355214589814526, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 2035341620} + m_Mesh: {fileID: 4300000, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &2042516810 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1788637526737978, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 2042516811} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2042516811 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4525814746143240, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 2042516810} + m_LocalRotation: {x: -0.030843565, y: -0.7064338, z: 0.030843565, w: 0.7064338} + m_LocalPosition: {x: -0, y: 0.75, z: 4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1420737457} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2051731368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 100006, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + serializedVersion: 6 + m_Component: + - component: {fileID: 2051731369} + - component: {fileID: 2051731370} + m_Layer: 0 + m_Name: LeftEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2051731369 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 400006, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 2051731368} + 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_Children: [] + m_Father: {fileID: 748154258} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &2051731370 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 20000012175207052, guid: 126d619cf4daa52469682f85c1378b4a, + type: 2} + m_PrefabInternal: {fileID: 748154254} + m_GameObject: {fileID: 2051731368} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 1 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &2056146734 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1495718994041264, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 2056146735} + - component: {fileID: 2056146736} + m_Layer: 0 + m_Name: LTrackedRemote + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2056146735 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4965781047894976, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 2056146734} + 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_Children: + - {fileID: 913805929} + - {fileID: 1420737457} + m_Father: {fileID: 748154256} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2056146736 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114318095738077550, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 2056146734} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 913805928} + m_modelOculusGoController: {fileID: 1420737456} + m_controller: 16777216 +--- !u!1 &2059853414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1672242236952754, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + serializedVersion: 6 + m_Component: + - component: {fileID: 2059853415} + - component: {fileID: 2059853417} + - component: {fileID: 2059853416} + m_Layer: 0 + m_Name: chassis_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2059853415 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4865563946502246, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 2059853414} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 913805929} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2059853416 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 23463007473532904, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 2059853414} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d956f361c88f78a45b09fa78d7636baf, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &2059853417 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 33301716791474086, guid: 411c0b99f954d1d4884fa0d6256933cf, + type: 2} + m_PrefabInternal: {fileID: 712002205} + m_GameObject: {fileID: 2059853414} + m_Mesh: {fileID: 4300012, guid: c515c245eef79834ca4097a5367d0a89, type: 3} +--- !u!1 &2064420694 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1249364222358160, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 2064420695} + - component: {fileID: 2064420696} + m_Layer: 0 + m_Name: LTouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2064420695 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4978508713063604, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 2064420694} + 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_Children: + - {fileID: 1935032667} + - {fileID: 1013256217} + m_Father: {fileID: 748154256} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2064420696 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 114694055904687676, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 2064420694} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 2064420694} + m_modelOculusGoController: {fileID: 2064420694} + m_controller: 1 +--- !u!1 &2069773758 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1095698897398270, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + serializedVersion: 6 + m_Component: + - component: {fileID: 2069773759} + - component: {fileID: 2069773760} + m_Layer: 0 + m_Name: rctrl:thumbstick_ball_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2069773759 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4713390451513730, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 2069773758} + 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_Children: [] + m_Father: {fileID: 1612599473} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2069773760 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 137867182389646434, guid: 984fe22eb9d4149408538777a3d14988, + type: 2} + m_PrefabInternal: {fileID: 1979525442} + m_GameObject: {fileID: 2069773758} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 2100000, guid: d8a202bc350b09c4e808ea37c6929755, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: 270ca9aaa39af4d4bb26754fdce0c971, type: 3} + m_Bones: + - {fileID: 302266328} + - {fileID: 616565596} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 302266328} + m_AABB: + m_Center: {x: -0.01054777, y: 0.004984765, z: 0.00224772} + m_Extent: {x: 0.010899382, y: 0.010843774, z: 0.007860384} + m_DirtyAABB: 0 +--- !u!1 &2083009178 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2083009179} + - component: {fileID: 2083009182} + - component: {fileID: 2083009181} + - component: {fileID: 2083009180} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2083009179 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2083009178} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.99999994, y: 0.99999994, z: 0.99999994} + m_Children: + - {fileID: 636953045} + m_Father: {fileID: 894277989} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -79.999985, y: -15} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2083009180 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2083009178} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2083009181} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1682477118} + m_MethodName: OnButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &2083009181 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2083009178} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2083009182 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2083009178} + m_CullTransparentMesh: 0 +--- !u!1 &2116108981 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 1855455462485234, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + serializedVersion: 6 + m_Component: + - component: {fileID: 2116108982} + m_Layer: 0 + m_Name: lctrl:b_trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2116108982 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 4894334680272574, guid: 0e954f7f9b530424892cc05cff3d9e90, + type: 2} + m_PrefabInternal: {fileID: 495341900} + m_GameObject: {fileID: 2116108981} + m_LocalRotation: {x: -0.05795374, y: -0.05660452, z: 0.9967023, w: 0.0046757394} + m_LocalPosition: {x: -0.001420367, y: 0.021865888, z: -0.005495974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1013256217} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &2136567702 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 748154255} + m_Modifications: + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4761956870075864, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 5c706126fee98a74ea509233e2a32a7f, type: 2} + m_RootGameObject: {fileID: 975298711} + m_IsPrefabAsset: 0 diff --git a/Assets/OVRInputSelection/Scenes/selection_ui.unity.meta b/Assets/OVRInputSelection/Scenes/selection_ui.unity.meta new file mode 100644 index 0000000..3a4dfa9 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_ui.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7adfd19eba27b40748b2a0f7ae856c08 +timeCreated: 1512456148 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_ui/LightingData.asset b/Assets/OVRInputSelection/Scenes/selection_ui/LightingData.asset new file mode 100644 index 0000000..4527381 Binary files /dev/null and b/Assets/OVRInputSelection/Scenes/selection_ui/LightingData.asset differ diff --git a/Assets/OVRInputSelection/Scenes/selection_ui/LightingData.asset.meta b/Assets/OVRInputSelection/Scenes/selection_ui/LightingData.asset.meta new file mode 100644 index 0000000..8825352 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_ui/LightingData.asset.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b555feb31bc66454bab5187e8c36cf00 +timeCreated: 1512502182 +licenseType: Pro +NativeFormatImporter: + mainObjectFileID: 25800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scenes/selection_ui/ReflectionProbe-0.exr b/Assets/OVRInputSelection/Scenes/selection_ui/ReflectionProbe-0.exr new file mode 100644 index 0000000..b3715ef Binary files /dev/null and b/Assets/OVRInputSelection/Scenes/selection_ui/ReflectionProbe-0.exr differ diff --git a/Assets/OVRInputSelection/Scenes/selection_ui/ReflectionProbe-0.exr.meta b/Assets/OVRInputSelection/Scenes/selection_ui/ReflectionProbe-0.exr.meta new file mode 100644 index 0000000..7473f25 --- /dev/null +++ b/Assets/OVRInputSelection/Scenes/selection_ui/ReflectionProbe-0.exr.meta @@ -0,0 +1,69 @@ +fileFormatVersion: 2 +guid: 09a62d59cc0d306498b2d87748cebe1c +timeCreated: 1512502182 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: + 8900000: generatedCubemap + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 1 + seamlessCubemap: 1 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: 2 + aniso: 0 + mipBias: 0 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 2 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 100 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scripts.meta b/Assets/OVRInputSelection/Scripts.meta new file mode 100644 index 0000000..9a58466 --- /dev/null +++ b/Assets/OVRInputSelection/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cdd2cba39f9447040bb366fbf3b0bb1e +folderAsset: yes +timeCreated: 1512377603 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scripts/BackButtonLogic.cs b/Assets/OVRInputSelection/Scripts/BackButtonLogic.cs new file mode 100644 index 0000000..5c89d77 --- /dev/null +++ b/Assets/OVRInputSelection/Scripts/BackButtonLogic.cs @@ -0,0 +1,51 @@ +/************************************************************************************ + +Copyright : Copyright 2017-Present Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License"); +you may not use the Oculus VR Rift 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 + +http://www.oculusvr.com/licenses/LICENSE-3.2 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using UnityEngine.SceneManagement; + +public class BackButtonLogic : MonoBehaviour { + bool buttonPressed = false; + + void Update() { + if (OVRInput.GetDown(OVRInput.Button.Back) || Input.GetKeyDown(KeyCode.Escape)) { + buttonPressed = true; + } + + if (buttonPressed && (OVRInput.GetUp(OVRInput.Button.Back) || Input.GetKeyUp(KeyCode.Escape))) { + buttonPressed = false; + Scene scene = SceneManager.GetActiveScene(); + + if (scene.name == "main") { +#if UNITY_ANDROID && !UNITY_EDITOR + OVRManager.PlatformUIConfirmQuit(); +#endif + } + else { + SceneManager.LoadScene("main", LoadSceneMode.Single); + } + } + + if (OVRInput.GetUp(OVRInput.Button.Back) || Input.GetKeyUp(KeyCode.Escape)) { + buttonPressed = false; + } + } +} diff --git a/Assets/OVRInputSelection/Scripts/BackButtonLogic.cs.meta b/Assets/OVRInputSelection/Scripts/BackButtonLogic.cs.meta new file mode 100644 index 0000000..5f3994a --- /dev/null +++ b/Assets/OVRInputSelection/Scripts/BackButtonLogic.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c52963611592b1f4e850fc927ddad8c7 +timeCreated: 1512508539 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scripts/MainMenuInteraction.cs b/Assets/OVRInputSelection/Scripts/MainMenuInteraction.cs new file mode 100644 index 0000000..3672625 --- /dev/null +++ b/Assets/OVRInputSelection/Scripts/MainMenuInteraction.cs @@ -0,0 +1,38 @@ +/************************************************************************************ + +Copyright : Copyright 2017-Present Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License"); +you may not use the Oculus VR Rift 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 + +http://www.oculusvr.com/licenses/LICENSE-3.2 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using UnityEngine.SceneManagement; + +public class MainMenuInteraction : MonoBehaviour { + public void OnLoadUI() { + SceneManager.LoadScene("selection_ui", LoadSceneMode.Single); + } + public void OnLoadRaw() { + SceneManager.LoadScene("selection_raw", LoadSceneMode.Single); + } + public void OnLoadEvent() { + SceneManager.LoadScene("selection_physics", LoadSceneMode.Single); + } + public void OnLoadAllInOne() { + SceneManager.LoadScene("selection_all", LoadSceneMode.Single); + } +} diff --git a/Assets/OVRInputSelection/Scripts/MainMenuInteraction.cs.meta b/Assets/OVRInputSelection/Scripts/MainMenuInteraction.cs.meta new file mode 100644 index 0000000..c2281d9 --- /dev/null +++ b/Assets/OVRInputSelection/Scripts/MainMenuInteraction.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8d0b8b3fa3583fa479057753e1cfa754 +timeCreated: 1512379608 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scripts/PhysicsInteraction.cs b/Assets/OVRInputSelection/Scripts/PhysicsInteraction.cs new file mode 100644 index 0000000..b1e43a0 --- /dev/null +++ b/Assets/OVRInputSelection/Scripts/PhysicsInteraction.cs @@ -0,0 +1,62 @@ +/************************************************************************************ + +Copyright : Copyright 2017-Present Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License"); +you may not use the Oculus VR Rift 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 + +http://www.oculusvr.com/licenses/LICENSE-3.2 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using UnityEngine.AI; +using UnityEngine.EventSystems; +using UnityEngine.SceneManagement; + + +namespace ControllerSelection { + public class PhysicsInteraction : MonoBehaviour { + public NavMeshAgent agent; + public const float navMeshSampleDistance = 4f; + public UnityEngine.UI.Text outText; + + private void Awake() { + agent.updateRotation = false; + } + + public void OnGroundClick(BaseEventData data) { + OVRRayPointerEventData pData = (OVRRayPointerEventData)data; + Vector3 destinationPosition = Vector3.zero; + NavMeshHit hit; + if (NavMesh.SamplePosition(pData.pointerCurrentRaycast.worldPosition, out hit, navMeshSampleDistance, NavMesh.AllAreas)) { + destinationPosition = hit.position; + } + else { + destinationPosition = pData.pointerCurrentRaycast.worldPosition; + } + + agent.isStopped = true; + agent.SetDestination(destinationPosition); + agent.isStopped = false; + + if (outText != null) { + outText.text = "Last Interaction:\nNavigate to: (" + destinationPosition.x + ", " + destinationPosition.y + ", " + destinationPosition.z + ")"; + } + } + + public void OnBackClick(BaseEventData data) { + SceneManager.LoadScene("main", LoadSceneMode.Single); + } + } +} \ No newline at end of file diff --git a/Assets/OVRInputSelection/Scripts/PhysicsInteraction.cs.meta b/Assets/OVRInputSelection/Scripts/PhysicsInteraction.cs.meta new file mode 100644 index 0000000..107fd41 --- /dev/null +++ b/Assets/OVRInputSelection/Scripts/PhysicsInteraction.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1189ca8b34bccff47bad0a297bd32791 +timeCreated: 1512500256 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scripts/RawInteraction.cs b/Assets/OVRInputSelection/Scripts/RawInteraction.cs new file mode 100644 index 0000000..5a0eac7 --- /dev/null +++ b/Assets/OVRInputSelection/Scripts/RawInteraction.cs @@ -0,0 +1,66 @@ +/************************************************************************************ + +Copyright : Copyright 2017-Present Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License"); +you may not use the Oculus VR Rift 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 + +http://www.oculusvr.com/licenses/LICENSE-3.2 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using UnityEngine.SceneManagement; + +public class RawInteraction : MonoBehaviour { + protected Material oldHoverMat; + public Material yellowMat; + public Material backIdle; + public Material backACtive; + public UnityEngine.UI.Text outText; + + public void OnHoverEnter(Transform t) { + if (t.gameObject.name == "BackButton") { + t.gameObject.GetComponent().material = backACtive; + } + else { + oldHoverMat = t.gameObject.GetComponent().material; + t.gameObject.GetComponent().material = yellowMat; + } + if (outText != null) { + outText.text = "Last Interaction:\nHover Enter:" + t.gameObject.name; + } + } + + public void OnHoverExit(Transform t) { + if (t.gameObject.name == "BackButton") { + t.gameObject.GetComponent().material = backIdle; + } + else { + t.gameObject.GetComponent().material = oldHoverMat; + } + if (outText != null) { + outText.text = "Last Interaction:\nHover Exit:" + t.gameObject.name; + } + } + + public void OnSelected(Transform t) { + if (t.gameObject.name == "BackButton") { + SceneManager.LoadScene("main", LoadSceneMode.Single); + } + Debug.Log("Clicked on " + t.gameObject.name); + if (outText != null) { + outText.text = "Last Interaction:\nClicked On:" + t.gameObject.name; + } + } +} diff --git a/Assets/OVRInputSelection/Scripts/RawInteraction.cs.meta b/Assets/OVRInputSelection/Scripts/RawInteraction.cs.meta new file mode 100644 index 0000000..8411090 --- /dev/null +++ b/Assets/OVRInputSelection/Scripts/RawInteraction.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 43034b73b1ab62b409e7c11bfffd57ef +timeCreated: 1512379608 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Scripts/UIInteraction.cs b/Assets/OVRInputSelection/Scripts/UIInteraction.cs new file mode 100644 index 0000000..6100adc --- /dev/null +++ b/Assets/OVRInputSelection/Scripts/UIInteraction.cs @@ -0,0 +1,55 @@ +/************************************************************************************ + +Copyright : Copyright 2017-Present Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License"); +you may not use the Oculus VR Rift 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 + +http://www.oculusvr.com/licenses/LICENSE-3.2 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using UnityEngine.SceneManagement; + +public class UIInteraction : MonoBehaviour { + public UnityEngine.UI.Text outText; + + public void OnButtonClicked() { + if (outText != null) { + outText.text = "Last Interaction:\nUI Button clicked"; + } + } + + public void OnSliderChanged(float value) { + if (outText != null) { + outText.text = "Last Interaction:\nUI Slider value: " + value; + } + } + + public void OnToggleChanged(bool value) { + if (outText != null) { + outText.text = "Last Interaction:\nUI toggle value: " + value; + } + } + + public void OnClearText() { + if (outText != null) { + outText.text = ""; + } + } + + public void OnBackToMenu() { + SceneManager.LoadScene("main", LoadSceneMode.Single); + } +} diff --git a/Assets/OVRInputSelection/Scripts/UIInteraction.cs.meta b/Assets/OVRInputSelection/Scripts/UIInteraction.cs.meta new file mode 100644 index 0000000..3c9b1b7 --- /dev/null +++ b/Assets/OVRInputSelection/Scripts/UIInteraction.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7a42657cd72591c449cf96836acc166c +timeCreated: 1512379608 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Textures.meta b/Assets/OVRInputSelection/Textures.meta new file mode 100644 index 0000000..ab10494 --- /dev/null +++ b/Assets/OVRInputSelection/Textures.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1efbf13cd2705f645bb6af7d9153a274 +folderAsset: yes +timeCreated: 1512498630 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Textures/back_button_acive.png b/Assets/OVRInputSelection/Textures/back_button_acive.png new file mode 100644 index 0000000..dee35b4 Binary files /dev/null and b/Assets/OVRInputSelection/Textures/back_button_acive.png differ diff --git a/Assets/OVRInputSelection/Textures/back_button_acive.png.meta b/Assets/OVRInputSelection/Textures/back_button_acive.png.meta new file mode 100644 index 0000000..6b31571 --- /dev/null +++ b/Assets/OVRInputSelection/Textures/back_button_acive.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 79a1751fa7331b044b93be092b59625e +timeCreated: 1512499479 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Textures/back_button_idle.png b/Assets/OVRInputSelection/Textures/back_button_idle.png new file mode 100644 index 0000000..da2896d Binary files /dev/null and b/Assets/OVRInputSelection/Textures/back_button_idle.png differ diff --git a/Assets/OVRInputSelection/Textures/back_button_idle.png.meta b/Assets/OVRInputSelection/Textures/back_button_idle.png.meta new file mode 100644 index 0000000..233191a --- /dev/null +++ b/Assets/OVRInputSelection/Textures/back_button_idle.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 01bcacb1cbca1374b98ecaeac1f669d0 +timeCreated: 1512499428 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Textures/physics_instruction.png b/Assets/OVRInputSelection/Textures/physics_instruction.png new file mode 100644 index 0000000..9385ca7 Binary files /dev/null and b/Assets/OVRInputSelection/Textures/physics_instruction.png differ diff --git a/Assets/OVRInputSelection/Textures/physics_instruction.png.meta b/Assets/OVRInputSelection/Textures/physics_instruction.png.meta new file mode 100644 index 0000000..58071a7 --- /dev/null +++ b/Assets/OVRInputSelection/Textures/physics_instruction.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: cd330898e1150e8439e4df01fea43964 +timeCreated: 1512500689 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Textures/screenshot_all.png b/Assets/OVRInputSelection/Textures/screenshot_all.png new file mode 100644 index 0000000..6b8e23d Binary files /dev/null and b/Assets/OVRInputSelection/Textures/screenshot_all.png differ diff --git a/Assets/OVRInputSelection/Textures/screenshot_all.png.meta b/Assets/OVRInputSelection/Textures/screenshot_all.png.meta new file mode 100644 index 0000000..710a55f --- /dev/null +++ b/Assets/OVRInputSelection/Textures/screenshot_all.png.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: c85e01b12adaaef42bfa2f8eaa8c6775 +timeCreated: 1512502617 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Textures/screenshot_physics.png b/Assets/OVRInputSelection/Textures/screenshot_physics.png new file mode 100644 index 0000000..ec6faff Binary files /dev/null and b/Assets/OVRInputSelection/Textures/screenshot_physics.png differ diff --git a/Assets/OVRInputSelection/Textures/screenshot_physics.png.meta b/Assets/OVRInputSelection/Textures/screenshot_physics.png.meta new file mode 100644 index 0000000..c3525ec --- /dev/null +++ b/Assets/OVRInputSelection/Textures/screenshot_physics.png.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: 08cab6c84d1d0f043a5496bc97a744da +timeCreated: 1512502616 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Textures/screenshot_raw.png b/Assets/OVRInputSelection/Textures/screenshot_raw.png new file mode 100644 index 0000000..6f21fc0 Binary files /dev/null and b/Assets/OVRInputSelection/Textures/screenshot_raw.png differ diff --git a/Assets/OVRInputSelection/Textures/screenshot_raw.png.meta b/Assets/OVRInputSelection/Textures/screenshot_raw.png.meta new file mode 100644 index 0000000..f49681d --- /dev/null +++ b/Assets/OVRInputSelection/Textures/screenshot_raw.png.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: d7b2d40a5fe539f4d9315528e230265c +timeCreated: 1512502617 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/OVRInputSelection/Textures/screenshot_ui.png b/Assets/OVRInputSelection/Textures/screenshot_ui.png new file mode 100644 index 0000000..764f09d Binary files /dev/null and b/Assets/OVRInputSelection/Textures/screenshot_ui.png differ diff --git a/Assets/OVRInputSelection/Textures/screenshot_ui.png.meta b/Assets/OVRInputSelection/Textures/screenshot_ui.png.meta new file mode 100644 index 0000000..9c65e4a --- /dev/null +++ b/Assets/OVRInputSelection/Textures/screenshot_ui.png.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: 27a7839379f859b44ae0f1e694c2995e +timeCreated: 1512502616 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus.meta b/Assets/Oculus.meta new file mode 100644 index 0000000..d342de1 --- /dev/null +++ b/Assets/Oculus.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 95b0fd1f6a61d1343bc3f6398e333900 +folderAsset: yes +timeCreated: 1522878500 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR.meta b/Assets/Oculus/VR.meta new file mode 100644 index 0000000..7f928c8 --- /dev/null +++ b/Assets/Oculus/VR.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 869fc009969608e4a9071237c584be0d +DefaultImporter: + userData: diff --git a/Assets/Oculus/VR/Editor.meta b/Assets/Oculus/VR/Editor.meta new file mode 100644 index 0000000..074dd72 --- /dev/null +++ b/Assets/Oculus/VR/Editor.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 76c19abd24bec62459b5f0d26fdd9a85 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Oculus/VR/Editor/AndroidManifest.OVRSubmission.xml b/Assets/Oculus/VR/Editor/AndroidManifest.OVRSubmission.xml new file mode 100644 index 0000000..89ce277 --- /dev/null +++ b/Assets/Oculus/VR/Editor/AndroidManifest.OVRSubmission.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + diff --git a/Assets/Oculus/VR/Editor/AndroidManifest.OVRSubmission.xml.meta b/Assets/Oculus/VR/Editor/AndroidManifest.OVRSubmission.xml.meta new file mode 100644 index 0000000..1a052ad --- /dev/null +++ b/Assets/Oculus/VR/Editor/AndroidManifest.OVRSubmission.xml.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a16cc136accf1f42bdc6f71f94b50ac +timeCreated: 1475710636 +licenseType: Pro +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Editor/OVRBuild.cs b/Assets/Oculus/VR/Editor/OVRBuild.cs new file mode 100644 index 0000000..7288c9b --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVRBuild.cs @@ -0,0 +1,55 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using UnityEditor; + +/// +/// Allows Oculus to build apps from the command line. +/// +partial class OculusBuildApp +{ + static void SetPCTarget() + { + if (EditorUserBuildSettings.activeBuildTarget != BuildTarget.StandaloneWindows) + { + EditorUserBuildSettings.SwitchActiveBuildTarget (BuildTargetGroup.Standalone, BuildTarget.StandaloneWindows); + } + UnityEditorInternal.VR.VREditor.SetVREnabledOnTargetGroup(BuildTargetGroup.Standalone, true); + PlayerSettings.virtualRealitySupported = true; + AssetDatabase.SaveAssets(); + } + + static void SetAndroidTarget() + { + EditorUserBuildSettings.androidBuildSubtarget = MobileTextureSubtarget.ASTC; + EditorUserBuildSettings.androidBuildSystem = AndroidBuildSystem.Internal; + + if (EditorUserBuildSettings.activeBuildTarget != BuildTarget.Android) + { + EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.Android, BuildTarget.Android); + } + + UnityEditorInternal.VR.VREditor.SetVREnabledOnTargetGroup(BuildTargetGroup.Standalone, true); + PlayerSettings.virtualRealitySupported = true; + AssetDatabase.SaveAssets(); + } +} diff --git a/Assets/Oculus/VR/Editor/OVRBuild.cs.meta b/Assets/Oculus/VR/Editor/OVRBuild.cs.meta new file mode 100644 index 0000000..f3388c2 --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVRBuild.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fef522d0247215a43be6b1a8819bd940 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Editor/OVREngineConfigurationUpdater.cs b/Assets/Oculus/VR/Editor/OVREngineConfigurationUpdater.cs new file mode 100644 index 0000000..688d1de --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVREngineConfigurationUpdater.cs @@ -0,0 +1,317 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using UnityEditor; +using UnityEditor.Callbacks; +using System; +using System.IO; + +[InitializeOnLoad] +class OVREngineConfigurationUpdater +{ + private const string prefName = "OVREngineConfigurationUpdater_Enabled"; + private const string menuItemName = "Tools/Oculus/Use Required Project Settings"; + private const string androidAssetsPath = "Assets/Plugins/Android/assets"; + private const string androidManifestPath = "Assets/Plugins/Android/AndroidManifest.xml"; + static bool setPrefsForUtilities; + + [MenuItem(menuItemName)] + static void ToggleUtilities() + { + setPrefsForUtilities = !setPrefsForUtilities; + Menu.SetChecked(menuItemName, setPrefsForUtilities); + + int newValue = (setPrefsForUtilities) ? 1 : 0; + PlayerPrefs.SetInt(prefName, newValue); + PlayerPrefs.Save(); + + Debug.Log("Using required project settings: " + setPrefsForUtilities); + } + +#if UNITY_2017_3_OR_NEWER + private static readonly string dashSupportEnableConfirmedKey = "Oculus_Utilities_OVREngineConfiguration_DashSupportEnableConfirmed_" + Application.unityVersion + OVRManager.utilitiesVersion; + private static bool dashSupportEnableConfirmed + { + get + { + return PlayerPrefs.GetInt(dashSupportEnableConfirmedKey, 0) == 1; + } + + set + { + PlayerPrefs.SetInt(dashSupportEnableConfirmedKey, value ? 1 : 0); + } + } + + private static void DashSupportWarningPrompt() + { + /// + /// Since Unity 2017.3.0f1 and 2017.3.0f2 have "Dash Support" enabled by default + /// We need prompt developers in case they never test their app with dash + /// + /// + if (Application.unityVersion == "2017.3.0f1" || Application.unityVersion == "2017.3.0f2") + { + if (!dashSupportEnableConfirmed) + { + bool dialogResult = EditorUtility.DisplayDialog("Oculus Dash support", "Your current Unity engine " + Application.unityVersion + + " has Oculus Dash Supporting enabled by default. please make sure to test your app with Dash enabled runtime 1.21 or newer," + + " Otherwise, you can also turn it off under XR Settings -> Oculus", "Understand", "Learn more "); + + if (!dialogResult) + { + Application.OpenURL("https://developer.oculus.com/documentation/unity/latest/concepts/unity-lifecycle/"); + } + + dashSupportEnableConfirmed = true; + } + } + } +#endif + + static OVREngineConfigurationUpdater() + { + EditorApplication.delayCall += OnDelayCall; + EditorApplication.update += OnUpdate; + +#if UNITY_2017_3_OR_NEWER + DashSupportWarningPrompt(); +#endif + } + + static void OnDelayCall() + { + setPrefsForUtilities = PlayerPrefs.GetInt(prefName, 1) != 0; + Menu.SetChecked(menuItemName, setPrefsForUtilities); + + if (!setPrefsForUtilities) + return; + + OVRPlugin.SendEvent("BuildTarget", EditorUserBuildSettings.activeBuildTarget.ToString()); + EnforceAndroidSettings(); + EnforceInputManagerBindings(); +#if UNITY_ANDROID + EnforceOSIG(); +#endif + } + + static void OnUpdate() + { + if (!setPrefsForUtilities) + return; + + EnforceBundleId(); + EnforceVRSupport(); + EnforceInstallLocation(); + } + + static void EnforceAndroidSettings() + { + if (EditorUserBuildSettings.activeBuildTarget != BuildTarget.Android) + return; + + if (PlayerSettings.defaultInterfaceOrientation != UIOrientation.LandscapeLeft) + { + Debug.Log("OVREngineConfigurationUpdater: Setting orientation to Landscape Left"); + // Default screen orientation must be set to landscape left. + PlayerSettings.defaultInterfaceOrientation = UIOrientation.LandscapeLeft; + } + + if (!PlayerSettings.virtualRealitySupported) + { + // NOTE: This value should not affect the main window surface + // when Built-in VR support is enabled. + + // NOTE: On Adreno Lollipop, it is an error to have antiAliasing set on the + // main window surface with front buffer rendering enabled. The view will + // render black. + // On Adreno KitKat, some tiling control modes will cause the view to render + // black. + if (QualitySettings.antiAliasing != 0 && QualitySettings.antiAliasing != 1) + { + Debug.Log("OVREngineConfigurationUpdater: Disabling antiAliasing"); + QualitySettings.antiAliasing = 1; + } + } + + if (QualitySettings.vSyncCount != 0) + { + Debug.Log("OVREngineConfigurationUpdater: Setting vsyncCount to 0"); + // We sync in the TimeWarp, so we don't want unity syncing elsewhere. + QualitySettings.vSyncCount = 0; + } + } + + static void EnforceVRSupport() + { + if (PlayerSettings.virtualRealitySupported) + return; + + var mgrs = GameObject.FindObjectsOfType(); + for (int i = 0; i < mgrs.Length; ++i) + { + if (mgrs [i].isActiveAndEnabled) + { + Debug.Log ("Enabling Unity VR support"); + PlayerSettings.virtualRealitySupported = true; + + bool oculusFound = false; +#if UNITY_2017_2_OR_NEWER + foreach (var device in UnityEngine.XR.XRSettings.supportedDevices) +#else + foreach (var device in UnityEngine.VR.VRSettings.supportedDevices) +#endif + oculusFound |= (device == "Oculus"); + + if (!oculusFound) + Debug.LogError("Please add Oculus to the list of supported devices to use the Utilities."); + + return; + } + } + } + + private static void EnforceBundleId() + { + if (!PlayerSettings.virtualRealitySupported) + return; + + if (PlayerSettings.applicationIdentifier == "" || PlayerSettings.applicationIdentifier == "com.Company.ProductName") + { + string defaultBundleId = "com.oculus.UnitySample"; + Debug.LogWarning("\"" + PlayerSettings.applicationIdentifier + "\" is not a valid bundle identifier. Defaulting to \"" + defaultBundleId + "\"."); + PlayerSettings.applicationIdentifier = defaultBundleId; + } + } + + private static void EnforceInstallLocation() + { + if (PlayerSettings.Android.preferredInstallLocation != AndroidPreferredInstallLocation.Auto) + PlayerSettings.Android.preferredInstallLocation = AndroidPreferredInstallLocation.Auto; + } + + private static void EnforceInputManagerBindings() + { + try + { + BindAxis(new Axis() { name = "Oculus_GearVR_LThumbstickX", axis = 0, }); + BindAxis(new Axis() { name = "Oculus_GearVR_LThumbstickY", axis = 1, invert = true }); + BindAxis(new Axis() { name = "Oculus_GearVR_RThumbstickX", axis = 2, }); + BindAxis(new Axis() { name = "Oculus_GearVR_RThumbstickY", axis = 3, invert = true }); + BindAxis(new Axis() { name = "Oculus_GearVR_DpadX", axis = 4, }); + BindAxis(new Axis() { name = "Oculus_GearVR_DpadY", axis = 5, invert = true }); + BindAxis(new Axis() { name = "Oculus_GearVR_LIndexTrigger", axis = 12, }); + BindAxis(new Axis() { name = "Oculus_GearVR_RIndexTrigger", axis = 11, }); + } + catch + { + Debug.LogError("Failed to apply Oculus GearVR input manager bindings."); + } + } + + private static void EnforceOSIG() + { + // Don't bug the user in play mode. + if (Application.isPlaying) + return; + + // Don't warn if the project may be set up for submission or global signing. + if (File.Exists(androidManifestPath)) + return; + + bool foundPossibleOsig = false; + if (Directory.Exists(androidAssetsPath)) + { + var files = Directory.GetFiles(androidAssetsPath); + for (int i = 0; i < files.Length; ++i) + { + if (!files[i].Contains(".txt")) + { + foundPossibleOsig = true; + break; + } + } + } + + if (!foundPossibleOsig) + Debug.LogWarning("Missing Gear VR OSIG at " + androidAssetsPath + ". Please see https://dashboard.oculus.com/tools/osig-generator"); + } + + private class Axis + { + public string name = String.Empty; + public string descriptiveName = String.Empty; + public string descriptiveNegativeName = String.Empty; + public string negativeButton = String.Empty; + public string positiveButton = String.Empty; + public string altNegativeButton = String.Empty; + public string altPositiveButton = String.Empty; + public float gravity = 0.0f; + public float dead = 0.001f; + public float sensitivity = 1.0f; + public bool snap = false; + public bool invert = false; + public int type = 2; + public int axis = 0; + public int joyNum = 0; + } + + private static void BindAxis(Axis axis) + { + SerializedObject serializedObject = new SerializedObject(AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/InputManager.asset")[0]); + SerializedProperty axesProperty = serializedObject.FindProperty("m_Axes"); + + SerializedProperty axisIter = axesProperty.Copy(); + axisIter.Next(true); + axisIter.Next(true); + while (axisIter.Next(false)) + { + if (axisIter.FindPropertyRelative("m_Name").stringValue == axis.name) + { + // Axis already exists. Don't create binding. + return; + } + } + + axesProperty.arraySize++; + serializedObject.ApplyModifiedProperties(); + + SerializedProperty axisProperty = axesProperty.GetArrayElementAtIndex(axesProperty.arraySize - 1); + axisProperty.FindPropertyRelative("m_Name").stringValue = axis.name; + axisProperty.FindPropertyRelative("descriptiveName").stringValue = axis.descriptiveName; + axisProperty.FindPropertyRelative("descriptiveNegativeName").stringValue = axis.descriptiveNegativeName; + axisProperty.FindPropertyRelative("negativeButton").stringValue = axis.negativeButton; + axisProperty.FindPropertyRelative("positiveButton").stringValue = axis.positiveButton; + axisProperty.FindPropertyRelative("altNegativeButton").stringValue = axis.altNegativeButton; + axisProperty.FindPropertyRelative("altPositiveButton").stringValue = axis.altPositiveButton; + axisProperty.FindPropertyRelative("gravity").floatValue = axis.gravity; + axisProperty.FindPropertyRelative("dead").floatValue = axis.dead; + axisProperty.FindPropertyRelative("sensitivity").floatValue = axis.sensitivity; + axisProperty.FindPropertyRelative("snap").boolValue = axis.snap; + axisProperty.FindPropertyRelative("invert").boolValue = axis.invert; + axisProperty.FindPropertyRelative("type").intValue = axis.type; + axisProperty.FindPropertyRelative("axis").intValue = axis.axis; + axisProperty.FindPropertyRelative("joyNum").intValue = axis.joyNum; + serializedObject.ApplyModifiedProperties(); + } +} + diff --git a/Assets/Oculus/VR/Editor/OVREngineConfigurationUpdater.cs.meta b/Assets/Oculus/VR/Editor/OVREngineConfigurationUpdater.cs.meta new file mode 100644 index 0000000..4d5badd --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVREngineConfigurationUpdater.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c86538ded11bfe24c8c79818bb9ea66a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Editor/OVRLayerAttributeEditor.cs b/Assets/Oculus/VR/Editor/OVRLayerAttributeEditor.cs new file mode 100644 index 0000000..a180970 --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVRLayerAttributeEditor.cs @@ -0,0 +1,11 @@ +using UnityEditor; +using UnityEngine; + +[CustomPropertyDrawer(typeof(OVRLayerAttribute))] +class LayerAttributeEditor : PropertyDrawer { + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + // One line of oxygen free code. + property.intValue = EditorGUI.LayerField(position, label, property.intValue); + } +} diff --git a/Assets/Oculus/VR/Editor/OVRLayerAttributeEditor.cs.meta b/Assets/Oculus/VR/Editor/OVRLayerAttributeEditor.cs.meta new file mode 100644 index 0000000..dc57728 --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVRLayerAttributeEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6c08392d306aac74a88ba571af63c985 +timeCreated: 1499749379 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Editor/OVRManifestPreprocessor.cs b/Assets/Oculus/VR/Editor/OVRManifestPreprocessor.cs new file mode 100644 index 0000000..5ae040e --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVRManifestPreprocessor.cs @@ -0,0 +1,47 @@ +using UnityEngine; +using UnityEditor; +using System.IO; + +class OVRManifestPreprocessor +{ + [MenuItem("Tools/Oculus/Create store-compatible AndroidManifest.xml", false, 100000)] + public static void GenerateManifestForSubmission() + { + var so = ScriptableObject.CreateInstance(typeof(OVRPluginUpdaterStub)); + var script = MonoScript.FromScriptableObject(so); + string assetPath = AssetDatabase.GetAssetPath(script); + string editorDir = Directory.GetParent(assetPath).FullName; + string srcFile = editorDir + "/AndroidManifest.OVRSubmission.xml"; + + if (!File.Exists(srcFile)) + { + Debug.LogError("Cannot find Android manifest template for submission." + + " Please delete the OVR folder and reimport the Oculus Utilities."); + return; + } + + string manifestFolder = Application.dataPath + "/Plugins/Android"; + + if (!Directory.Exists(manifestFolder)) + Directory.CreateDirectory(manifestFolder); + + string dstFile = manifestFolder + "/AndroidManifest.xml"; + + if (File.Exists(dstFile)) + { + Debug.LogWarning("Cannot create Oculus store-compatible manifest due to conflicting file: \"" + + dstFile + "\". Please remove it and try again."); + return; + } + + File.Copy(srcFile, dstFile); + AssetDatabase.Refresh(); + } + + [MenuItem("Tools/Oculus/Remove AndroidManifest.xml")] + public static void RemoveAndroidManifest() + { + AssetDatabase.DeleteAsset("Assets/Plugins/Android/AndroidManifest.xml"); + AssetDatabase.Refresh(); + } +} diff --git a/Assets/Oculus/VR/Editor/OVRManifestPreprocessor.cs.meta b/Assets/Oculus/VR/Editor/OVRManifestPreprocessor.cs.meta new file mode 100644 index 0000000..4bf613e --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVRManifestPreprocessor.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: fb6426f323b7f024ebb25886b5182c4c +timeCreated: 1462825988 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: + - renderFrom: {fileID: 168286, guid: a5014611cefbb6b4398b7e4c82203d08, type: 2} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Editor/OVRPluginUpdater.cs b/Assets/Oculus/VR/Editor/OVRPluginUpdater.cs new file mode 100644 index 0000000..291f261 --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVRPluginUpdater.cs @@ -0,0 +1,507 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using UnityEditor; +using UnityEditor.Callbacks; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text.RegularExpressions; +using System.IO; +using System.Diagnostics; + +[InitializeOnLoad] +class OVRPluginUpdater +{ + class PluginPackage + { + public string RootPath; + public System.Version Version; + public Dictionary Plugins = new Dictionary(); + + public bool IsBundledPluginPackage() + { + return (RootPath == GetBundledPluginRootPath()); + } + + public bool IsEnabled() + { + // TODO: Check each individual platform rather than using the Win64 DLL status for the overall package status. + string win64PluginPath = ""; + if (Plugins.TryGetValue(BuildTarget.StandaloneWindows64, out win64PluginPath)) + { + return File.Exists(win64PluginPath); + } + + return false; + } + } + + static OVRPluginUpdater() + { + EditorApplication.delayCall += OnDelayCall; + } + + static void OnDelayCall() + { + if (ShouldAttemptPluginUpdate()) + { + AttemptPluginUpdate(true); + } + } + + private static PluginPackage GetPluginPackage(string rootPath) + { + return new PluginPackage() + { + RootPath = rootPath, + Version = GetPluginVersion(rootPath), + Plugins = new Dictionary() + { + { BuildTarget.Android, rootPath + GetPluginBuildTargetSubPath(BuildTarget.Android) }, +#if UNITY_2017_3_OR_NEWER + { BuildTarget.StandaloneOSX, rootPath + GetPluginBuildTargetSubPath(BuildTarget.StandaloneOSX) }, +#else + { BuildTarget.StandaloneOSXUniversal, rootPath + GetPluginBuildTargetSubPath(BuildTarget.StandaloneOSXUniversal) }, +#endif + { BuildTarget.StandaloneWindows, rootPath + GetPluginBuildTargetSubPath(BuildTarget.StandaloneWindows) }, + { BuildTarget.StandaloneWindows64, rootPath + GetPluginBuildTargetSubPath(BuildTarget.StandaloneWindows64) }, + } + }; + } + + private static PluginPackage GetBundledPluginPackage() + { + return GetPluginPackage(GetBundledPluginRootPath()); + } + + private static List GetAllUtilitiesPluginPackages() + { + string pluginRootPath = GetUtilitiesPluginRootPath(); + List packages = new List(); + + if (Directory.Exists(pluginRootPath)) + { + var dirs = Directory.GetDirectories(pluginRootPath); + + foreach(string dir in dirs) + { + packages.Add(GetPluginPackage(dir)); + } + } + + return packages; + } + + private static string GetCurrentProjectPath() + { + return Directory.GetParent(Application.dataPath).FullName; + } + + private static string GetUtilitiesPluginRootPath() + { + return GetUtilitiesRootPath() + @"/Plugins"; + } + + private static string GetUtilitiesRootPath() + { + var so = ScriptableObject.CreateInstance(typeof(OVRPluginUpdaterStub)); + var script = MonoScript.FromScriptableObject(so); + string assetPath = AssetDatabase.GetAssetPath(script); + string editorDir = Directory.GetParent(assetPath).FullName; + string ovrDir = Directory.GetParent(editorDir).FullName; + + return ovrDir; + } + + private static string GetBundledPluginRootPath() + { + string basePath = EditorApplication.applicationContentsPath; + string pluginPath = @"/UnityExtensions/Unity/VR"; + + return basePath + pluginPath; + } + + private static string GetPluginBuildTargetSubPath(BuildTarget target) + { + string path = string.Empty; + + switch (target) + { + case BuildTarget.Android: + path = @"/Android/OVRPlugin.aar"; + break; +#if UNITY_2017_3_OR_NEWER + case BuildTarget.StandaloneOSX: +#else + case BuildTarget.StandaloneOSXUniversal: +#endif + path = @"/OSXUniversal/OVRPlugin.bundle"; + break; + case BuildTarget.StandaloneWindows: + path = @"/Win/OVRPlugin.dll"; + break; + case BuildTarget.StandaloneWindows64: + path = @"/Win64/OVRPlugin.dll"; + break; + default: + throw new ArgumentException("Attempted GetPluginBuildTargetSubPath() for unsupported BuildTarget: " + target); + } + + return path; + } + + private static string GetDisabledPluginSuffix() + { + return @".disabled"; + } + + private static System.Version GetPluginVersion(string path) + { + System.Version invalidVersion = new System.Version("0.0.0"); + System.Version pluginVersion = invalidVersion; + + try + { + pluginVersion = new System.Version(Path.GetFileName(path)); + } + catch + { + pluginVersion = invalidVersion; + } + + if (pluginVersion == invalidVersion) + { + //Unable to determine version from path, fallback to Win64 DLL meta data + path += GetPluginBuildTargetSubPath(BuildTarget.StandaloneWindows64); + if (!File.Exists(path)) + { + path += GetDisabledPluginSuffix(); + if (!File.Exists(path)) + { + return invalidVersion; + } + } + + FileVersionInfo pluginVersionInfo = FileVersionInfo.GetVersionInfo(path); + if (pluginVersionInfo == null || pluginVersionInfo.ProductVersion == null || pluginVersionInfo.ProductVersion == "") + { + return invalidVersion; + } + + pluginVersion = new System.Version(pluginVersionInfo.ProductVersion); + } + + return pluginVersion; + } + + private static bool ShouldAttemptPluginUpdate() + { + return autoUpdateEnabled && !restartPending && !Application.isPlaying; + } + + private static void DisableAllUtilitiesPluginPackages() + { + List allUtilsPluginPkgs = GetAllUtilitiesPluginPackages(); + + foreach(PluginPackage pluginPkg in allUtilsPluginPkgs) + { + foreach(string path in pluginPkg.Plugins.Values) + { + if ((Directory.Exists(path)) || (File.Exists(path))) + { + string basePath = GetCurrentProjectPath(); + string relPath = path.Substring(basePath.Length + 1); + + AssetDatabase.MoveAsset(relPath, relPath + GetDisabledPluginSuffix()); + AssetDatabase.ImportAsset(relPath + GetDisabledPluginSuffix(), ImportAssetOptions.ForceUpdate); + } + } + } + + AssetDatabase.Refresh(); + AssetDatabase.SaveAssets(); + } + + private static void EnablePluginPackage(PluginPackage pluginPkg) + { + foreach(var kvp in pluginPkg.Plugins) + { + BuildTarget platform = kvp.Key; + string path = kvp.Value; + + if ((Directory.Exists(path + GetDisabledPluginSuffix())) || (File.Exists(path + GetDisabledPluginSuffix()))) + { + string basePath = GetCurrentProjectPath(); + string relPath = path.Substring(basePath.Length + 1); + + AssetDatabase.MoveAsset(relPath + GetDisabledPluginSuffix(), relPath); + AssetDatabase.ImportAsset(relPath, ImportAssetOptions.ForceUpdate); + + PluginImporter pi = PluginImporter.GetAtPath(relPath) as PluginImporter; + if (pi == null) + { + continue; + } + + pi.SetCompatibleWithAnyPlatform(false); + + switch (platform) + { + case BuildTarget.Android: + pi.SetCompatibleWithPlatform(BuildTarget.Android, true); + pi.SetPlatformData(BuildTarget.Android, "CPU", "ARMv7"); +#if UNITY_2017_3_OR_NEWER + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSX, false); +#else + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXUniversal, false); + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXIntel, false); + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXIntel64, false); +#endif + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows, false); + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows64, false); + pi.SetCompatibleWithEditor(false); + break; +#if UNITY_2017_3_OR_NEWER + case BuildTarget.StandaloneOSX: +#else + case BuildTarget.StandaloneOSXUniversal: +#endif + pi.SetCompatibleWithPlatform(BuildTarget.Android, false); + pi.SetPlatformData(BuildTarget.Android, "CPU", "ARMv7"); +#if UNITY_2017_3_OR_NEWER + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSX, true); +#else + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXUniversal, true); + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXIntel, true); + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXIntel64, true); +#endif + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows, false); + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows64, false); + pi.SetCompatibleWithEditor(true); + pi.SetEditorData("CPU", "AnyCPU"); + pi.SetEditorData("OS", "OSX"); + pi.SetPlatformData("Editor", "CPU", "AnyCPU"); + pi.SetPlatformData("Editor", "OS", "OSX"); + break; + case BuildTarget.StandaloneWindows: + pi.SetCompatibleWithPlatform(BuildTarget.Android, false); + pi.SetPlatformData(BuildTarget.Android, "CPU", "ARMv7"); +#if UNITY_2017_3_OR_NEWER + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSX, false); +#else + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXUniversal, false); + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXIntel, false); + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXIntel64, false); +#endif + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows, true); + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows64, false); + pi.SetCompatibleWithEditor(true); + pi.SetEditorData("CPU", "X86"); + pi.SetEditorData("OS", "Windows"); + pi.SetPlatformData("Editor", "CPU", "X86"); + pi.SetPlatformData("Editor", "OS", "Windows"); + break; + case BuildTarget.StandaloneWindows64: + pi.SetCompatibleWithPlatform(BuildTarget.Android, false); + pi.SetPlatformData(BuildTarget.Android, "CPU", "ARMv7"); +#if UNITY_2017_3_OR_NEWER + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSX, false); +#else + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXUniversal, false); + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXIntel, false); + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXIntel64, false); +#endif + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows, false); + pi.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows64, true); + pi.SetCompatibleWithEditor(true); + pi.SetEditorData("CPU", "X86_64"); + pi.SetEditorData("OS", "Windows"); + pi.SetPlatformData("Editor", "CPU", "X86_64"); + pi.SetPlatformData("Editor", "OS", "Windows"); + break; + default: + throw new ArgumentException("Attempted EnablePluginPackage() for unsupported BuildTarget: " + platform); + } + + AssetDatabase.ImportAsset(relPath, ImportAssetOptions.ForceUpdate); + } + } + + AssetDatabase.Refresh(); + AssetDatabase.SaveAssets(); + } + + private static bool restartPending = false; + private static readonly string autoUpdateEnabledKey = "Oculus_Utilities_OVRPluginUpdater_AutoUpdate_" + OVRManager.utilitiesVersion; + private static bool autoUpdateEnabled + { + get { + return PlayerPrefs.GetInt(autoUpdateEnabledKey, 1) == 1; + } + + set { + PlayerPrefs.SetInt(autoUpdateEnabledKey, value ? 1 : 0); + } + } + + [MenuItem("Tools/Oculus/Disable OVR Utilities Plugin")] + private static void AttemptPluginDisable() + { + PluginPackage bundledPluginPkg = GetBundledPluginPackage(); + List allUtilsPluginPkgs = GetAllUtilitiesPluginPackages(); + + PluginPackage enabledUtilsPluginPkg = null; + + foreach(PluginPackage pluginPkg in allUtilsPluginPkgs) + { + if (pluginPkg.IsEnabled()) + { + if ((enabledUtilsPluginPkg == null) || (pluginPkg.Version > enabledUtilsPluginPkg.Version)) + { + enabledUtilsPluginPkg = pluginPkg; + } + } + } + + if (enabledUtilsPluginPkg == null) + { + if (EditorUtility.DisplayDialog("Disable Oculus Utilities Plugin", "The OVRPlugin included with Oculus Utilities is already disabled. The OVRPlugin bundled with the Unity Editor will continue to be used.\n\nBundled version: " + bundledPluginPkg.Version, "Ok", "")) + { + return; + } + } + else + { + if (EditorUtility.DisplayDialog("Disable Oculus Utilities Plugin", "Do you want to disable the OVRPlugin included with Oculus Utilities and revert to the OVRPlugin bundled with the Unity Editor?\n\nCurrent version: " + enabledUtilsPluginPkg.Version + "\nBundled version: " + bundledPluginPkg.Version, "Yes", "No")) + { + DisableAllUtilitiesPluginPackages(); + + if (EditorUtility.DisplayDialog("Restart Unity", "OVRPlugin has been updated to " + bundledPluginPkg.Version + ".\n\nPlease restart the Unity Editor to complete the update process. You may need to manually relaunch Unity if you are using Unity 5.6 and higher.", "Restart", "Not Now")) + { + RestartUnityEditor(); + } + } + } + + } + + [MenuItem("Tools/Oculus/Update OVR Utilities Plugin")] + private static void RunPluginUpdate() + { + AttemptPluginUpdate(false); + } + + private static void AttemptPluginUpdate(bool triggeredByAutoUpdate) + { + autoUpdateEnabled = true; + + PluginPackage bundledPluginPkg = GetBundledPluginPackage(); + List allUtilsPluginPkgs = GetAllUtilitiesPluginPackages(); + + PluginPackage enabledUtilsPluginPkg = null; + PluginPackage newestUtilsPluginPkg = null; + + foreach(PluginPackage pluginPkg in allUtilsPluginPkgs) + { + if ((newestUtilsPluginPkg == null) || (pluginPkg.Version > newestUtilsPluginPkg.Version)) + { + newestUtilsPluginPkg = pluginPkg; + } + + if (pluginPkg.IsEnabled()) + { + if ((enabledUtilsPluginPkg == null) || (pluginPkg.Version > enabledUtilsPluginPkg.Version)) + { + enabledUtilsPluginPkg = pluginPkg; + } + } + } + + PluginPackage targetPluginPkg = null; + + if ((newestUtilsPluginPkg != null) && (newestUtilsPluginPkg.Version > bundledPluginPkg.Version)) + { + if ((enabledUtilsPluginPkg == null) || (enabledUtilsPluginPkg.Version != newestUtilsPluginPkg.Version)) + { + targetPluginPkg = newestUtilsPluginPkg; + } + } + else if ((enabledUtilsPluginPkg != null) && (enabledUtilsPluginPkg.Version < bundledPluginPkg.Version)) + { + targetPluginPkg = bundledPluginPkg; + } + + System.Version currentVersion = (enabledUtilsPluginPkg != null) ? enabledUtilsPluginPkg.Version : bundledPluginPkg.Version; + + if (targetPluginPkg == null) + { + if (!triggeredByAutoUpdate) + { + EditorUtility.DisplayDialog("Update Oculus Utilities Plugin", "OVRPlugin is already up to date.\n\nCurrent version: " + currentVersion + "\nBundled version: " + bundledPluginPkg.Version, "Ok", ""); + } + + return; // No update necessary. + } + + System.Version targetVersion = targetPluginPkg.Version; + + int dialogResult = EditorUtility.DisplayDialogComplex("Update Oculus Utilities Plugin", "Oculus Utilities has detected that a newer OVRPlugin is available. Using the newest version is recommended. Do you want to enable it?\n\nCurrent version: " + currentVersion + "\nAvailable version: " + targetVersion, "Yes", "No, Don't Ask Again", "No"); + + bool userAcceptsUpdate = false; + + switch (dialogResult) + { + case 0: // "Yes" + userAcceptsUpdate = true; + break; + case 1: // "No, Don't Ask Again" + autoUpdateEnabled = false; + + EditorUtility.DisplayDialog("Oculus Utilities OVRPlugin", "To manually update in the future, use the following menu option:\n\n[Tools -> Oculus -> Update OVR Utilities Plugin]", "Ok", ""); + return; + case 2: // "No" + return; + } + + if (userAcceptsUpdate) + { + DisableAllUtilitiesPluginPackages(); + + if (!targetPluginPkg.IsBundledPluginPackage()) + { + EnablePluginPackage(targetPluginPkg); + } + + if (EditorUtility.DisplayDialog("Restart Unity", "OVRPlugin has been updated to " + targetPluginPkg.Version + ".\n\nPlease restart the Unity Editor to complete the update process. You may need to manually relaunch Unity if you are using Unity 5.6 and higher.", "Restart", "Not Now")) + { + RestartUnityEditor(); + } + } + } + + private static void RestartUnityEditor() + { + restartPending = true; + EditorApplication.OpenProject(GetCurrentProjectPath()); + } +} diff --git a/Assets/Oculus/VR/Editor/OVRPluginUpdater.cs.meta b/Assets/Oculus/VR/Editor/OVRPluginUpdater.cs.meta new file mode 100644 index 0000000..ec95e43 --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVRPluginUpdater.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9e64a3a065da39f4caa17a7372962df6 +timeCreated: 1493086775 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Editor/OVRPluginUpdaterStub.cs b/Assets/Oculus/VR/Editor/OVRPluginUpdaterStub.cs new file mode 100644 index 0000000..362f4e3 --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVRPluginUpdaterStub.cs @@ -0,0 +1,29 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections; + +public class OVRPluginUpdaterStub : ScriptableObject +{ + // Stub helper class to locate OVR Utilities Path through Unity Editor API. + // Required to be a standalone class in a separate file or else MonoScript.FromScriptableObject() returns an empty string path. +} diff --git a/Assets/Oculus/VR/Editor/OVRPluginUpdaterStub.cs.meta b/Assets/Oculus/VR/Editor/OVRPluginUpdaterStub.cs.meta new file mode 100644 index 0000000..192b4b4 --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVRPluginUpdaterStub.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 791840c2fc67dd3409b79f212fad7dd4 +timeCreated: 1493148044 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Editor/OVRScreenshotWizard.cs b/Assets/Oculus/VR/Editor/OVRScreenshotWizard.cs new file mode 100644 index 0000000..a6f5ab1 --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVRScreenshotWizard.cs @@ -0,0 +1,195 @@ +using UnityEngine; +using UnityEditor; +using System.IO; + +/// +/// From the selected transform, takes a cubemap screenshot that can be submitted with the application +/// as a screenshot (or additionally used for reflection shaders). +/// +class OVRScreenshotWizard : ScriptableWizard +{ + public enum TexFormat + { + JPEG, // 512kb at 1k x 1k resolution vs + PNG, // 5.3mb + } + + public enum SaveMode { + SaveCubemapScreenshot, + SaveUnityCubemap, + SaveBoth, + } + + public GameObject renderFrom = null; + public int size = 2048; + public SaveMode saveMode = SaveMode.SaveUnityCubemap; + public string cubeMapFolder = "Assets/Textures/Cubemaps"; + public TexFormat textureFormat = TexFormat.PNG; + + /// + /// Validates the user's input + /// + void OnWizardUpdate() + { + helpString = "Select a game object positioned in the place where\nyou want to render the cubemap screenshot from: "; + isValid = (renderFrom != null); + } + + /// + /// Create the asset path if it is not available. + /// Assuming the newFolderPath is stated with "Assets", which is a requirement. + /// + static bool CreateAssetPath( string newFolderPath ) + { + const int maxFoldersCount = 32; + string currentPath; + string[] pathFolders; + + pathFolders = newFolderPath.Split (new char[]{ '/' }, maxFoldersCount); + + if (!string.Equals ("Assets", pathFolders [0], System.StringComparison.OrdinalIgnoreCase)) + { + Debug.LogError( "Folder path has to be started with \" Assets \" " ); + return false; + } + + currentPath = "Assets"; + for (int i = 1; i < pathFolders.Length; i++) + { + if (!string.IsNullOrEmpty(pathFolders[i])) + { + string newPath = currentPath + "/" + pathFolders[i]; + if (!AssetDatabase.IsValidFolder(newPath)) + AssetDatabase.CreateFolder(currentPath, pathFolders[i]); + currentPath = newPath; + } + } + + Debug.Log( "Created path: " + currentPath ); + return true; + } + + /// + /// Renders the cubemap + /// + void OnWizardCreate() + { + if ( !AssetDatabase.IsValidFolder( cubeMapFolder ) ) + { + if (!CreateAssetPath(cubeMapFolder)) + { + Debug.LogError( "Created path failed: " + cubeMapFolder ); + return; + } + } + + bool existingCamera = true; + bool existingCameraStateSave = true; + Camera camera = renderFrom.GetComponent(); + if (camera == null) + { + camera = renderFrom.AddComponent(); + camera.farClipPlane = 10000f; + existingCamera = false; + } + else + { + existingCameraStateSave = camera.enabled; + camera.enabled = true; + } + // find the last screenshot saved + if (cubeMapFolder[cubeMapFolder.Length-1] != '/') + { + cubeMapFolder += "/"; + } + int idx = 0; + string[] fileNames = Directory.GetFiles(cubeMapFolder); + foreach(string fileName in fileNames) + { + if (!fileName.ToLower().EndsWith(".cubemap")) + { + continue; + } + string temp = fileName.Replace(cubeMapFolder + "vr_screenshot_", string.Empty); + temp = temp.Replace(".cubemap", string.Empty); + int tempIdx = 0; + if (int.TryParse( temp, out tempIdx )) + { + if (tempIdx > idx) + { + idx = tempIdx; + } + } + } + string pathName = string.Format("{0}vr_screenshot_{1}.cubemap", cubeMapFolder, (++idx).ToString("d2")); + Cubemap cubemap = new Cubemap(size, TextureFormat.RGB24, false); + + // render into cubemap + if ((camera != null) && (cubemap != null)) + { + // set up cubemap defaults + OVRCubemapCapture.RenderIntoCubemap(camera, cubemap); + if (existingCamera) + { + camera.enabled = existingCameraStateSave; + } + else + { + DestroyImmediate(camera); + } + // generate a regular texture as well? + if ( ( saveMode == SaveMode.SaveCubemapScreenshot ) || ( saveMode == SaveMode.SaveBoth ) ) + { + GenerateTexture(cubemap, pathName); + } + + if ( ( saveMode == SaveMode.SaveUnityCubemap ) || ( saveMode == SaveMode.SaveBoth ) ) + { + Debug.Log( "Saving: " + pathName ); + // by default the unity cubemap isn't saved + AssetDatabase.CreateAsset( cubemap, pathName ); + // reimport as necessary + AssetDatabase.SaveAssets(); + // select it in the project tree so developers can find it + EditorGUIUtility.PingObject( cubemap ); + Selection.activeObject = cubemap; + } + AssetDatabase.Refresh(); + } + } + + /// + /// Generates a NPOT 6x1 cubemap in the following format PX NX PY NY PZ NZ + /// + void GenerateTexture(Cubemap cubemap, string pathName) + { + // Encode the texture and save it to disk + pathName = pathName.Replace(".cubemap", (textureFormat == TexFormat.PNG) ? ".png" : ".jpg" ).ToLower(); + pathName = pathName.Replace( cubeMapFolder.ToLower(), "" ); + string format = textureFormat.ToString(); + string fullPath = EditorUtility.SaveFilePanel( string.Format( "Save Cubemap Screenshot as {0}", format ), "", pathName, format.ToLower() ); + if ( !string.IsNullOrEmpty( fullPath ) ) + { + Debug.Log( "Saving: " + fullPath ); + OVRCubemapCapture.SaveCubemapCapture(cubemap, fullPath); + } + } + + /// + /// Unity Editor menu option to take a screenshot + /// + [MenuItem("Tools/Oculus/OVR Screenshot Wizard",false,100000)] + static void TakeOVRScreenshot() + { + OVRScreenshotWizard wizard = ScriptableWizard.DisplayWizard("OVR Screenshot Wizard", "Render Cubemap"); + if (wizard != null) + { + if (Selection.activeGameObject != null) + wizard.renderFrom = Selection.activeGameObject; + else + wizard.renderFrom = Camera.main.gameObject; + + wizard.isValid = (wizard.renderFrom != null); + } + } +} diff --git a/Assets/Oculus/VR/Editor/OVRScreenshotWizard.cs.meta b/Assets/Oculus/VR/Editor/OVRScreenshotWizard.cs.meta new file mode 100644 index 0000000..fde246e --- /dev/null +++ b/Assets/Oculus/VR/Editor/OVRScreenshotWizard.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: b8b9ee1d7b188284f90d944cd54eb026 +timeCreated: 1462825988 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: + - renderFrom: {fileID: 168286, guid: a5014611cefbb6b4398b7e4c82203d08, type: 2} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Materials.meta b/Assets/Oculus/VR/Materials.meta new file mode 100644 index 0000000..dd3aa0e --- /dev/null +++ b/Assets/Oculus/VR/Materials.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 981b5bce7fc4a2d43a2169710da4b892 +DefaultImporter: + userData: diff --git a/Assets/Oculus/VR/Materials/Arrow.mat b/Assets/Oculus/VR/Materials/Arrow.mat new file mode 100644 index 0000000..d03a099 --- /dev/null +++ b/Assets/Oculus/VR/Materials/Arrow.mat @@ -0,0 +1,64 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Arrow + m_Shader: {fileID: 10101, guid: 0000000000000000e000000000000000, type: 0} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _Shininess + second: .699999988 + data: + first: + name: _Stencil + second: 0 + data: + first: + name: _StencilReadMask + second: 255 + data: + first: + name: _StencilWriteMask + second: 255 + data: + first: + name: _StencilComp + second: 8 + data: + first: + name: _StencilOp + second: 1 + data: + first: + name: _ColorMask + second: 15 + m_Colors: + data: + first: + name: _Color + second: {r: 1, g: 0, b: 0, a: 1} + data: + first: + name: _Emission + second: {r: 0, g: 0, b: 0, a: 0} + data: + first: + name: _SpecColor + second: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/Oculus/VR/Materials/Arrow.mat.meta b/Assets/Oculus/VR/Materials/Arrow.mat.meta new file mode 100644 index 0000000..c641b77 --- /dev/null +++ b/Assets/Oculus/VR/Materials/Arrow.mat.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 669025377795b574da66d9bb2472fcab +NativeFormatImporter: + userData: diff --git a/Assets/Oculus/VR/Materials/CubeMaterial.mat b/Assets/Oculus/VR/Materials/CubeMaterial.mat new file mode 100644 index 0000000..358deb1 --- /dev/null +++ b/Assets/Oculus/VR/Materials/CubeMaterial.mat @@ -0,0 +1,29 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: CubeMaterial + m_Shader: {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 020d1a102a7f2a14ebf6cefe7b977303, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: {} + m_Colors: + data: + first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/Oculus/VR/Materials/CubeMaterial.mat.meta b/Assets/Oculus/VR/Materials/CubeMaterial.mat.meta new file mode 100644 index 0000000..37403d1 --- /dev/null +++ b/Assets/Oculus/VR/Materials/CubeMaterial.mat.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 62db2d638434d5a488dfb1e789e34b37 +NativeFormatImporter: + userData: diff --git a/Assets/Oculus/VR/Materials/GazePointer.mat b/Assets/Oculus/VR/Materials/GazePointer.mat new file mode 100644 index 0000000..57ed2f5 --- /dev/null +++ b/Assets/Oculus/VR/Materials/GazePointer.mat @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: GazePointer + m_Shader: {fileID: 4800000, guid: 38ad33c152e32ee46a9bbbb0e656f7e1, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 2800000, guid: 8b000a1e9077a124f9ad4e81392fccba, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Illum: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 82026cb669304dc4897d2c11d3753141, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AlphaCutoff: 0 + - _Cutoff: 0.5 + - _EmissionLM: 0 + - _EndRadius: 0.8 + - _Fill: 0.5 + - _InvFade: 1.11 + - _StartRadius: 0.2 + m_Colors: + - _Color: {r: 0, g: 1, b: 0.006896496, a: 1} + - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/Assets/Oculus/VR/Materials/GazePointer.mat.meta b/Assets/Oculus/VR/Materials/GazePointer.mat.meta new file mode 100644 index 0000000..b43f711 --- /dev/null +++ b/Assets/Oculus/VR/Materials/GazePointer.mat.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 3fac3b9744290eb4c89b0e4ffd5fe085 +NativeFormatImporter: + userData: diff --git a/Assets/Oculus/VR/Materials/GearVrController.meta b/Assets/Oculus/VR/Materials/GearVrController.meta new file mode 100644 index 0000000..6596487 --- /dev/null +++ b/Assets/Oculus/VR/Materials/GearVrController.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 856d6414a7cf7e94888ee2d5f959efd7 +folderAsset: yes +timeCreated: 1488168366 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Materials/GearVrController/GearVrControllerMat_1024.mat b/Assets/Oculus/VR/Materials/GearVrController/GearVrControllerMat_1024.mat new file mode 100644 index 0000000..6946cfe --- /dev/null +++ b/Assets/Oculus/VR/Materials/GearVrController/GearVrControllerMat_1024.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: GearVrControllerMat_1024 + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _NORMALMAP + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: ab629f733cdfcfa4ba04695645307f24, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 8dcaddcb07fa3214989bf16d62f3efbc, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: 4b12fa22be3f7f143b055ad60e483684, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.4 + - _GlossyReflections: 1 + - _Metallic: 1 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Oculus/VR/Materials/GearVrController/GearVrControllerMat_1024.mat.meta b/Assets/Oculus/VR/Materials/GearVrController/GearVrControllerMat_1024.mat.meta new file mode 100644 index 0000000..850f1d9 --- /dev/null +++ b/Assets/Oculus/VR/Materials/GearVrController/GearVrControllerMat_1024.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a62abb16d1535b647956d3be68acdd59 +timeCreated: 1488144668 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Materials/GearVrController/GearVrControllerMat_128.mat b/Assets/Oculus/VR/Materials/GearVrController/GearVrControllerMat_128.mat new file mode 100644 index 0000000..192b784 --- /dev/null +++ b/Assets/Oculus/VR/Materials/GearVrController/GearVrControllerMat_128.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: GearVrControllerMat_128 + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _NORMALMAP + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 2800000, guid: cd52447b7b5ad174bb3858eb22a8fe2e, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 2cf74d0adf6b17348bb03c979684482b, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: 8556f6ca8690f0a47bcc8c5adec768da, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.4 + - _GlossyReflections: 1 + - _Metallic: 1 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Oculus/VR/Materials/GearVrController/GearVrControllerMat_128.mat.meta b/Assets/Oculus/VR/Materials/GearVrController/GearVrControllerMat_128.mat.meta new file mode 100644 index 0000000..888e2c1 --- /dev/null +++ b/Assets/Oculus/VR/Materials/GearVrController/GearVrControllerMat_128.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f6ccc53b9bcfb114996e76ee88ce6948 +timeCreated: 1488144149 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Materials/cursor_timer_material.mat b/Assets/Oculus/VR/Materials/cursor_timer_material.mat new file mode 100644 index 0000000..09c1bd4 --- /dev/null +++ b/Assets/Oculus/VR/Materials/cursor_timer_material.mat @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: cursor_timer_material + m_Shader: {fileID: 4800000, guid: b95caf64e2cc3614892026a94bb2be84, type: 3} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 79a33e7a7166c6142ad50f46a9a23d3e, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ColorRamp + second: + m_Texture: {fileID: 2800000, guid: 8929c8bc5148a624b8c9d6df0ee6f0ca, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _Cutoff + second: 1 + data: + first: + name: _ColorRampOffset + second: 0 + m_Colors: + data: + first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/Oculus/VR/Materials/cursor_timer_material.mat.meta b/Assets/Oculus/VR/Materials/cursor_timer_material.mat.meta new file mode 100644 index 0000000..18e3f2f --- /dev/null +++ b/Assets/Oculus/VR/Materials/cursor_timer_material.mat.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 9531aa878fd5c4749b288b72024e8d2f +NativeFormatImporter: + userData: diff --git a/Assets/Oculus/VR/Materials/gaze_cursor.mat b/Assets/Oculus/VR/Materials/gaze_cursor.mat new file mode 100644 index 0000000..0cc1098 --- /dev/null +++ b/Assets/Oculus/VR/Materials/gaze_cursor.mat @@ -0,0 +1,28 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: gaze_cursor + m_Shader: {fileID: 4800000, guid: 05b53b473302943b58b8e33c93a38dac, type: 3} + m_ShaderKeywords: [] + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 2800000, guid: 077028084dceb584798dade6c58d1978, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: {} + m_Colors: + data: + first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/Oculus/VR/Materials/gaze_cursor.mat.meta b/Assets/Oculus/VR/Materials/gaze_cursor.mat.meta new file mode 100644 index 0000000..0af5e7b --- /dev/null +++ b/Assets/Oculus/VR/Materials/gaze_cursor.mat.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 7f31de375e167154aa45929466af30e4 +NativeFormatImporter: + userData: diff --git a/Assets/Oculus/VR/Meshes.meta b/Assets/Oculus/VR/Meshes.meta new file mode 100644 index 0000000..0436ed1 --- /dev/null +++ b/Assets/Oculus/VR/Meshes.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: db348133d6680dd459f3e1cb19922746 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Oculus/VR/Meshes/Cone.obj b/Assets/Oculus/VR/Meshes/Cone.obj new file mode 100644 index 0000000..392a7c9 --- /dev/null +++ b/Assets/Oculus/VR/Meshes/Cone.obj @@ -0,0 +1,187 @@ +# Alias OBJ Model File +# Exported from SketchUp, (c) 2000-2012 Trimble Navigation Limited +# File units = meters + +mtllib cone.mtl + +g Mesh1 Model + +usemtl FrontColor +v 0.492734 0 0.0849313 +vt -19.399 -3.34375 +vn 0 -1 -0 +v 0.453963 0 0.209566 +vt -17.8725 -8.25064 +v 0.384254 0 0.31992 +vt -15.1281 -12.5953 +v 0.28836 0 0.408471 +vt -11.3528 -16.0815 +v 0.172814 0 0.469186 +vt -6.80371 -18.4719 +v 0.0454916 0 0.497926 +vt -1.79101 -19.6034 +v -0.0849313 0 0.492734 +vt 3.34375 -19.399 +v -0.209566 0 0.453963 +vt 8.25064 -17.8725 +v -0.31992 0 0.384254 +vt 12.5953 -15.1281 +v -0.408471 0 0.28836 +vt 16.0815 -11.3528 +v -0.469186 0 0.172814 +vt 18.4719 -6.80371 +v -0.497926 0 0.0454916 +vt 19.6034 -1.79101 +v -0.492734 0 -0.0849313 +vt 19.399 3.34375 +v -0.453963 0 -0.209566 +vt 17.8725 8.25064 +v -0.384254 0 -0.31992 +vt 15.1281 12.5953 +v -0.28836 0 -0.408471 +vt 11.3528 16.0815 +v -0.172814 0 -0.469186 +vt 6.80371 18.4719 +v -0.0454916 0 -0.497926 +vt 1.79101 19.6034 +v 0.0849313 0 -0.492734 +vt -3.34375 19.399 +v 0.209566 0 -0.453963 +vt -8.25064 17.8725 +v 0.31992 0 -0.384254 +vt -12.5953 15.1281 +v 0.408471 0 -0.28836 +vt -16.0815 11.3528 +v 0.469186 0 -0.172814 +vt -18.4719 6.80371 +v 0.497926 0 -0.0454916 +vt -19.6034 1.79101 +f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 7/7/1 8/8/1 9/9/1 10/10/1 11/11/1 12/12/1 13/13/1 14/14/1 15/15/1 16/16/1 17/17/1 18/18/1 19/19/1 20/20/1 21/21/1 22/22/1 23/23/1 24/24/1 + +vt -2.56941 -8.65407 +vn 0.812403 0.446486 0.375036 +vt 2.56941 -8.65407 +vn 0.881787 0.446486 0.151991 +v 0.00100113 1 0.000172563 +vt 0.00522052 35.2704 +v 0.000922359 1 0.000425796 +vt -0.00522052 35.2704 +f 2/25/2 1/26/3 25/27/3 26/28/2 + +vn 0.891079 0.446486 -0.0814109 +v 0.00101168 1 -9.24296e-005 +f 1/25/3 24/26/4 27/27/4 25/28/3 + +vn 0.839646 0.446486 -0.309265 +v 0.000953289 1 -0.000351123 +f 27/28/4 24/25/4 23/26/5 28/27/5 + +vn 0.730992 0.446486 -0.516044 +v 0.000829929 1 -0.000585888 +f 28/28/5 23/25/5 22/26/6 29/27/6 + +vn 0.572522 0.446486 -0.687654 +v 0.000650011 1 -0.000780726 +f 29/28/6 22/25/6 21/26/7 30/27/7 + +vn 0.375036 0.446486 -0.812403 +v 0.000425796 1 -0.000922359 +f 30/28/7 21/25/7 20/26/8 31/27/8 + +vn 0.151991 0.446486 -0.881787 +v 0.000172563 1 -0.00100113 +f 31/28/8 20/25/8 19/26/9 32/27/9 + +vn -0.0814109 0.446486 -0.891079 +v -9.24296e-005 1 -0.00101168 +f 32/28/9 19/25/9 18/26/10 33/27/10 + +vn -0.309265 0.446486 -0.839646 +v -0.000351123 1 -0.000953289 +f 33/28/10 18/25/10 17/26/11 34/27/11 + +vn -0.516044 0.446486 -0.730992 +v -0.000585888 1 -0.000829929 +f 34/28/11 17/25/11 16/26/12 35/27/12 + +vn -0.687654 0.446486 -0.572522 +v -0.000780726 1 -0.000650011 +f 35/28/12 16/25/12 15/26/13 36/27/13 + +vn -0.812403 0.446486 -0.375036 +v -0.000922359 1 -0.000425796 +f 36/28/13 15/25/13 14/26/14 37/27/14 + +vn -0.881787 0.446486 -0.151991 +v -0.00100113 1 -0.000172563 +f 37/28/14 14/25/14 13/26/15 38/27/15 + +vn -0.891079 0.446486 0.0814109 +v -0.00101168 1 9.24296e-005 +f 38/28/15 13/25/15 12/26/16 39/27/16 + +vn -0.839646 0.446486 0.309265 +v -0.000953289 1 0.000351123 +f 12/25/16 11/26/17 40/27/17 39/28/16 + +vn -0.730992 0.446486 0.516044 +v -0.000829929 1 0.000585888 +f 11/25/17 10/26/18 41/27/18 40/28/17 + +vn -0.572522 0.446486 0.687654 +v -0.000650011 1 0.000780726 +f 10/25/18 9/26/19 42/27/19 41/28/18 + +vn -0.375036 0.446486 0.812403 +v -0.000425796 1 0.000922359 +f 9/25/19 8/26/20 43/27/20 42/28/19 + +vn -0.151991 0.446486 0.881787 +v -0.000172563 1 0.00100113 +f 8/25/20 7/26/21 44/27/21 43/28/20 + +vn 0.0814109 0.446486 0.891079 +v 9.24296e-005 1 0.00101168 +f 7/25/21 6/26/22 45/27/22 44/28/21 + +vn 0.309265 0.446486 0.839646 +v 0.000351123 1 0.000953289 +f 6/25/22 5/26/23 46/27/23 45/28/22 + +vn 0.516044 0.446486 0.730992 +v 0.000585888 1 0.000829929 +f 5/25/23 4/26/24 47/27/24 46/28/23 + +vn 0.687654 0.446486 0.572522 +v 0.000780726 1 0.000650011 +f 4/25/24 3/26/25 48/27/25 47/28/24 + +f 3/25/25 2/26/2 26/27/2 48/28/25 + +vt 0.0398301 0.00363896 +vn 0 1 -0 +vt 0.0375311 0.0138237 +vt 0.0326744 0.0230665 +vt 0.025591 0.0307372 +vt 0.0167636 0.0363133 +vt 0.00679382 0.0394147 +vt -0.00363896 0.0398301 +vt -0.0138237 0.0375311 +vt -0.0230665 0.0326744 +vt -0.0307372 0.025591 +vt -0.0363133 0.0167636 +vt -0.0394147 0.00679382 +vt -0.0398301 -0.00363896 +vt -0.0375311 -0.0138237 +vt -0.0326744 -0.0230665 +vt -0.025591 -0.0307372 +vt -0.0167636 -0.0363133 +vt -0.00679382 -0.0394147 +vt 0.00363896 -0.0398301 +vt 0.0138237 -0.0375311 +vt 0.0230665 -0.0326744 +vt 0.0307372 -0.025591 +vt 0.0363133 -0.0167636 +vt 0.0394147 -0.00679382 +f 27/29/26 28/30/26 29/31/26 30/32/26 31/33/26 32/34/26 33/35/26 34/36/26 35/37/26 36/38/26 37/39/26 38/40/26 39/41/26 40/42/26 41/43/26 42/44/26 43/45/26 44/46/26 45/47/26 46/48/26 47/49/26 48/50/26 26/51/26 25/52/26 + diff --git a/Assets/Oculus/VR/Meshes/Cone.obj.meta b/Assets/Oculus/VR/Meshes/Cone.obj.meta new file mode 100644 index 0000000..730856f --- /dev/null +++ b/Assets/Oculus/VR/Meshes/Cone.obj.meta @@ -0,0 +1,67 @@ +fileFormatVersion: 2 +guid: c28fa8d61f81fb742b1180a6d4516625 +ModelImporter: + serializedVersion: 16 + fileIDToRecycleName: + 100000: //RootNode + 100002: Mesh1_Model + 400000: //RootNode + 400002: Mesh1_Model + 2300000: Mesh1_Model + 3300000: Mesh1_Model + 4300000: Mesh1_Model + 9500000: //RootNode + materials: + importMaterials: 0 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + optimizeGameObjects: 0 + motionNodeName: + animationCompression: 1 + animationRotationError: .5 + animationPositionError: .5 + animationScaleError: .5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + tangentSpace: + normalSmoothAngle: 90 + splitTangentsAcrossUV: 0 + normalImportMode: 0 + tangentImportMode: 1 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: .5 + foreArmTwist: .5 + upperLegTwist: .5 + legTwist: .5 + armStretch: .0500000007 + legStretch: .0500000007 + feetSpacing: 0 + rootMotionBoneName: + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 2 + additionalBone: 0 + userData: diff --git a/Assets/Oculus/VR/Meshes/GearVrController.meta b/Assets/Oculus/VR/Meshes/GearVrController.meta new file mode 100644 index 0000000..0301039 --- /dev/null +++ b/Assets/Oculus/VR/Meshes/GearVrController.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1f5d118b13c965a40a0cd4e358205ac3 +folderAsset: yes +timeCreated: 1486168258 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Meshes/GearVrController/GearVrController.fbx b/Assets/Oculus/VR/Meshes/GearVrController/GearVrController.fbx new file mode 100644 index 0000000..7ff85fc Binary files /dev/null and b/Assets/Oculus/VR/Meshes/GearVrController/GearVrController.fbx differ diff --git a/Assets/Oculus/VR/Meshes/GearVrController/GearVrController.fbx.meta b/Assets/Oculus/VR/Meshes/GearVrController/GearVrController.fbx.meta new file mode 100644 index 0000000..e3bf43c --- /dev/null +++ b/Assets/Oculus/VR/Meshes/GearVrController/GearVrController.fbx.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 84c37137326e7b943a87be7ae2a7ea19 +timeCreated: 1488144149 +licenseType: Free +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: back_button_PLY + 100002: center_button_PLY + 100004: chassis_PLY + 100006: disc_button_PLY + 100008: home_button_PLY + 100010: //RootNode + 100012: text_PLY + 100014: trigger_PLY + 400000: back_button_PLY + 400002: center_button_PLY + 400004: chassis_PLY + 400006: disc_button_PLY + 400008: home_button_PLY + 400010: //RootNode + 400012: text_PLY + 400014: trigger_PLY + 2300000: back_button_PLY + 2300002: center_button_PLY + 2300004: chassis_PLY + 2300006: disc_button_PLY + 2300008: home_button_PLY + 2300010: text_PLY + 2300012: trigger_PLY + 3300000: back_button_PLY + 3300002: center_button_PLY + 3300004: chassis_PLY + 3300006: disc_button_PLY + 3300008: home_button_PLY + 3300010: text_PLY + 3300012: trigger_PLY + 4300000: text_PLY + 4300002: center_button_PLY + 4300004: trigger_PLY + 4300006: home_button_PLY + 4300008: back_button_PLY + 4300010: disc_button_PLY + 4300012: chassis_PLY + materials: + importMaterials: 1 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 1 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + importAnimation: 1 + copyAvatar: 0 + humanDescription: + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + hasTranslationDoF: 0 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Meshes/GearVrController/Materials.meta b/Assets/Oculus/VR/Meshes/GearVrController/Materials.meta new file mode 100644 index 0000000..c2a2508 --- /dev/null +++ b/Assets/Oculus/VR/Meshes/GearVrController/Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1f3bd5b7b89f2bc43b851174a56851f3 +folderAsset: yes +timeCreated: 1488174699 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Meshes/GearVrController/Materials/malibuController_color_1024.mat b/Assets/Oculus/VR/Meshes/GearVrController/Materials/malibuController_color_1024.mat new file mode 100644 index 0000000..316dcca --- /dev/null +++ b/Assets/Oculus/VR/Meshes/GearVrController/Materials/malibuController_color_1024.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: malibuController_color_1024 + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _EMISSION + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Oculus/VR/Meshes/GearVrController/Materials/malibuController_color_1024.mat.meta b/Assets/Oculus/VR/Meshes/GearVrController/Materials/malibuController_color_1024.mat.meta new file mode 100644 index 0000000..d8d0513 --- /dev/null +++ b/Assets/Oculus/VR/Meshes/GearVrController/Materials/malibuController_color_1024.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 54fb84af388c3734b9a4cae0b38e2c68 +timeCreated: 1488174699 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Meshes/OculusGoController.meta b/Assets/Oculus/VR/Meshes/OculusGoController.meta new file mode 100644 index 0000000..d78be16 --- /dev/null +++ b/Assets/Oculus/VR/Meshes/OculusGoController.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2f5a65d8d712ba9458f8b931e7db3113 +folderAsset: yes +timeCreated: 1513040713 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Meshes/OculusGoController/Materials.meta b/Assets/Oculus/VR/Meshes/OculusGoController/Materials.meta new file mode 100644 index 0000000..3ec83eb --- /dev/null +++ b/Assets/Oculus/VR/Meshes/OculusGoController/Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8be9af30e3bae8c47a188358ead030df +folderAsset: yes +timeCreated: 1513040723 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Meshes/OculusGoController/Materials/OculusGoControllerMat.mat b/Assets/Oculus/VR/Meshes/OculusGoController/Materials/OculusGoControllerMat.mat new file mode 100644 index 0000000..29023cf --- /dev/null +++ b/Assets/Oculus/VR/Meshes/OculusGoController/Materials/OculusGoControllerMat.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: OculusGoControllerMat + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 6fd132ea4bdd3ec4298a583f001ed5ab, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 0.75 + - _Glossiness: 0.492 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 1 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Oculus/VR/Meshes/OculusGoController/Materials/OculusGoControllerMat.mat.meta b/Assets/Oculus/VR/Meshes/OculusGoController/Materials/OculusGoControllerMat.mat.meta new file mode 100644 index 0000000..f73daae --- /dev/null +++ b/Assets/Oculus/VR/Meshes/OculusGoController/Materials/OculusGoControllerMat.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6c0b208d35ece4a459821be19df69561 +timeCreated: 1513127267 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Meshes/OculusGoController/OculusGoController.fbx b/Assets/Oculus/VR/Meshes/OculusGoController/OculusGoController.fbx new file mode 100644 index 0000000..b9f7028 Binary files /dev/null and b/Assets/Oculus/VR/Meshes/OculusGoController/OculusGoController.fbx differ diff --git a/Assets/Oculus/VR/Meshes/OculusGoController/OculusGoController.fbx.meta b/Assets/Oculus/VR/Meshes/OculusGoController/OculusGoController.fbx.meta new file mode 100644 index 0000000..3ce7ada --- /dev/null +++ b/Assets/Oculus/VR/Meshes/OculusGoController/OculusGoController.fbx.meta @@ -0,0 +1,82 @@ +fileFormatVersion: 2 +guid: e0f1914fdbfd3764faeff5474c0cbe1e +timeCreated: 1513040723 +licenseType: Free +ModelImporter: + serializedVersion: 19 + fileIDToRecycleName: + 100000: //RootNode + 400000: //RootNode + 2300000: //RootNode + 3300000: //RootNode + 4300000: Mesh + materials: + importMaterials: 0 + materialName: 0 + materialSearch: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + clipAnimations: [] + isReadable: 1 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + importBlendShapes: 0 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + optimizeMeshForGPU: 1 + keepQuads: 0 + weldVertices: 1 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + importAnimation: 0 + copyAvatar: 0 + humanDescription: + serializedVersion: 2 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + rootMotionBoneName: + rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + animationType: 0 + humanoidOversampling: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins.meta b/Assets/Oculus/VR/Plugins.meta new file mode 100644 index 0000000..62fe905 --- /dev/null +++ b/Assets/Oculus/VR/Plugins.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e1f06b56b3e7614419c5db24e2262938 +folderAsset: yes +timeCreated: 1493321336 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/1.28.0.meta b/Assets/Oculus/VR/Plugins/1.28.0.meta new file mode 100644 index 0000000..9134262 --- /dev/null +++ b/Assets/Oculus/VR/Plugins/1.28.0.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 81e00085a0c870d4887bd95a665b52a9 +folderAsset: yes +timeCreated: 1532112173 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/1.28.0/Android.meta b/Assets/Oculus/VR/Plugins/1.28.0/Android.meta new file mode 100644 index 0000000..5d8e80d --- /dev/null +++ b/Assets/Oculus/VR/Plugins/1.28.0/Android.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dd48523288d814a448e08f162164c3d5 +folderAsset: yes +timeCreated: 1528423694 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/1.28.0/Android/OVRPlugin.aar b/Assets/Oculus/VR/Plugins/1.28.0/Android/OVRPlugin.aar new file mode 100644 index 0000000..7df193b Binary files /dev/null and b/Assets/Oculus/VR/Plugins/1.28.0/Android/OVRPlugin.aar differ diff --git a/Assets/Oculus/VR/Plugins/1.28.0/Android/OVRPlugin.aar.meta b/Assets/Oculus/VR/Plugins/1.28.0/Android/OVRPlugin.aar.meta new file mode 100644 index 0000000..e2605a3 --- /dev/null +++ b/Assets/Oculus/VR/Plugins/1.28.0/Android/OVRPlugin.aar.meta @@ -0,0 +1,30 @@ +fileFormatVersion: 2 +guid: 860cba4d1c3daba448d8983ed6b29cf0 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + - first: + Android: Android + second: + enabled: 1 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/1.28.0/Win.meta b/Assets/Oculus/VR/Plugins/1.28.0/Win.meta new file mode 100644 index 0000000..e085a88 --- /dev/null +++ b/Assets/Oculus/VR/Plugins/1.28.0/Win.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0af5073aba509df41afa8a8bcee34be0 +folderAsset: yes +timeCreated: 1528423694 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/1.28.0/Win/OVRPlugin.dll b/Assets/Oculus/VR/Plugins/1.28.0/Win/OVRPlugin.dll new file mode 100644 index 0000000..908ae32 Binary files /dev/null and b/Assets/Oculus/VR/Plugins/1.28.0/Win/OVRPlugin.dll differ diff --git a/Assets/Oculus/VR/Plugins/1.28.0/Win/OVRPlugin.dll.meta b/Assets/Oculus/VR/Plugins/1.28.0/Win/OVRPlugin.dll.meta new file mode 100644 index 0000000..626467f --- /dev/null +++ b/Assets/Oculus/VR/Plugins/1.28.0/Win/OVRPlugin.dll.meta @@ -0,0 +1,44 @@ +fileFormatVersion: 2 +guid: e1099179ec97b2743b1e800ec42ea393 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + - first: + '': Editor + second: + enabled: 0 + settings: + CPU: X86 + OS: Windows + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: X86 + DefaultValueInitialized: true + OS: Windows + - first: + Standalone: Win + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/1.28.0/Win64.meta b/Assets/Oculus/VR/Plugins/1.28.0/Win64.meta new file mode 100644 index 0000000..d7b64ee --- /dev/null +++ b/Assets/Oculus/VR/Plugins/1.28.0/Win64.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f7bf981afd593e14fba8320eddff0368 +folderAsset: yes +timeCreated: 1528423694 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/1.28.0/Win64/OVRPlugin.dll b/Assets/Oculus/VR/Plugins/1.28.0/Win64/OVRPlugin.dll new file mode 100644 index 0000000..8b030b6 Binary files /dev/null and b/Assets/Oculus/VR/Plugins/1.28.0/Win64/OVRPlugin.dll differ diff --git a/Assets/Oculus/VR/Plugins/1.28.0/Win64/OVRPlugin.dll.meta b/Assets/Oculus/VR/Plugins/1.28.0/Win64/OVRPlugin.dll.meta new file mode 100644 index 0000000..6d5043a --- /dev/null +++ b/Assets/Oculus/VR/Plugins/1.28.0/Win64/OVRPlugin.dll.meta @@ -0,0 +1,44 @@ +fileFormatVersion: 2 +guid: fa484251c443b3244925e141c448c862 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + - first: + '': Editor + second: + enabled: 0 + settings: + CPU: X86_64 + OS: Windows + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: X86_64 + DefaultValueInitialized: true + OS: Windows + - first: + Standalone: Win64 + second: + enabled: 1 + settings: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/MacOSX.meta b/Assets/Oculus/VR/Plugins/MacOSX.meta new file mode 100644 index 0000000..0088008 --- /dev/null +++ b/Assets/Oculus/VR/Plugins/MacOSX.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3b0808cda9a8d4b458fad2788f63ff7f +folderAsset: yes +timeCreated: 1522878718 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle.meta b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle.meta new file mode 100644 index 0000000..a1ca751 --- /dev/null +++ b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle.meta @@ -0,0 +1,141 @@ +fileFormatVersion: 2 +guid: 537f08a1aac8553459f3574a939a05ed +folderAsset: yes +timeCreated: 1441326310 +licenseType: Pro +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + '': WP8 + second: + enabled: 0 + settings: + CPU: AnyCPU + DontProcess: False + PlaceholderPath: + data: + first: + Android: Android + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: OSX + data: + first: + Facebook: Win + second: + enabled: 1 + settings: + CPU: AnyCPU + data: + first: + Facebook: Win64 + second: + enabled: 1 + settings: + CPU: AnyCPU + data: + first: + Samsung TV: SamsungTV + second: + enabled: 0 + settings: + STV_MODEL: STANDARD_13 + data: + first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: x86 + data: + first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: x86_64 + data: + first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: OSXIntel + second: + enabled: 1 + settings: + CPU: AnyCPU + data: + first: + Standalone: OSXIntel64 + second: + enabled: 1 + settings: + CPU: AnyCPU + data: + first: + Standalone: OSXUniversal + second: + enabled: 1 + settings: + CPU: AnyCPU + data: + first: + Standalone: Win + second: + enabled: 1 + settings: + CPU: AnyCPU + data: + first: + Standalone: Win64 + second: + enabled: 1 + settings: + CPU: AnyCPU + data: + first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + DontProcess: False + PlaceholderPath: + SDK: AnySDK + data: + first: + iPhone: iOS + second: + enabled: 0 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents.meta b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents.meta new file mode 100644 index 0000000..a609e8a --- /dev/null +++ b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 648a2605a2bc848728f27adc59fe8010 +folderAsset: yes +timeCreated: 1441327083 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/Info.plist b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/Info.plist new file mode 100644 index 0000000..bf16a67 --- /dev/null +++ b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/Info.plist @@ -0,0 +1,36 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + OVRGamepad + CFBundleGetInfoString + + CFBundleIconFile + + CFBundleIdentifier + + CFBundleInfoDictionaryVersion + 6.0 + CFBundleLongVersionString + + CFBundleName + + CFBundlePackageType + APPL + CFBundleShortVersionString + + CFBundleSignature + ???? + CFBundleVersion + + CSResourcesFileMapped + + LSRequiresCarbon + + NSHumanReadableCopyright + + + diff --git a/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/Info.plist.meta b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/Info.plist.meta new file mode 100644 index 0000000..b23513b --- /dev/null +++ b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/Info.plist.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5de957de5187b406687f99aa5a30871b +timeCreated: 1441327083 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/MacOS.meta b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/MacOS.meta new file mode 100644 index 0000000..ad324a3 --- /dev/null +++ b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/MacOS.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8fad9c333897547a59f91edacd69f7db +folderAsset: yes +timeCreated: 1441327083 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/MacOS/OVRGamepad b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/MacOS/OVRGamepad new file mode 100644 index 0000000..7c7bf1c Binary files /dev/null and b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/MacOS/OVRGamepad differ diff --git a/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/MacOS/OVRGamepad.meta b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/MacOS/OVRGamepad.meta new file mode 100644 index 0000000..6976cab --- /dev/null +++ b/Assets/Oculus/VR/Plugins/MacOSX/OVRGamepad.bundle/Contents/MacOS/OVRGamepad.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3af79ea9cc1984e498b6a7e5409cdcac +timeCreated: 1441327083 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Plugins/placeholder.txt b/Assets/Oculus/VR/Plugins/placeholder.txt new file mode 100644 index 0000000..e69de29 diff --git a/Assets/Oculus/VR/Plugins/placeholder.txt.meta b/Assets/Oculus/VR/Plugins/placeholder.txt.meta new file mode 100644 index 0000000..03ab984 --- /dev/null +++ b/Assets/Oculus/VR/Plugins/placeholder.txt.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6c111fff50cd6404baf2b833432e6ee8 +timeCreated: 1493325988 +licenseType: Free +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Prefabs.meta b/Assets/Oculus/VR/Prefabs.meta new file mode 100644 index 0000000..8018497 --- /dev/null +++ b/Assets/Oculus/VR/Prefabs.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: bfe39332fdb4cb044b619b3e4b890396 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Oculus/VR/Prefabs/Cursor_Timer.prefab b/Assets/Oculus/VR/Prefabs/Cursor_Timer.prefab new file mode 100644 index 0000000..92dd07b --- /dev/null +++ b/Assets/Oculus/VR/Prefabs/Cursor_Timer.prefab @@ -0,0 +1,70 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100000 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400000} + - 33: {fileID: 3300000} + - 23: {fileID: 2300000} + m_Layer: 0 + m_Name: Cursor_Timer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &400000 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.70000005, z: 1} + m_LocalScale: {x: .25, y: .25, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!23 &2300000 +Renderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_LightmapIndex: 255 + m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0} + m_Materials: + - {fileID: 2100000, guid: 9531aa878fd5c4749b288b72024e8d2f, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_LightProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3300000 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 100000} + m_IsPrefabParent: 1 + m_IsExploded: 1 diff --git a/Assets/Oculus/VR/Prefabs/Cursor_Timer.prefab.meta b/Assets/Oculus/VR/Prefabs/Cursor_Timer.prefab.meta new file mode 100644 index 0000000..33221be --- /dev/null +++ b/Assets/Oculus/VR/Prefabs/Cursor_Timer.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 5a7682c244a150b49965c007720bdbb7 +NativeFormatImporter: + userData: diff --git a/Assets/Oculus/VR/Prefabs/OVRCameraRig.prefab b/Assets/Oculus/VR/Prefabs/OVRCameraRig.prefab new file mode 100644 index 0000000..9bfbc7d --- /dev/null +++ b/Assets/Oculus/VR/Prefabs/OVRCameraRig.prefab @@ -0,0 +1,400 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100000 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400000} + - 20: {fileID: 20000010189485334} + m_Layer: 0 + m_Name: RightEyeAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100002 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400002} + - 81: {fileID: 8100000} + - 20: {fileID: 2037080} + m_Layer: 0 + m_Name: CenterEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100004 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400004} + - 114: {fileID: 11400010} + - 114: {fileID: 11400000} + m_Layer: 0 + m_Name: OVRCameraRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100006 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400006} + - 20: {fileID: 20000012175207052} + m_Layer: 0 + m_Name: LeftEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &109308 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 482130} + m_Layer: 0 + m_Name: LeftHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &113768 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 487254} + m_Layer: 0 + m_Name: RightHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &159718 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 459718} + m_Layer: 0 + m_Name: TrackingSpace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &168682 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 468682} + m_Layer: 0 + m_Name: TrackerAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &400000 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 459718} + m_RootOrder: 2 +--- !u!4 &400002 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 459718} + m_RootOrder: 1 +--- !u!4 &400004 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 459718} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!4 &400006 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100006} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 459718} + m_RootOrder: 0 +--- !u!4 &459718 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 159718} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 400006} + - {fileID: 400002} + - {fileID: 400000} + - {fileID: 468682} + - {fileID: 482130} + - {fileID: 487254} + m_Father: {fileID: 400004} + m_RootOrder: 0 +--- !u!4 &468682 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168682} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 459718} + m_RootOrder: 3 +--- !u!4 &482130 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 109308} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 459718} + m_RootOrder: 4 +--- !u!4 &487254 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 113768} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 459718} + m_RootOrder: 5 +--- !u!20 &2037080 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 1000 + field of view: 90 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!81 &8100000 +AudioListener: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100002} + m_Enabled: 1 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e933e81d3c20c74ea6fdc708a67e3a5, type: 3} + m_Name: + m_EditorClassIdentifier: + queueAhead: 1 + useRecommendedMSAALevel: 0 + enableAdaptiveResolution: 0 + minRenderScale: 0.7 + maxRenderScale: 1 + enableMixedReality: 0 + useDirectComposition: 0 + greenScreenColorToleranceA: 20 + greenScreenColorToleranceB: 15 + greenScreenColorAlphaCutoff: 0.01 + greenScreenColorShadows: 0.02 + _trackingOriginType: 0 + usePositionTracking: 1 + useRotationTracking: 1 + useIPDInPositionTracking: 1 + resetTrackerOnLoad: 0 + multipleMainCameraWarningPresented: 0 +--- !u!114 &11400010 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df9f338034892c44ebb62d97894772f1, type: 3} + m_Name: + m_EditorClassIdentifier: + usePerEyeCameras: 0 + useFixedUpdateForTracking: 0 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 100004} + m_IsPrefabParent: 1 +--- !u!20 &20000010189485334 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100000} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 2 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!20 &20000012175207052 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100006} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 1 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 diff --git a/Assets/Oculus/VR/Prefabs/OVRCameraRig.prefab.meta b/Assets/Oculus/VR/Prefabs/OVRCameraRig.prefab.meta new file mode 100644 index 0000000..2c24536 --- /dev/null +++ b/Assets/Oculus/VR/Prefabs/OVRCameraRig.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 126d619cf4daa52469682f85c1378b4a +NativeFormatImporter: + userData: diff --git a/Assets/Oculus/VR/Prefabs/OVRCubemapCaptureProbe.prefab b/Assets/Oculus/VR/Prefabs/OVRCubemapCaptureProbe.prefab new file mode 100644 index 0000000..42a5a98 --- /dev/null +++ b/Assets/Oculus/VR/Prefabs/OVRCubemapCaptureProbe.prefab @@ -0,0 +1,58 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &115974 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 400110} + - 114: {fileID: 11407504} + m_Layer: 0 + m_Name: OVRCubemapCaptureProbe + m_TagString: Untagged + m_Icon: {fileID: 2974397684917235467, guid: 0000000000000000d000000000000000, type: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &400110 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115974} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3.74, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!114 &11407504 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 115974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a489178b0acf0147846b3873447beaf, type: 3} + m_Name: + m_EditorClassIdentifier: + autoTriggerAfterLaunch: 1 + autoTriggerDelay: 1 + triggeredByKey: 289 + pathName: + cubemapSize: 2048 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 115974} + m_IsPrefabParent: 1 diff --git a/Assets/Oculus/VR/Prefabs/OVRCubemapCaptureProbe.prefab.meta b/Assets/Oculus/VR/Prefabs/OVRCubemapCaptureProbe.prefab.meta new file mode 100644 index 0000000..a843125 --- /dev/null +++ b/Assets/Oculus/VR/Prefabs/OVRCubemapCaptureProbe.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a400e96d4650ff4e827a7e727fad81d +timeCreated: 1464847331 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Prefabs/OVRPlayerController.prefab b/Assets/Oculus/VR/Prefabs/OVRPlayerController.prefab new file mode 100644 index 0000000..179fb0a --- /dev/null +++ b/Assets/Oculus/VR/Prefabs/OVRPlayerController.prefab @@ -0,0 +1,491 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100004 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 400008} + - component: {fileID: 11400020} + - component: {fileID: 11400002} + m_Layer: 0 + m_Name: OVRCameraRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100006 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 400002} + m_Layer: 0 + m_Name: ForwardDirection + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100008 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 400006} + - component: {fileID: 14300000} + - component: {fileID: 11400010} + - component: {fileID: 11462408} + - component: {fileID: 11493974} + m_Layer: 0 + m_Name: OVRPlayerController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100010 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 400010} + m_Layer: 0 + m_Name: LeftEyeAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100012 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 400012} + - component: {fileID: 8100000} + - component: {fileID: 2015248} + - component: {fileID: 11414578} + m_Layer: 0 + m_Name: CenterEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &100014 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 400014} + m_Layer: 0 + m_Name: RightEyeAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &134650 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 481164} + m_Layer: 0 + m_Name: RightHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &162066 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 462066} + m_Layer: 0 + m_Name: TrackingSpace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &162068 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 462068} + m_Layer: 0 + m_Name: TrackerAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &168962 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 477154} + m_Layer: 0 + m_Name: LeftHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &400002 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100006} + 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_Children: [] + m_Father: {fileID: 400006} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &400006 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100008} + 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_Children: + - {fileID: 400002} + - {fileID: 400008} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &400008 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + 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_Children: + - {fileID: 462066} + m_Father: {fileID: 400006} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &400010 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100010} + 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_Children: [] + m_Father: {fileID: 462066} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &400012 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100012} + 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_Children: [] + m_Father: {fileID: 462066} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &400014 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100014} + 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_Children: [] + m_Father: {fileID: 462066} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &462066 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 162066} + 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_Children: + - {fileID: 400010} + - {fileID: 400012} + - {fileID: 400014} + - {fileID: 462068} + - {fileID: 477154} + - {fileID: 481164} + m_Father: {fileID: 400008} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &462068 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 162068} + 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_Children: [] + m_Father: {fileID: 462066} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &477154 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 168962} + 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_Children: [] + m_Father: {fileID: 462066} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &481164 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 134650} + 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_Children: [] + m_Father: {fileID: 462066} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &2015248 +Camera: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100012} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 1000 + field of view: 90 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!81 &8100000 +AudioListener: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100012} + m_Enabled: 1 +--- !u!114 &11400002 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e933e81d3c20c74ea6fdc708a67e3a5, type: 3} + m_Name: + m_EditorClassIdentifier: + queueAhead: 1 + useRecommendedMSAALevel: 0 + enableAdaptiveResolution: 0 + minRenderScale: 0.7 + maxRenderScale: 1 + expandMixedRealityCapturePropertySheet: 0 + enableMixedReality: 0 + compositionMethod: 0 + extraHiddenLayers: + serializedVersion: 2 + m_Bits: 0 + capturingCameraDevice: 0 + flipCameraFrameHorizontally: 0 + flipCameraFrameVertically: 0 + handPoseStateLatency: 0 + sandwichCompositionRenderLatency: 0 + sandwichCompositionBufferedFrames: 8 + chromaKeyColor: {r: 0, g: 1, b: 0, a: 1} + chromaKeySimilarity: 0.6 + chromaKeySmoothRange: 0.03 + chromaKeySpillRange: 0.06 + useDynamicLighting: 0 + depthQuality: 1 + dynamicLightingSmoothFactor: 8 + dynamicLightingDepthVariationClampingValue: 0.001 + virtualGreenScreenType: 0 + virtualGreenScreenTopY: 10 + virtualGreenScreenBottomY: -10 + virtualGreenScreenApplyDepthCulling: 0 + virtualGreenScreenDepthTolerance: 0.2 + _trackingOriginType: 0 + usePositionTracking: 1 + useRotationTracking: 1 + useIPDInPositionTracking: 1 + resetTrackerOnLoad: 0 +--- !u!114 &11400010 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100008} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0950df82e7936c84983497630bde5b54, type: 3} + m_Name: + m_EditorClassIdentifier: + Acceleration: 0.1 + Damping: 0.3 + BackAndSideDampen: 0.5 + JumpForce: 0.3 + RotationAmount: 1.5 + RotationRatchet: 45 + HmdResetsY: 1 + HmdRotatesY: 1 + GravityModifier: 1 + useProfileData: 1 +--- !u!114 &11400020 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100004} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df9f338034892c44ebb62d97894772f1, type: 3} + m_Name: + m_EditorClassIdentifier: + usePerEyeCameras: 0 + useFixedUpdateForTracking: 0 +--- !u!114 &11414578 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100012} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df8e1d778abf442e4bec449c360e9e1c, type: 3} + m_Name: + m_EditorClassIdentifier: + fadeTime: 2 + fadeColor: {r: 0.01, g: 0.01, b: 0.01, a: 1} + fadeOnStart: 1 +--- !u!114 &11462408 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100008} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f07515ada089df47868559a20dd6783, type: 3} + m_Name: + m_EditorClassIdentifier: + quitKey: 27 + fadeInTexture: {fileID: 0} + speedRotationIncrement: 0.05 + layerName: Default +--- !u!114 &11493974 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100008} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b71d1996d67004241a3b69960856ffcb, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!143 &14300000 +CharacterController: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 100008} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Height: 2 + m_Radius: 0.5 + m_SlopeLimit: 45 + m_StepOffset: 0.3 + m_SkinWidth: 0.01 + m_MinMoveDistance: 0 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 100008} + m_IsPrefabParent: 1 diff --git a/Assets/Oculus/VR/Prefabs/OVRPlayerController.prefab.meta b/Assets/Oculus/VR/Prefabs/OVRPlayerController.prefab.meta new file mode 100644 index 0000000..a7e9be4 --- /dev/null +++ b/Assets/Oculus/VR/Prefabs/OVRPlayerController.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: ce816f2e6abb0504092c23ed9b970dfd +NativeFormatImporter: + userData: diff --git a/Assets/Oculus/VR/Prefabs/TrackedRemote.prefab b/Assets/Oculus/VR/Prefabs/TrackedRemote.prefab new file mode 100644 index 0000000..e57d46c --- /dev/null +++ b/Assets/Oculus/VR/Prefabs/TrackedRemote.prefab @@ -0,0 +1,645 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &112276 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 488160} + - component: {fileID: 11479374} + m_Layer: 0 + m_Name: TrackedRemote + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &488160 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 112276} + 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_Children: + - {fileID: 4000011296770734} + - {fileID: 4464436526328426} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &11479374 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 112276} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} + m_Name: + m_EditorClassIdentifier: + m_modelGearVrController: {fileID: 1000010178323718} + m_modelOculusGoController: {fileID: 1956530202777762} + m_controller: 33554432 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 112276} + m_IsPrefabParent: 1 +--- !u!1 &1000010178323718 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4000011296770734} + m_Layer: 0 + m_Name: GearVrControllerModel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011436655710 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4000012142331768} + - component: {fileID: 33000013153656990} + - component: {fileID: 23000011768000172} + m_Layer: 0 + m_Name: home_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000011549955176 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4000012748093882} + - component: {fileID: 33000013186836272} + - component: {fileID: 23000013477210968} + m_Layer: 0 + m_Name: trigger_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000012388513744 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4000010547406920} + - component: {fileID: 33000013134621756} + - component: {fileID: 23000010895726220} + m_Layer: 0 + m_Name: chassis_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000012567764716 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4000010554578882} + - component: {fileID: 33000013511306870} + - component: {fileID: 23000012129420234} + m_Layer: 0 + m_Name: disc_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000013696185028 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4000011347987256} + - component: {fileID: 33000013945561740} + - component: {fileID: 23000010818504298} + m_Layer: 0 + m_Name: back_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000013718830530 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4000011835757296} + - component: {fileID: 33000010177796194} + - component: {fileID: 23000011389392996} + m_Layer: 0 + m_Name: text_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1000014047055526 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4000012637917122} + - component: {fileID: 33000013874298672} + - component: {fileID: 23000010051961506} + m_Layer: 0 + m_Name: center_button_PLY + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1956530202777762 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4464436526328426} + - component: {fileID: 33356632527651328} + - component: {fileID: 23705978566827108} + m_Layer: 0 + m_Name: OculusGoControllerModel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4000010547406920 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012388513744} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4000011296770734} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4000010554578882 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012567764716} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4000011296770734} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4000011296770734 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000010178323718} + 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_Children: + - {fileID: 4000011347987256} + - {fileID: 4000012637917122} + - {fileID: 4000010547406920} + - {fileID: 4000010554578882} + - {fileID: 4000012142331768} + - {fileID: 4000011835757296} + - {fileID: 4000012748093882} + m_Father: {fileID: 488160} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4000011347987256 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013696185028} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4000011296770734} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4000011835757296 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013718830530} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4000011296770734} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4000012142331768 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011436655710} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4000011296770734} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4000012637917122 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000014047055526} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4000011296770734} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4000012748093882 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011549955176} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.00007190227, z: -0.023617705} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4000011296770734} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4464436526328426 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1956530202777762} + m_LocalRotation: {x: 6.123234e-17, y: -0.0000000754979, z: 6.1232336e-17, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 488160} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &23000010051961506 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000014047055526} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f6ccc53b9bcfb114996e76ee88ce6948, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23000010818504298 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013696185028} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f6ccc53b9bcfb114996e76ee88ce6948, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23000010895726220 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012388513744} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f6ccc53b9bcfb114996e76ee88ce6948, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23000011389392996 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013718830530} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f6ccc53b9bcfb114996e76ee88ce6948, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23000011768000172 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011436655710} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f6ccc53b9bcfb114996e76ee88ce6948, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23000012129420234 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012567764716} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f6ccc53b9bcfb114996e76ee88ce6948, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23000013477210968 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011549955176} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: f6ccc53b9bcfb114996e76ee88ce6948, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!23 &23705978566827108 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1956530202777762} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 6c0b208d35ece4a459821be19df69561, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!33 &33000010177796194 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013718830530} + m_Mesh: {fileID: 4300000, guid: 84c37137326e7b943a87be7ae2a7ea19, type: 3} +--- !u!33 &33000013134621756 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012388513744} + m_Mesh: {fileID: 4300012, guid: 84c37137326e7b943a87be7ae2a7ea19, type: 3} +--- !u!33 &33000013153656990 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011436655710} + m_Mesh: {fileID: 4300006, guid: 84c37137326e7b943a87be7ae2a7ea19, type: 3} +--- !u!33 &33000013186836272 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000011549955176} + m_Mesh: {fileID: 4300004, guid: 84c37137326e7b943a87be7ae2a7ea19, type: 3} +--- !u!33 &33000013511306870 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000012567764716} + m_Mesh: {fileID: 4300010, guid: 84c37137326e7b943a87be7ae2a7ea19, type: 3} +--- !u!33 &33000013874298672 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000014047055526} + m_Mesh: {fileID: 4300002, guid: 84c37137326e7b943a87be7ae2a7ea19, type: 3} +--- !u!33 &33000013945561740 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1000013696185028} + m_Mesh: {fileID: 4300008, guid: 84c37137326e7b943a87be7ae2a7ea19, type: 3} +--- !u!33 &33356632527651328 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1956530202777762} + m_Mesh: {fileID: 4300000, guid: e0f1914fdbfd3764faeff5474c0cbe1e, type: 3} diff --git a/Assets/Oculus/VR/Prefabs/TrackedRemote.prefab.meta b/Assets/Oculus/VR/Prefabs/TrackedRemote.prefab.meta new file mode 100644 index 0000000..f4e2875 --- /dev/null +++ b/Assets/Oculus/VR/Prefabs/TrackedRemote.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d9809c5e8418bb047bf2c8ba1d1a2cec +timeCreated: 1486168892 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Resources.meta b/Assets/Oculus/VR/Resources.meta new file mode 100644 index 0000000..8758267 --- /dev/null +++ b/Assets/Oculus/VR/Resources.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 807714291dbf2a54c9b3975c271b2493 +folderAsset: yes +timeCreated: 1466707364 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Resources/Cubemap Blit.shader b/Assets/Oculus/VR/Resources/Cubemap Blit.shader new file mode 100644 index 0000000..6151629 --- /dev/null +++ b/Assets/Oculus/VR/Resources/Cubemap Blit.shader @@ -0,0 +1,75 @@ +Shader "Oculus/Cubemap Blit" { + Properties{ + _MainTex("Base (RGB) Trans (A)", CUBE) = "white" {} + _face("Face", Int) = 0 + _linearToSrgb("Perform linear-to-gamma conversion", Int) = 0 + _premultiply("Cubemap Blit", Int) = 0 + } + SubShader{ + Tags{ "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } + + Pass{ + ZWrite Off + ColorMask RGBA + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata_t + { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + half3 cubedir : TEXCOORD0; + }; + + samplerCUBE _MainTex; + float4 _MainTex_ST; + int _face; + int _linearToSrgb; + int _premultiply; + + v2f vert (appdata_t va) + { + v2f vo; + vo.vertex = UnityObjectToClipPos(va.vertex); + + //Face bases, assuming +x, -x, +z, -z, +y, -y with origin at bottom-left. + float3 o[6] = { {1.0, -1.0, 1.0}, {-1.0, -1.0, -1.0}, {-1.0, 1.0, 1.0}, {-1.0, -1.0, -1.0}, {-1.0, -1.0, 1.0}, { 1.0, -1.0, -1.0} }; + float3 u[6] = { {0.0, 0.0, -1.0}, { 0.0, 0.0, 1.0}, { 1.0, 0.0, 0.0}, { 1.0, 0.0, 0.0}, { 1.0, 0.0, 0.0}, {-1.0, 0.0, 0.0} }; + float3 v[6] = { {0.0, 1.0, 0.0}, { 0.0, 1.0, 0.0}, { 0.0, 0.0, -1.0}, { 0.0, 0.0, 1.0}, { 0.0, 1.0, 0.0}, { 0.0, 1.0, 0.0} }; + + //Map the input UV to the corresponding face basis. + vo.cubedir = o[_face] + 2.0*va.texcoord.x * u[_face] + 2.0*(1.0 - va.texcoord.y) * v[_face]; + + return vo; + } + + fixed4 frag (v2f vi) : COLOR + { + fixed4 col = texCUBE(_MainTex, vi.cubedir); + + if (_linearToSrgb) + { + float3 S1 = sqrt(col.rgb); + float3 S2 = sqrt(S1); + float3 S3 = sqrt(S2); + col.rgb = 0.662002687 * S1 + 0.684122060 * S2 - 0.323583601 * S3 - 0.0225411470 * col.rgb; + } + + if (_premultiply) + col.rgb *= col.a; + + return col; + } + ENDCG + } + } +} diff --git a/Assets/Oculus/VR/Resources/Cubemap Blit.shader.meta b/Assets/Oculus/VR/Resources/Cubemap Blit.shader.meta new file mode 100644 index 0000000..849ae16 --- /dev/null +++ b/Assets/Oculus/VR/Resources/Cubemap Blit.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 561ccac587275c745aec500620f12fc7 +timeCreated: 1507678760 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Resources/OVRMRCameraFrame.shader b/Assets/Oculus/VR/Resources/OVRMRCameraFrame.shader new file mode 100644 index 0000000..3d15c94 --- /dev/null +++ b/Assets/Oculus/VR/Resources/OVRMRCameraFrame.shader @@ -0,0 +1,99 @@ +Shader "Oculus/OVRMRCameraFrame" +{ + Properties + { + _Color("Main Color", Color) = (1,1,1,1) + _MainTex("Main Texture", 2D) = "white" {} + _Visible("Visible", Range(0.0,1.0)) = 1.0 + _ChromaAlphaCutoff("ChromaAlphaCutoff", Range(0.0,1.0)) = 0.01 + _ChromaToleranceA("ChromaToleranceA", Range(0.0,50.0)) = 20.0 + _ChromaToleranceB("ChromaToleranceB", Range(0.0,50.0)) = 15.0 + _ChromaShadows("ChromaShadows", Range(0.0,1.0)) = 0.02 + } + SubShader + { + Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } + Blend SrcAlpha OneMinusSrcAlpha + AlphaTest Greater .01 + Fog{ Mode Off } + LOD 100 + Cull Off + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + #include "OVRMRChromaKey.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + float2 texcoord : TEXCOORD0; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + sampler2D _MaskTex; + + float4 _TextureDimension; // (w, h, 1/w, 1/h) + + fixed4 _Color; + fixed _Visible; + float4 _FlipParams; // (flip_h, flip_v, 0, 0) + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.vertex *= _Visible; + o.texcoord = TRANSFORM_TEX(float2(v.texcoord.x, 1.0-v.texcoord.y), _MainTex); + return o; + } + + fixed GetMask(float2 uv) + { + return tex2D(_MaskTex, uv).r; + } + + fixed4 GetCameraColor(float2 colorUV) + { + fixed4 c = tex2D(_MainTex, colorUV) * _Color; + return c; + } + + fixed4 frag (v2f i) : SV_Target + { + float2 colorUV = i.texcoord; + if (_FlipParams.x > 0.0) + { + colorUV.x = 1.0 - colorUV.x; + } + if (_FlipParams.y > 0.0) + { + colorUV.y = 1.0 - colorUV.y; + } + float mask = GetMask(float2(colorUV.x, 1.0 - colorUV.y)); + if (mask == 0.0) + { + discard; + } + float4 col = GetColorAfterChromaKey(colorUV, _TextureDimension.zw, 1.0); + if (col.a < 0.0) + { + discard; + } + return col; + } + ENDCG + } + } +} diff --git a/Assets/Oculus/VR/Resources/OVRMRCameraFrame.shader.meta b/Assets/Oculus/VR/Resources/OVRMRCameraFrame.shader.meta new file mode 100644 index 0000000..bb6256b --- /dev/null +++ b/Assets/Oculus/VR/Resources/OVRMRCameraFrame.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2bd7618c3fa0e4b4ab8e08dc3fadc376 +timeCreated: 1497574409 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Resources/OVRMRCameraFrameLit.shader b/Assets/Oculus/VR/Resources/OVRMRCameraFrameLit.shader new file mode 100644 index 0000000..36bdc77 --- /dev/null +++ b/Assets/Oculus/VR/Resources/OVRMRCameraFrameLit.shader @@ -0,0 +1,112 @@ +Shader "Oculus/OVRMRCameraFrameLit" { + Properties{ + _Color("Color", Color) = (1,1,1,1) + _MainTex("Albedo (RGB)", 2D) = "white" {} + _DepthTex("Depth (cm)", 2D) = "black" {} + _InconfidenceTex("Inconfidence (0-100)", 2D) = "black" {} + _Visible("Visible", Range(0.0,1.0)) = 1.0 + } + SubShader{ + Tags{ "Queue" = "Transparent" "RenderType" = "Transparent" } + LOD 200 + + CGPROGRAM + #pragma surface surf Lambert alpha:fade + #pragma target 3.0 + + #include "OVRMRChromaKey.cginc" + + #define TEST_ENVIRONMENT 0 + + sampler2D _MainTex; + sampler2D _DepthTex; + sampler2D _MaskTex; + + float4 _TextureDimension; // (w, h, 1/w, 1/h) + float4 _TextureWorldSize; // (width_in_meter, height_in_meter, 0, 0) + + float _SmoothFactor; + float _DepthVariationClamp; + + float _CullingDistance; + + struct Input { + #if TEST_ENVIRONMENT + float2 uv_MainTex; + #endif + float4 screenPos; + }; + + fixed4 _Color; + fixed _Visible; + float4 _FlipParams; // (flip_h, flip_v, 0, 0) + + fixed GetMask(float2 uv) + { + return tex2D(_MaskTex, uv).r; + } + + fixed4 GetCameraColor(float2 colorUV) + { + fixed4 c = tex2D(_MainTex, colorUV) * _Color; + return c; + } + + float GetDepth(float2 uv) + { + float depth = tex2D(_DepthTex, uv).x * 1.0 / 100; + return depth; + } + + float3 GetNormal(float2 uv) + { + float dz_x = GetDepth(uv + float2(_TextureDimension.z, 0)) - GetDepth(uv - float2(_TextureDimension.z, 0)); + float dz_y = GetDepth(uv + float2(0, _TextureDimension.w)) - GetDepth(uv - float2(0, _TextureDimension.w)); + dz_x = clamp(dz_x, -_DepthVariationClamp, _DepthVariationClamp); + dz_y = clamp(dz_y, -_DepthVariationClamp, _DepthVariationClamp); + //float dist = 0.01; + //float3 normal = cross(float3(dist, 0, dz_x), float3(0, dist, dz_y)); + float3 normal = cross(float3(_TextureWorldSize.x * _TextureDimension.z * 2.0 * _SmoothFactor, 0, dz_x), float3(0, _TextureWorldSize.y * _TextureDimension.w * 2.0 * _SmoothFactor, dz_y)); + normal = normalize(normal); + return normal; + } + + void surf(Input IN, inout SurfaceOutput o) { + #if TEST_ENVIRONMENT + float2 colorUV = float2(IN.uv_MainTex.x, IN.uv_MainTex.y); + #else + float2 screenUV = IN.screenPos.xy / IN.screenPos.w; + float2 colorUV = float2(screenUV.x, 1.0 - screenUV.y); + #endif + if (_FlipParams.x > 0.0) + { + colorUV.x = 1.0 - colorUV.x; + } + if (_FlipParams.y > 0.0) + { + colorUV.y = 1.0 - colorUV.y; + } + float mask = GetMask(colorUV); + if (mask == 0.0) + { + discard; + } + float4 col = GetColorAfterChromaKey(colorUV, _TextureDimension.zw, 1.0); + if (col.a < 0.0) + { + discard; + } + float depth = GetDepth(colorUV); + if (depth > _CullingDistance) + { + discard; + } + float3 normal = GetNormal(colorUV); + o.Albedo = col.rgb; + o.Normal = normal; + o.Alpha = col.a *_Visible; + } + ENDCG + } + FallBack "Alpha-Diffuse" +} diff --git a/Assets/Oculus/VR/Resources/OVRMRCameraFrameLit.shader.meta b/Assets/Oculus/VR/Resources/OVRMRCameraFrameLit.shader.meta new file mode 100644 index 0000000..2e386c0 --- /dev/null +++ b/Assets/Oculus/VR/Resources/OVRMRCameraFrameLit.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a8577c885e80d8043946ac5b7abcf9a1 +timeCreated: 1497574409 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Resources/OVRMRChromaKey.cginc b/Assets/Oculus/VR/Resources/OVRMRChromaKey.cginc new file mode 100644 index 0000000..1897cdf --- /dev/null +++ b/Assets/Oculus/VR/Resources/OVRMRChromaKey.cginc @@ -0,0 +1,103 @@ +fixed4 _ChromaKeyColor; +float _ChromaKeySimilarity; +float _ChromaKeySmoothRange; +float _ChromaKeySpillRange; + +// https://en.wikipedia.org/wiki/YUV +float3 RGB2YUV(float3 rgb) +{ + float r = rgb.x; + float g = rgb.y; + float b = rgb.z; + float y = 0.2126 * r + 0.7152 * g + 0.0722 * b; + float u = -0.09991 * r - 0.33609 * g + 0.436 * b; + float v = 0.615 * r - 0.55861 * g - 0.05639 * b; + return float3(y, u, v); +} + +float3 YUV2RGB(float3 yuv) +{ + float y = yuv.x; + float u = yuv.y; + float v = yuv.z; + float r = y + 1.28033 * v; + float g = y - 0.21482 * u - 0.38059 * v; + float b = y + 2.12798 * u; + return float3(r, g, b); +} + +fixed4 GetCameraColor(float2 colorUV); + +float ColorDistance_YUV_YUV(float3 yuv1, float3 yuv2) +{ + float dist = distance(yuv1.yz, yuv2.yz); + // Increase the distance if the brightness of the first color is too high. + // It fixed the error on the over exposure areas + dist += saturate(yuv1.x - 0.9); + return dist; +} + +float ColorDistance_RGB_YUV(float3 rgb1, float3 yuv2) +{ + float3 yuv1 = RGB2YUV(rgb1); + return ColorDistance_YUV_YUV(yuv1, yuv2); +} + + +float ColorDistance_RGB_RGB(float3 rgb1, float3 rgb2) +{ + float3 yuv1 = RGB2YUV(rgb1); + float3 yuv2 = RGB2YUV(rgb2); + return ColorDistance_YUV_YUV(yuv1, yuv2); +} + +float RGB2Gray(float3 rgb) +{ + float r = rgb.x; + float g = rgb.y; + float b = rgb.z; + float y = 0.2126 * r + 0.7152 * g + 0.0722 * b; + return y; +} + +float GetAlphaFromDistance(float dist) +{ + float result = smoothstep(_ChromaKeySimilarity, _ChromaKeySimilarity + _ChromaKeySmoothRange, dist); + result = result * result; + return result; +} + +float GetSpillFromDistance(float dist) +{ + float result = smoothstep(_ChromaKeySimilarity, _ChromaKeySimilarity + _ChromaKeySpillRange, dist); + result = result * result * result; + return result; +} + + +float4 GetColorAfterChromaKey(float2 UV, float2 deltaUV, float step) +{ + float3 chromaColor = _ChromaKeyColor.rgb; + float3 chromaYUV = RGB2YUV(chromaColor); + float dist = 0.0; + const int samples = 3; + float offset = ((float)samples - 1.0) / 2.0; + for (int i = 0; i < samples; ++i) + { + for (int j = 0; j < samples; ++j) + { + fixed4 color = GetCameraColor(UV + float2((float)i - offset, (float)j - offset) * deltaUV * step); + float d = ColorDistance_RGB_YUV(color, chromaYUV); + dist += d; + } + } + dist /= (samples * samples); + fixed4 centerColor = GetCameraColor(UV); + float alpha = GetAlphaFromDistance(dist); + float spill = GetSpillFromDistance(dist); + float gray = RGB2Gray(centerColor.rgb); + float4 outColor; + outColor.rgb = lerp(float3(gray, gray, gray), centerColor.rgb, spill); + outColor.a = alpha; + return outColor; +} diff --git a/Assets/Oculus/VR/Resources/OVRMRChromaKey.cginc.meta b/Assets/Oculus/VR/Resources/OVRMRChromaKey.cginc.meta new file mode 100644 index 0000000..172fb64 --- /dev/null +++ b/Assets/Oculus/VR/Resources/OVRMRChromaKey.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 680577023e93e564c9b00f18b0164afa +timeCreated: 1503944830 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Resources/OVRMRClipPlane.shader b/Assets/Oculus/VR/Resources/OVRMRClipPlane.shader new file mode 100644 index 0000000..ba559c2 --- /dev/null +++ b/Assets/Oculus/VR/Resources/OVRMRClipPlane.shader @@ -0,0 +1,50 @@ +Shader "Oculus/OVRMRClipPlane" +{ + Properties + { + _Color("Chroma Key Color", Color) = (0,1,0,1) + _Visible("Visible", Range(0.0,1.0)) = 1.0 + } + SubShader + { + Tags { "RenderType"="Opaque" } + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + }; + + fixed4 _Color; + fixed _Visible; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.vertex *= _Visible; + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + fixed4 col = _Color; + return col; + } + ENDCG + } + } +} diff --git a/Assets/Oculus/VR/Resources/OVRMRClipPlane.shader.meta b/Assets/Oculus/VR/Resources/OVRMRClipPlane.shader.meta new file mode 100644 index 0000000..e08ab95 --- /dev/null +++ b/Assets/Oculus/VR/Resources/OVRMRClipPlane.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2ab721dccaa7e6f4693cedd904dfdcac +timeCreated: 1494743027 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Resources/OVRMRUnlit.shader b/Assets/Oculus/VR/Resources/OVRMRUnlit.shader new file mode 100644 index 0000000..fe32817 --- /dev/null +++ b/Assets/Oculus/VR/Resources/OVRMRUnlit.shader @@ -0,0 +1,48 @@ +Shader "Oculus/Unlit" { + Properties{ + _Color("Main Color", Color) = (1,1,1,1) + } + + SubShader{ + Tags{ "RenderType" = "Opaque" } + LOD 100 + + Pass{ + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + }; + + struct v2f { + float4 vertex : SV_POSITION; + UNITY_FOG_COORDS(0) + }; + + fixed4 _Color; + + v2f vert(appdata_t v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag(v2f i) : COLOR + { + fixed4 col = _Color; + UNITY_APPLY_FOG(i.fogCoord, col); + UNITY_OPAQUE_ALPHA(col.a); + return col; + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Assets/Oculus/VR/Resources/OVRMRUnlit.shader.meta b/Assets/Oculus/VR/Resources/OVRMRUnlit.shader.meta new file mode 100644 index 0000000..5744562 --- /dev/null +++ b/Assets/Oculus/VR/Resources/OVRMRUnlit.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9aa46566e1d86644c9a55e3037e935f6 +timeCreated: 1504826310 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Resources/OVRMRUnlitTransparent.shader b/Assets/Oculus/VR/Resources/OVRMRUnlitTransparent.shader new file mode 100644 index 0000000..24bc741 --- /dev/null +++ b/Assets/Oculus/VR/Resources/OVRMRUnlitTransparent.shader @@ -0,0 +1,54 @@ +Shader "Oculus/UnlitTransparent" { + Properties{ + _MainTex("Base (RGB) Trans (A)", 2D) = "white" {} + } + + SubShader{ + Tags{ "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } + LOD 100 + + ZWrite Off + Blend SrcAlpha OneMinusSrcAlpha + + Pass{ + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + #pragma multi_compile_fog + + #include "UnityCG.cginc" + + struct appdata_t { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + }; + + struct v2f { + float4 vertex : SV_POSITION; + half2 texcoord : TEXCOORD0; + UNITY_FOG_COORDS(1) + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + + v2f vert(appdata_t v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + UNITY_TRANSFER_FOG(o,o.vertex); + return o; + } + + fixed4 frag(v2f i) : SV_Target + { + fixed4 col = tex2D(_MainTex, i.texcoord); + UNITY_APPLY_FOG(i.fogCoord, col); + return col; + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Assets/Oculus/VR/Resources/OVRMRUnlitTransparent.shader.meta b/Assets/Oculus/VR/Resources/OVRMRUnlitTransparent.shader.meta new file mode 100644 index 0000000..3b5e84d --- /dev/null +++ b/Assets/Oculus/VR/Resources/OVRMRUnlitTransparent.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 38ad33c152e32ee46a9bbbb0e656f7e1 +timeCreated: 1504826310 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Resources/Texture2D Blit.shader b/Assets/Oculus/VR/Resources/Texture2D Blit.shader new file mode 100644 index 0000000..ff3046b --- /dev/null +++ b/Assets/Oculus/VR/Resources/Texture2D Blit.shader @@ -0,0 +1,64 @@ +Shader "Oculus/Texture2D Blit" { + Properties{ + _MainTex("Base (RGB) Trans (A)", 2D) = "white" {} + _linearToSrgb("Perform linear-to-gamma conversion", Int) = 0 + _premultiply("Pre-multiply alpha", Int) = 0 + } + SubShader{ + Tags{ "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } + + Pass{ + ZWrite Off + ColorMask RGBA + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata_t + { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + half2 texcoord : TEXCOORD0; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + int _linearToSrgb; + int _premultiply; + + v2f vert (appdata_t v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + return o; + } + + fixed4 frag (v2f i) : COLOR + { + fixed4 col = tex2D(_MainTex, i.texcoord); + if (_linearToSrgb) + { + float3 S1 = sqrt(col.rgb); + float3 S2 = sqrt(S1); + float3 S3 = sqrt(S2); + col.rgb = 0.662002687 * S1 + 0.684122060 * S2 - 0.323583601 * S3 - 0.0225411470 * col.rgb; + } + + if (_premultiply) + col.rgb *= col.a; + + return col; + } + ENDCG + } + } +} diff --git a/Assets/Oculus/VR/Resources/Texture2D Blit.shader.meta b/Assets/Oculus/VR/Resources/Texture2D Blit.shader.meta new file mode 100644 index 0000000..7e8a996 --- /dev/null +++ b/Assets/Oculus/VR/Resources/Texture2D Blit.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a31796e9e8816c7448b55d584c9417f1 +timeCreated: 1498190241 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Resources/Underlay Impostor.shader b/Assets/Oculus/VR/Resources/Underlay Impostor.shader new file mode 100644 index 0000000..a9b8299 --- /dev/null +++ b/Assets/Oculus/VR/Resources/Underlay Impostor.shader @@ -0,0 +1,48 @@ +/* +This shader is used to render the impostor while clearing out the alpha of the eye buffer +The important details here are: +- the use of the Geometry+1 queue to make sure the impostor is drawn after all other opaque objects but before alpha +- the keepalpha parameter that allow unity to actually write the alpha we return at the end of the shader. +*/ + +Shader "Oculus/Underlay Impostor" { + Properties{ + _Color("Color", Color) = (1,1,1,1) + _MainTex("Albedo (RGB)", 2D) = "white" {} + _Glossiness("Smoothness", Range(0,1)) = 0.5 + _Metallic("Metallic", Range(0,1)) = 0.0 + } + SubShader{ + Tags { "Queue" = "Geometry+1" "RenderType" = "Opaque" } + LOD 200 + + CGPROGRAM + // Physically based Standard lighting model, and enable shadows on all light types + #pragma surface surf Standard fullforwardshadows keepalpha + + // Use shader model 3.0 target, to get nicer looking lighting + #pragma target 3.0 + + sampler2D _MainTex; + + struct Input { + float2 uv_MainTex; + }; + + half _Glossiness; + half _Metallic; + fixed4 _Color; + + void surf(Input IN, inout SurfaceOutputStandard o) { + // Albedo comes from a texture tinted by color + fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color; + o.Albedo = c.rgb; + // Metallic and smoothness come from slider variables + o.Metallic = _Metallic; + o.Smoothness = _Glossiness; + o.Alpha = 0.f; + } + ENDCG + } + FallBack "Diffuse" +} diff --git a/Assets/Oculus/VR/Resources/Underlay Impostor.shader.meta b/Assets/Oculus/VR/Resources/Underlay Impostor.shader.meta new file mode 100644 index 0000000..6cdc866 --- /dev/null +++ b/Assets/Oculus/VR/Resources/Underlay Impostor.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: eaeac9ce83896a04691d2590189776f5 +timeCreated: 1471282585 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Resources/Underlay Transparent Occluder.shader b/Assets/Oculus/VR/Resources/Underlay Transparent Occluder.shader new file mode 100644 index 0000000..9b3182a --- /dev/null +++ b/Assets/Oculus/VR/Resources/Underlay Transparent Occluder.shader @@ -0,0 +1,36 @@ +/* +Code for transparent object in front of the overlay +The keepalpha option is important to let unity maintain the alpha we return from the shader +*/ + +Shader "Oculus/Underlay Transparent Occluder" { + Properties{ + _Color("Main Color", Color) = (1,1,1,1) + _MainTex("Base (RGB) Trans (A)", 2D) = "white" {} + } + SubShader{ + Tags{ "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } + Blend SrcAlpha OneMinusSrcAlpha + + // extra pass that renders to depth buffer only + Pass{ + ZWrite On + ColorMask 0 + } + + CGPROGRAM + #pragma surface surf Lambert keepalpha + fixed4 _Color; + struct Input { + float4 color : COLOR; + }; + void surf(Input IN, inout SurfaceOutput o) { + o.Albedo = _Color.rgb; + o.Alpha = _Color.a; + } + ENDCG + } + + + Fallback "Transparent/VertexLit" +} diff --git a/Assets/Oculus/VR/Resources/Underlay Transparent Occluder.shader.meta b/Assets/Oculus/VR/Resources/Underlay Transparent Occluder.shader.meta new file mode 100644 index 0000000..5b73e5b --- /dev/null +++ b/Assets/Oculus/VR/Resources/Underlay Transparent Occluder.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d6708eb99dec8334fb83db57b764097a +timeCreated: 1470867310 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Resources/Unlit Transparent Color.shader b/Assets/Oculus/VR/Resources/Unlit Transparent Color.shader new file mode 100644 index 0000000..e0a0d90 --- /dev/null +++ b/Assets/Oculus/VR/Resources/Unlit Transparent Color.shader @@ -0,0 +1,17 @@ +Shader "Oculus/Unlit Transparent Color" { +Properties { + _Color ("Main Color", Color) = (1,1,1,1) +} + +SubShader { + Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"} + LOD 100 + Fog {Mode Off} + + ZTest Always + Blend SrcAlpha OneMinusSrcAlpha + Color [_Color] + + Pass {} +} +} diff --git a/Assets/Oculus/VR/Resources/Unlit Transparent Color.shader.meta b/Assets/Oculus/VR/Resources/Unlit Transparent Color.shader.meta new file mode 100644 index 0000000..4dd2ff7 --- /dev/null +++ b/Assets/Oculus/VR/Resources/Unlit Transparent Color.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ced943c76cb8fb8489bab18c3dfcdcd3 +timeCreated: 1435284538 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scenes.meta b/Assets/Oculus/VR/Scenes.meta new file mode 100644 index 0000000..f3fb6bd --- /dev/null +++ b/Assets/Oculus/VR/Scenes.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 68bc04068edcc1a4d89699ab4e2e69ae +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Oculus/VR/Scenes/Cubes.unity b/Assets/Oculus/VR/Scenes/Cubes.unity new file mode 100644 index 0000000..890da2a --- /dev/null +++ b/Assets/Oculus/VR/Scenes/Cubes.unity @@ -0,0 +1,47147 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 1, g: 1, b: 1, a: 1} + m_AmbientEquatorColor: {r: 1, g: 1, b: 1, a: 1} + m_AmbientGroundColor: {r: 1, g: 1, b: 1, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: .5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} +--- !u!127 &3 +LevelGameManager: + m_ObjectHideFlags: 0 +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 1 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 1 + m_BakeResolution: 50 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666657 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &3664027 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 3664028} + - 33: {fileID: 3664030} + - 23: {fileID: 3664029} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3664028 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 3664027} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 366225505} + m_RootOrder: 5 +--- !u!23 &3664029 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 3664027} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3664030 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 3664027} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &4240588 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 4240589} + - 33: {fileID: 4240591} + - 23: {fileID: 4240590} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4240589 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 4240588} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1318928928} + m_RootOrder: 0 +--- !u!23 &4240590 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 4240588} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &4240591 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 4240588} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &6176330 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 6176331} + - 33: {fileID: 6176333} + - 23: {fileID: 6176332} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6176331 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 6176330} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1435433903} + m_RootOrder: 3 +--- !u!23 &6176332 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 6176330} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &6176333 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 6176330} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &10900166 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 10900167} + - 33: {fileID: 10900169} + - 23: {fileID: 10900168} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &10900167 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 10900166} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1991877734} + m_RootOrder: 7 +--- !u!23 &10900168 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 10900166} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &10900169 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 10900166} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &11815620 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 11815621} + - 33: {fileID: 11815623} + - 23: {fileID: 11815622} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &11815621 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 11815620} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 484270180} + m_RootOrder: 4 +--- !u!23 &11815622 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 11815620} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &11815623 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 11815620} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &13932139 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 13932140} + - 33: {fileID: 13932142} + - 23: {fileID: 13932141} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &13932140 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 13932139} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1392306390} + m_RootOrder: 2 +--- !u!23 &13932141 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 13932139} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &13932142 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 13932139} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &18001876 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 18001877} + - 33: {fileID: 18001879} + - 23: {fileID: 18001878} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &18001877 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 18001876} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 217104405} + m_RootOrder: 6 +--- !u!23 &18001878 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 18001876} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &18001879 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 18001876} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &18047732 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 18047733} + - 33: {fileID: 18047735} + - 23: {fileID: 18047734} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &18047733 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 18047732} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1038701522} + m_RootOrder: 2 +--- !u!23 &18047734 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 18047732} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &18047735 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 18047732} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &22254241 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 22254242} + - 33: {fileID: 22254244} + - 23: {fileID: 22254243} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &22254242 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 22254241} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1413035099} + m_RootOrder: 5 +--- !u!23 &22254243 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 22254241} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &22254244 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 22254241} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &22869809 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 22869810} + - 33: {fileID: 22869812} + - 23: {fileID: 22869811} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &22869810 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 22869809} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231626962} + m_RootOrder: 1 +--- !u!23 &22869811 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 22869809} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &22869812 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 22869809} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &24013132 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 24013133} + - 33: {fileID: 24013135} + - 23: {fileID: 24013134} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &24013133 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 24013132} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1758170125} + m_RootOrder: 7 +--- !u!23 &24013134 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 24013132} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &24013135 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 24013132} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &24304357 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 24304358} + - 33: {fileID: 24304360} + - 23: {fileID: 24304359} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &24304358 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 24304357} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1082956371} + m_RootOrder: 8 +--- !u!23 &24304359 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 24304357} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &24304360 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 24304357} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &26660321 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 26660322} + - 33: {fileID: 26660324} + - 23: {fileID: 26660323} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &26660322 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 26660321} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 440610438} + m_RootOrder: 3 +--- !u!23 &26660323 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 26660321} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &26660324 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 26660321} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &31880375 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 31880376} + - 33: {fileID: 31880378} + - 23: {fileID: 31880377} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &31880376 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 31880375} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1318928928} + m_RootOrder: 7 +--- !u!23 &31880377 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 31880375} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &31880378 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 31880375} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &32196260 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 32196261} + - 33: {fileID: 32196263} + - 23: {fileID: 32196262} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &32196261 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 32196260} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1318928928} + m_RootOrder: 3 +--- !u!23 &32196262 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 32196260} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &32196263 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 32196260} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &32676780 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 32676781} + - 33: {fileID: 32676783} + - 23: {fileID: 32676782} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &32676781 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 32676780} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1136402243} + m_RootOrder: 6 +--- !u!23 &32676782 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 32676780} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &32676783 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 32676780} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &35212799 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 35212800} + - 33: {fileID: 35212802} + - 23: {fileID: 35212801} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &35212800 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 35212799} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 484270180} + m_RootOrder: 1 +--- !u!23 &35212801 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 35212799} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &35212802 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 35212799} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &39903540 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 39903541} + - 33: {fileID: 39903543} + - 23: {fileID: 39903542} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &39903541 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 39903540} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1965163931} + m_RootOrder: 4 +--- !u!23 &39903542 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 39903540} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &39903543 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 39903540} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &39951912 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 39951913} + - 33: {fileID: 39951915} + - 23: {fileID: 39951914} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &39951913 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 39951912} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 433168050} + m_RootOrder: 6 +--- !u!23 &39951914 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 39951912} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &39951915 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 39951912} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &47831828 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 47831829} + - 33: {fileID: 47831831} + - 23: {fileID: 47831830} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &47831829 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 47831828} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 412002962} + m_RootOrder: 4 +--- !u!23 &47831830 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 47831828} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &47831831 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 47831828} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &47951524 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 47951525} + - 33: {fileID: 47951527} + - 23: {fileID: 47951526} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &47951525 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 47951524} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1269069112} + m_RootOrder: 1 +--- !u!23 &47951526 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 47951524} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &47951527 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 47951524} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &49728983 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 49728984} + - 33: {fileID: 49728986} + - 23: {fileID: 49728985} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &49728984 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 49728983} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1413035099} + m_RootOrder: 4 +--- !u!23 &49728985 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 49728983} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &49728986 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 49728983} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &51436667 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 51436668} + - 33: {fileID: 51436670} + - 23: {fileID: 51436669} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &51436668 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 51436667} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1082956371} + m_RootOrder: 1 +--- !u!23 &51436669 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 51436667} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &51436670 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 51436667} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &52129120 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 52129121} + - 33: {fileID: 52129123} + - 23: {fileID: 52129122} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &52129121 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 52129120} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1802157139} + m_RootOrder: 5 +--- !u!23 &52129122 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 52129120} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &52129123 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 52129120} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &52338613 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 52338614} + - 33: {fileID: 52338616} + - 23: {fileID: 52338615} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &52338614 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 52338613} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 352349652} + m_RootOrder: 1 +--- !u!23 &52338615 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 52338613} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &52338616 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 52338613} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &52357632 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 52357633} + - 33: {fileID: 52357635} + - 23: {fileID: 52357634} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &52357633 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 52357632} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 950631283} + m_RootOrder: 8 +--- !u!23 &52357634 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 52357632} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &52357635 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 52357632} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &53922723 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 53922724} + - 33: {fileID: 53922726} + - 23: {fileID: 53922725} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &53922724 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 53922723} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 604038727} + m_RootOrder: 8 +--- !u!23 &53922725 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 53922723} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &53922726 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 53922723} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &56780191 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 56780192} + - 33: {fileID: 56780194} + - 23: {fileID: 56780193} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &56780192 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 56780191} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 157447699} + m_RootOrder: 8 +--- !u!23 &56780193 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 56780191} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &56780194 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 56780191} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &60223817 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 60223818} + - 33: {fileID: 60223820} + - 23: {fileID: 60223819} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &60223818 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 60223817} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 698956160} + m_RootOrder: 7 +--- !u!23 &60223819 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 60223817} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &60223820 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 60223817} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &60943538 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 60943539} + - 33: {fileID: 60943541} + - 23: {fileID: 60943540} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &60943539 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 60943538} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1950362483} + m_RootOrder: 5 +--- !u!23 &60943540 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 60943538} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &60943541 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 60943538} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &61856426 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 61856427} + - 33: {fileID: 61856429} + - 23: {fileID: 61856428} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &61856427 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 61856426} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 989992470} + m_RootOrder: 5 +--- !u!23 &61856428 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 61856426} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &61856429 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 61856426} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &61866933 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 61866934} + - 33: {fileID: 61866936} + - 23: {fileID: 61866935} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &61866934 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 61866933} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 349606543} + m_RootOrder: 0 +--- !u!23 &61866935 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 61866933} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &61866936 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 61866933} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &63880794 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 63880795} + - 33: {fileID: 63880797} + - 23: {fileID: 63880796} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &63880795 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 63880794} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1965163931} + m_RootOrder: 2 +--- !u!23 &63880796 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 63880794} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &63880797 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 63880794} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &66939662 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 66939663} + - 33: {fileID: 66939665} + - 23: {fileID: 66939664} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &66939663 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 66939662} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 698956160} + m_RootOrder: 3 +--- !u!23 &66939664 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 66939662} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &66939665 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 66939662} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &68974762 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 68974763} + - 33: {fileID: 68974765} + - 23: {fileID: 68974764} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &68974763 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 68974762} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1082956371} + m_RootOrder: 4 +--- !u!23 &68974764 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 68974762} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &68974765 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 68974762} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &72504182 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 72504183} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &72504183 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 72504182} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1345266611} + - {fileID: 1861128536} + - {fileID: 1991666046} + - {fileID: 1755946758} + - {fileID: 1563197119} + - {fileID: 448452949} + - {fileID: 1787459735} + - {fileID: 296827906} + - {fileID: 436597880} + m_Father: {fileID: 416898948} + m_RootOrder: 2 +--- !u!1 &73591252 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 73591253} + - 33: {fileID: 73591255} + - 23: {fileID: 73591254} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &73591253 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 73591252} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1991877734} + m_RootOrder: 6 +--- !u!23 &73591254 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 73591252} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &73591255 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 73591252} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &75920194 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 75920195} + - 33: {fileID: 75920197} + - 23: {fileID: 75920196} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &75920195 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 75920194} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1536546683} + m_RootOrder: 7 +--- !u!23 &75920196 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 75920194} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &75920197 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 75920194} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &79316879 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 79316880} + - 33: {fileID: 79316882} + - 23: {fileID: 79316881} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &79316880 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 79316879} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2040025849} + m_RootOrder: 7 +--- !u!23 &79316881 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 79316879} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &79316882 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 79316879} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &81328366 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 81328367} + - 33: {fileID: 81328369} + - 23: {fileID: 81328368} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &81328367 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 81328366} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 710806381} + m_RootOrder: 7 +--- !u!23 &81328368 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 81328366} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &81328369 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 81328366} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &89611125 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 89611126} + - 33: {fileID: 89611128} + - 23: {fileID: 89611127} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &89611126 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 89611125} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1396826707} + m_RootOrder: 5 +--- !u!23 &89611127 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 89611125} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &89611128 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 89611125} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &91951653 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 91951654} + - 33: {fileID: 91951656} + - 23: {fileID: 91951655} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &91951654 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 91951653} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1711378518} + m_RootOrder: 8 +--- !u!23 &91951655 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 91951653} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &91951656 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 91951653} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &97341078 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 97341079} + - 33: {fileID: 97341081} + - 23: {fileID: 97341080} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &97341079 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 97341078} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 379543545} + m_RootOrder: 8 +--- !u!23 &97341080 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 97341078} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &97341081 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 97341078} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &97446089 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 97446090} + - 33: {fileID: 97446092} + - 23: {fileID: 97446091} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &97446090 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 97446089} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 352349652} + m_RootOrder: 4 +--- !u!23 &97446091 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 97446089} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &97446092 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 97446089} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &99675306 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 99675307} + - 33: {fileID: 99675309} + - 23: {fileID: 99675308} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &99675307 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 99675306} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1392306390} + m_RootOrder: 0 +--- !u!23 &99675308 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 99675306} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &99675309 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 99675306} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &101568286 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 101568287} + - 33: {fileID: 101568289} + - 23: {fileID: 101568288} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &101568287 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 101568286} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 217104405} + m_RootOrder: 8 +--- !u!23 &101568288 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 101568286} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &101568289 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 101568286} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &101794872 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 101794873} + - 33: {fileID: 101794875} + - 23: {fileID: 101794874} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &101794873 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 101794872} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 309447440} + m_RootOrder: 1 +--- !u!23 &101794874 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 101794872} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &101794875 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 101794872} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &115371109 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 115371110} + - 33: {fileID: 115371112} + - 23: {fileID: 115371111} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &115371110 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 115371109} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231738743} + m_RootOrder: 1 +--- !u!23 &115371111 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 115371109} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &115371112 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 115371109} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &118428095 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 118428096} + - 33: {fileID: 118428098} + - 23: {fileID: 118428097} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &118428096 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 118428095} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1136402243} + m_RootOrder: 2 +--- !u!23 &118428097 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 118428095} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &118428098 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 118428095} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &121895491 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 121895492} + - 33: {fileID: 121895494} + - 23: {fileID: 121895493} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &121895492 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 121895491} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1591077534} + m_RootOrder: 2 +--- !u!23 &121895493 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 121895491} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &121895494 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 121895491} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &122792863 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 122792864} + - 33: {fileID: 122792866} + - 23: {fileID: 122792865} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &122792864 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 122792863} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1550093339} + m_RootOrder: 1 +--- !u!23 &122792865 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 122792863} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &122792866 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 122792863} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &123976716 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 123976717} + - 33: {fileID: 123976719} + - 23: {fileID: 123976718} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &123976717 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 123976716} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1802157139} + m_RootOrder: 6 +--- !u!23 &123976718 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 123976716} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &123976719 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 123976716} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &124953302 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 124953303} + - 33: {fileID: 124953305} + - 23: {fileID: 124953304} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &124953303 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 124953302} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1330598094} + m_RootOrder: 0 +--- !u!23 &124953304 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 124953302} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &124953305 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 124953302} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &128223065 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 128223066} + - 33: {fileID: 128223068} + - 23: {fileID: 128223067} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &128223066 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 128223065} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1758170125} + m_RootOrder: 8 +--- !u!23 &128223067 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 128223065} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &128223068 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 128223065} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &132263418 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 132263419} + - 33: {fileID: 132263421} + - 23: {fileID: 132263420} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &132263419 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 132263418} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1240836681} + m_RootOrder: 7 +--- !u!23 &132263420 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 132263418} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &132263421 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 132263418} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &133039176 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 133039177} + - 33: {fileID: 133039179} + - 23: {fileID: 133039178} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &133039177 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 133039176} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 768694475} + m_RootOrder: 3 +--- !u!23 &133039178 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 133039176} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &133039179 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 133039176} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &134224554 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 134224555} + - 33: {fileID: 134224557} + - 23: {fileID: 134224556} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &134224555 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 134224554} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 849571239} + m_RootOrder: 1 +--- !u!23 &134224556 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 134224554} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &134224557 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 134224554} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &138445034 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 138445035} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &138445035 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 138445034} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1779963277} + - {fileID: 1371947164} + - {fileID: 639002474} + - {fileID: 1325847477} + - {fileID: 843322475} + - {fileID: 1234331063} + - {fileID: 672418999} + - {fileID: 674325342} + - {fileID: 1809721791} + m_Father: {fileID: 357871943} + m_RootOrder: 8 +--- !u!1 &144254503 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 144254504} + - 33: {fileID: 144254506} + - 23: {fileID: 144254505} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &144254504 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 144254503} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 554489815} + m_RootOrder: 3 +--- !u!23 &144254505 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 144254503} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &144254506 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 144254503} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &146325015 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 146325016} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &146325016 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 146325015} + 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_Children: + - {fileID: 1438931484} + - {fileID: 215729169} + - {fileID: 1472923031} + - {fileID: 188878799} + - {fileID: 1209329983} + - {fileID: 1239907698} + - {fileID: 1113415722} + - {fileID: 494523048} + - {fileID: 159467062} + m_Father: {fileID: 1875085494} + m_RootOrder: 4 +--- !u!1 &150190141 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 150190142} + - 33: {fileID: 150190144} + - 23: {fileID: 150190143} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &150190142 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 150190141} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1357615428} + m_RootOrder: 8 +--- !u!23 &150190143 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 150190141} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &150190144 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 150190141} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &153267156 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 153267157} + - 33: {fileID: 153267159} + - 23: {fileID: 153267158} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &153267157 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 153267156} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1251486547} + m_RootOrder: 5 +--- !u!23 &153267158 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 153267156} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &153267159 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 153267156} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &155157966 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 155157967} + - 33: {fileID: 155157969} + - 23: {fileID: 155157968} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &155157967 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 155157966} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1330598094} + m_RootOrder: 7 +--- !u!23 &155157968 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 155157966} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &155157969 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 155157966} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &155545761 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 155545762} + - 33: {fileID: 155545764} + - 23: {fileID: 155545763} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &155545762 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 155545761} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 950631283} + m_RootOrder: 6 +--- !u!23 &155545763 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 155545761} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &155545764 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 155545761} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &157447698 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 157447699} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &157447699 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 157447698} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1793642500} + - {fileID: 1493653994} + - {fileID: 1368997100} + - {fileID: 345088240} + - {fileID: 539304524} + - {fileID: 1606405213} + - {fileID: 691554664} + - {fileID: 1350275575} + - {fileID: 56780192} + m_Father: {fileID: 416898948} + m_RootOrder: 7 +--- !u!1 &159467061 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 159467062} + - 33: {fileID: 159467064} + - 23: {fileID: 159467063} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &159467062 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 159467061} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 146325016} + m_RootOrder: 8 +--- !u!23 &159467063 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 159467061} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &159467064 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 159467061} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &161900531 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 161900532} + - 33: {fileID: 161900534} + - 23: {fileID: 161900533} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &161900532 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 161900531} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1587156216} + m_RootOrder: 6 +--- !u!23 &161900533 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 161900531} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &161900534 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 161900531} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &162559257 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 162559258} + - 33: {fileID: 162559260} + - 23: {fileID: 162559259} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &162559258 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 162559257} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1337936969} + m_RootOrder: 0 +--- !u!23 &162559259 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 162559257} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &162559260 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 162559257} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &173812876 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 173812877} + - 33: {fileID: 173812879} + - 23: {fileID: 173812878} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &173812877 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 173812876} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1711378518} + m_RootOrder: 6 +--- !u!23 &173812878 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 173812876} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &173812879 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 173812876} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &176026933 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 176026934} + - 33: {fileID: 176026936} + - 23: {fileID: 176026935} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &176026934 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 176026933} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 366225505} + m_RootOrder: 4 +--- !u!23 &176026935 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 176026933} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &176026936 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 176026933} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &178633823 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 178633824} + - 33: {fileID: 178633826} + - 23: {fileID: 178633825} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &178633824 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 178633823} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1965163931} + m_RootOrder: 0 +--- !u!23 &178633825 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 178633823} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &178633826 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 178633823} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &185328091 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 185328092} + - 33: {fileID: 185328094} + - 23: {fileID: 185328093} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &185328092 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 185328091} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 768694475} + m_RootOrder: 5 +--- !u!23 &185328093 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 185328091} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &185328094 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 185328091} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &188878798 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 188878799} + - 33: {fileID: 188878801} + - 23: {fileID: 188878800} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &188878799 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 188878798} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 146325016} + m_RootOrder: 3 +--- !u!23 &188878800 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 188878798} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &188878801 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 188878798} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &190771843 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 190771844} + - 33: {fileID: 190771846} + - 23: {fileID: 190771845} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &190771844 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 190771843} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2097222327} + m_RootOrder: 5 +--- !u!23 &190771845 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 190771843} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &190771846 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 190771843} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &191837272 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 191837273} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &191837273 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 191837272} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 764367998} + - {fileID: 1190442269} + - {fileID: 1354454586} + - {fileID: 1142309782} + - {fileID: 1013698094} + - {fileID: 1646787810} + - {fileID: 1127960877} + - {fileID: 1445609286} + - {fileID: 474628329} + m_Father: {fileID: 1288823789} + m_RootOrder: 0 +--- !u!1 &199543576 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 199543577} + - 33: {fileID: 199543579} + - 23: {fileID: 199543578} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &199543577 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 199543576} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1802157139} + m_RootOrder: 3 +--- !u!23 &199543578 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 199543576} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &199543579 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 199543576} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &201332831 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 201332832} + - 33: {fileID: 201332834} + - 23: {fileID: 201332833} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &201332832 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 201332831} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1251486547} + m_RootOrder: 3 +--- !u!23 &201332833 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 201332831} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &201332834 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 201332831} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &205582491 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 205582492} + - 33: {fileID: 205582494} + - 23: {fileID: 205582493} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &205582492 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 205582491} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 989992470} + m_RootOrder: 1 +--- !u!23 &205582493 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 205582491} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &205582494 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 205582491} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &209477139 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 209477140} + - 33: {fileID: 209477142} + - 23: {fileID: 209477141} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &209477140 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 209477139} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 969754910} + m_RootOrder: 5 +--- !u!23 &209477141 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 209477139} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &209477142 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 209477139} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &210983307 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 210983308} + - 33: {fileID: 210983310} + - 23: {fileID: 210983309} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &210983308 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 210983307} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2070993649} + m_RootOrder: 1 +--- !u!23 &210983309 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 210983307} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &210983310 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 210983307} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &211645511 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 211645512} + - 33: {fileID: 211645514} + - 23: {fileID: 211645513} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &211645512 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 211645511} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1758170125} + m_RootOrder: 3 +--- !u!23 &211645513 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 211645511} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &211645514 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 211645511} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &214705699 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 214705700} + - 33: {fileID: 214705702} + - 23: {fileID: 214705701} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &214705700 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214705699} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1950362483} + m_RootOrder: 7 +--- !u!23 &214705701 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214705699} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &214705702 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214705699} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &214908234 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 214908235} + - 33: {fileID: 214908237} + - 23: {fileID: 214908236} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &214908235 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214908234} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1410998029} + m_RootOrder: 7 +--- !u!23 &214908236 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214908234} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &214908237 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 214908234} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &215669801 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 215669802} + - 33: {fileID: 215669804} + - 23: {fileID: 215669803} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &215669802 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 215669801} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 554489815} + m_RootOrder: 0 +--- !u!23 &215669803 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 215669801} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &215669804 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 215669801} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &215729168 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 215729169} + - 33: {fileID: 215729171} + - 23: {fileID: 215729170} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &215729169 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 215729168} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 146325016} + m_RootOrder: 1 +--- !u!23 &215729170 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 215729168} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &215729171 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 215729168} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &216828086 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 216828087} + - 33: {fileID: 216828089} + - 23: {fileID: 216828088} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &216828087 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 216828086} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 768694475} + m_RootOrder: 4 +--- !u!23 &216828088 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 216828086} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &216828089 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 216828086} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &217104404 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 217104405} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &217104405 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 217104404} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 694583488} + - {fileID: 1808457319} + - {fileID: 1977979797} + - {fileID: 2099444889} + - {fileID: 413406532} + - {fileID: 697907466} + - {fileID: 18001877} + - {fileID: 799336607} + - {fileID: 101568287} + m_Father: {fileID: 1906654409} + m_RootOrder: 6 +--- !u!1 &225483471 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 225483472} + - 33: {fileID: 225483474} + - 23: {fileID: 225483473} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &225483472 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 225483471} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1552181540} + m_RootOrder: 0 +--- !u!23 &225483473 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 225483471} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &225483474 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 225483471} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &227008743 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 227008744} + - 33: {fileID: 227008746} + - 23: {fileID: 227008745} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &227008744 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 227008743} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 950631283} + m_RootOrder: 1 +--- !u!23 &227008745 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 227008743} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &227008746 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 227008743} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &227248109 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 227248110} + - 33: {fileID: 227248112} + - 23: {fileID: 227248111} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &227248110 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 227248109} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 440610438} + m_RootOrder: 7 +--- !u!23 &227248111 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 227248109} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &227248112 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 227248109} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &229979265 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 229979266} + - 33: {fileID: 229979268} + - 23: {fileID: 229979267} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &229979266 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 229979265} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 969754910} + m_RootOrder: 3 +--- !u!23 &229979267 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 229979265} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &229979268 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 229979265} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &231626961 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 231626962} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &231626962 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 231626961} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2064792706} + - {fileID: 22869810} + - {fileID: 2062746976} + - {fileID: 1389778215} + - {fileID: 1903182221} + - {fileID: 1116037529} + - {fileID: 1307348601} + - {fileID: 1414375560} + - {fileID: 549499155} + m_Father: {fileID: 1875085494} + m_RootOrder: 1 +--- !u!1 &231738742 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 231738743} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &231738743 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 231738742} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 801635955} + - {fileID: 115371110} + - {fileID: 1754474688} + - {fileID: 1487009763} + - {fileID: 1952045473} + - {fileID: 1360348676} + - {fileID: 504812018} + - {fileID: 1388392809} + - {fileID: 398823143} + m_Father: {fileID: 320694060} + m_RootOrder: 8 +--- !u!1 &232827029 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 232827030} + - 33: {fileID: 232827032} + - 23: {fileID: 232827031} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &232827030 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 232827029} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1402568966} + m_RootOrder: 6 +--- !u!23 &232827031 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 232827029} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &232827032 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 232827029} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &233977206 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 233977207} + - 33: {fileID: 233977209} + - 23: {fileID: 233977208} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &233977207 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 233977206} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 821285325} + m_RootOrder: 4 +--- !u!23 &233977208 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 233977206} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &233977209 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 233977206} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &234401192 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 234401193} + - 33: {fileID: 234401195} + - 23: {fileID: 234401194} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &234401193 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 234401192} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 870806955} + m_RootOrder: 3 +--- !u!23 &234401194 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 234401192} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &234401195 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 234401192} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &249804278 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 249804279} + - 33: {fileID: 249804281} + - 23: {fileID: 249804280} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &249804279 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 249804278} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1243272144} + m_RootOrder: 3 +--- !u!23 &249804280 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 249804278} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &249804281 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 249804278} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &250318198 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 250318199} + - 33: {fileID: 250318201} + - 23: {fileID: 250318200} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &250318199 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 250318198} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1536546683} + m_RootOrder: 1 +--- !u!23 &250318200 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 250318198} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &250318201 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 250318198} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &254407488 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 254407489} + - 33: {fileID: 254407491} + - 23: {fileID: 254407490} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &254407489 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 254407488} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1950362483} + m_RootOrder: 1 +--- !u!23 &254407490 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 254407488} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &254407491 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 254407488} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &260159408 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 260159409} + - 33: {fileID: 260159411} + - 23: {fileID: 260159410} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &260159409 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 260159408} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 698956160} + m_RootOrder: 8 +--- !u!23 &260159410 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 260159408} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &260159411 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 260159408} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &262542701 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 262542702} + - 33: {fileID: 262542704} + - 23: {fileID: 262542703} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &262542702 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 262542701} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 379543545} + m_RootOrder: 1 +--- !u!23 &262542703 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 262542701} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &262542704 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 262542701} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &264309449 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 264309450} + - 33: {fileID: 264309452} + - 23: {fileID: 264309451} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &264309450 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 264309449} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1624250639} + m_RootOrder: 7 +--- !u!23 &264309451 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 264309449} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &264309452 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 264309449} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &265207075 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 265207076} + - 33: {fileID: 265207078} + - 23: {fileID: 265207077} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &265207076 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 265207075} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 433168050} + m_RootOrder: 2 +--- !u!23 &265207077 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 265207075} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &265207078 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 265207075} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &268222374 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 268222375} + - 33: {fileID: 268222377} + - 23: {fileID: 268222376} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &268222375 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 268222374} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 989992470} + m_RootOrder: 2 +--- !u!23 &268222376 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 268222374} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &268222377 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 268222374} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &271422295 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 271422296} + - 33: {fileID: 271422298} + - 23: {fileID: 271422297} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &271422296 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 271422295} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 604038727} + m_RootOrder: 5 +--- !u!23 &271422297 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 271422295} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &271422298 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 271422295} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &272056893 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 272056894} + - 33: {fileID: 272056896} + - 23: {fileID: 272056895} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &272056894 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 272056893} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1802157139} + m_RootOrder: 8 +--- !u!23 &272056895 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 272056893} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &272056896 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 272056893} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &276138906 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 276138907} + - 33: {fileID: 276138909} + - 23: {fileID: 276138908} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &276138907 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 276138906} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 969754910} + m_RootOrder: 6 +--- !u!23 &276138908 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 276138906} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &276138909 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 276138906} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &277228139 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 277228140} + - 33: {fileID: 277228142} + - 23: {fileID: 277228141} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &277228140 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 277228139} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1413035099} + m_RootOrder: 8 +--- !u!23 &277228141 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 277228139} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &277228142 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 277228139} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &283110880 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 283110881} + - 33: {fileID: 283110883} + - 23: {fileID: 283110882} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &283110881 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 283110880} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1711378518} + m_RootOrder: 2 +--- !u!23 &283110882 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 283110880} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &283110883 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 283110880} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &283747328 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 283747329} + - 33: {fileID: 283747331} + - 23: {fileID: 283747330} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &283747329 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 283747328} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1613309483} + m_RootOrder: 0 +--- !u!23 &283747330 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 283747328} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &283747331 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 283747328} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &284640321 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 284640322} + - 33: {fileID: 284640324} + - 23: {fileID: 284640323} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &284640322 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 284640321} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 366225505} + m_RootOrder: 7 +--- !u!23 &284640323 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 284640321} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &284640324 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 284640321} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &285840096 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 285840097} + - 33: {fileID: 285840099} + - 23: {fileID: 285840098} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &285840097 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 285840096} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1881349947} + m_RootOrder: 2 +--- !u!23 &285840098 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 285840096} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &285840099 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 285840096} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &287649692 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 287649693} + - 33: {fileID: 287649695} + - 23: {fileID: 287649694} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &287649693 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 287649692} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1049063299} + m_RootOrder: 0 +--- !u!23 &287649694 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 287649692} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &287649695 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 287649692} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &292936479 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 292936480} + - 33: {fileID: 292936482} + - 23: {fileID: 292936481} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &292936480 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 292936479} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1038701522} + m_RootOrder: 7 +--- !u!23 &292936481 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 292936479} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &292936482 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 292936479} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &296827905 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 296827906} + - 33: {fileID: 296827908} + - 23: {fileID: 296827907} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &296827906 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 296827905} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 72504183} + m_RootOrder: 7 +--- !u!23 &296827907 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 296827905} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &296827908 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 296827905} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &304245273 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 304245274} + - 33: {fileID: 304245276} + - 23: {fileID: 304245275} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &304245274 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 304245273} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1587156216} + m_RootOrder: 2 +--- !u!23 &304245275 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 304245273} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &304245276 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 304245273} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &306662444 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 306662445} + - 33: {fileID: 306662447} + - 23: {fileID: 306662446} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &306662445 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 306662444} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1337936969} + m_RootOrder: 4 +--- !u!23 &306662446 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 306662444} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &306662447 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 306662444} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &307869077 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 307869078} + - 33: {fileID: 307869080} + - 23: {fileID: 307869079} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &307869078 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 307869077} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1711378518} + m_RootOrder: 3 +--- !u!23 &307869079 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 307869077} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &307869080 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 307869077} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &309447439 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 309447440} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &309447440 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 309447439} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1825222277} + - {fileID: 101794873} + - {fileID: 1470668112} + - {fileID: 840540659} + - {fileID: 1276774529} + - {fileID: 1595097606} + - {fileID: 1283742115} + - {fileID: 1136746723} + - {fileID: 1211858530} + m_Father: {fileID: 1285129845} + m_RootOrder: 5 +--- !u!1 &311797877 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 311797878} + m_Layer: 0 + m_Name: CubeGrid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &311797878 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 311797877} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.02090001, y: -.402413607, z: -7.52141666} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2097222327} + - {fileID: 1396826707} + - {fileID: 857026539} + - {fileID: 1711378518} + - {fileID: 2040025849} + - {fileID: 1528982994} + - {fileID: 1881349947} + - {fileID: 499152561} + - {fileID: 1240836681} + m_Father: {fileID: 1335403818} + m_RootOrder: 5 +--- !u!1 &316302724 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 316302725} + - 33: {fileID: 316302727} + - 23: {fileID: 316302726} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &316302725 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 316302724} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1145749506} + m_RootOrder: 2 +--- !u!23 &316302726 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 316302724} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &316302727 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 316302724} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &320694059 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 320694060} + m_Layer: 0 + m_Name: CubeGrid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &320694060 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 320694059} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.02090001, y: -.402413607, z: -5.52141666} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 379543545} + - {fileID: 1613309483} + - {fileID: 1337936969} + - {fileID: 1435433903} + - {fileID: 849571239} + - {fileID: 732523451} + - {fileID: 1950362483} + - {fileID: 1392306390} + - {fileID: 231738743} + m_Father: {fileID: 1335403818} + m_RootOrder: 0 +--- !u!1 &332742598 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 332742599} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &332742599 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 332742598} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1646799001} + - {fileID: 925124721} + - {fileID: 1364969516} + - {fileID: 511318834} + - {fileID: 1355525086} + - {fileID: 1479376376} + - {fileID: 1291389607} + - {fileID: 606569945} + - {fileID: 866611229} + m_Father: {fileID: 2047955730} + m_RootOrder: 1 +--- !u!1 &333333697 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 333333698} + - 33: {fileID: 333333700} + - 23: {fileID: 333333699} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &333333698 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 333333697} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1240836681} + m_RootOrder: 5 +--- !u!23 &333333699 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 333333697} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &333333700 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 333333697} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &335083539 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 335083540} + - 33: {fileID: 335083542} + - 23: {fileID: 335083541} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &335083540 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 335083539} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1330598094} + m_RootOrder: 4 +--- !u!23 &335083541 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 335083539} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &335083542 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 335083539} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &339113544 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 339113545} + - 33: {fileID: 339113547} + - 23: {fileID: 339113546} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &339113545 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 339113544} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 349606543} + m_RootOrder: 2 +--- !u!23 &339113546 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 339113544} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &339113547 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 339113544} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &345088239 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 345088240} + - 33: {fileID: 345088242} + - 23: {fileID: 345088241} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &345088240 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 345088239} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 157447699} + m_RootOrder: 3 +--- !u!23 &345088241 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 345088239} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &345088242 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 345088239} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &349606542 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 349606543} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &349606543 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 349606542} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 61866934} + - {fileID: 1602538143} + - {fileID: 339113545} + - {fileID: 1102846825} + - {fileID: 653589771} + - {fileID: 2139240985} + - {fileID: 850494880} + - {fileID: 851576731} + - {fileID: 1169682652} + m_Father: {fileID: 1288823789} + m_RootOrder: 5 +--- !u!1 &349988447 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 349988448} + - 33: {fileID: 349988450} + - 23: {fileID: 349988449} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &349988448 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 349988447} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 358145806} + m_RootOrder: 6 +--- !u!23 &349988449 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 349988447} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &349988450 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 349988447} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &351209545 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 351209546} + - 33: {fileID: 351209548} + - 23: {fileID: 351209547} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &351209546 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 351209545} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1613309483} + m_RootOrder: 3 +--- !u!23 &351209547 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 351209545} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &351209548 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 351209545} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &352250861 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 352250862} + - 33: {fileID: 352250864} + - 23: {fileID: 352250863} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &352250862 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 352250861} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 604038727} + m_RootOrder: 3 +--- !u!23 &352250863 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 352250861} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &352250864 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 352250861} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &352349651 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 352349652} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &352349652 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 352349651} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 655133131} + - {fileID: 52338614} + - {fileID: 920142118} + - {fileID: 1475028433} + - {fileID: 97446090} + - {fileID: 1902281420} + - {fileID: 1445696865} + - {fileID: 1865533535} + - {fileID: 1305541519} + m_Father: {fileID: 1906654409} + m_RootOrder: 1 +--- !u!1 &352927685 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 352927686} + - 33: {fileID: 352927688} + - 23: {fileID: 352927687} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &352927686 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 352927685} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1591077534} + m_RootOrder: 8 +--- !u!23 &352927687 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 352927685} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &352927688 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 352927685} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &352977277 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 352977278} + - 33: {fileID: 352977280} + - 23: {fileID: 352977279} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &352977278 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 352977277} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 821285325} + m_RootOrder: 6 +--- !u!23 &352977279 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 352977277} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &352977280 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 352977277} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &354724695 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 354724696} + - 33: {fileID: 354724698} + - 23: {fileID: 354724697} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &354724696 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 354724695} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 969754910} + m_RootOrder: 2 +--- !u!23 &354724697 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 354724695} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &354724698 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 354724695} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &357871942 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 357871943} + m_Layer: 0 + m_Name: CubeGrid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &357871943 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 357871942} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.02090001, y: -.402413607, z: -1.52141666} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1624250639} + - {fileID: 1366031035} + - {fileID: 1243272144} + - {fileID: 1038701522} + - {fileID: 1049063299} + - {fileID: 1802157139} + - {fileID: 1536546683} + - {fileID: 1357615428} + - {fileID: 138445035} + m_Father: {fileID: 1335403818} + m_RootOrder: 4 +--- !u!1 &358145805 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 358145806} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &358145806 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358145805} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1001880624} + - {fileID: 1711515864} + - {fileID: 1505898926} + - {fileID: 1161644336} + - {fileID: 570170665} + - {fileID: 869062404} + - {fileID: 349988448} + - {fileID: 1465525031} + - {fileID: 1622807706} + m_Father: {fileID: 2047955730} + m_RootOrder: 3 +--- !u!1 &363080942 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 363080943} + - 33: {fileID: 363080945} + - 23: {fileID: 363080944} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &363080943 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 363080942} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 870806955} + m_RootOrder: 7 +--- !u!23 &363080944 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 363080942} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &363080945 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 363080942} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &364803735 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 364803736} + - 33: {fileID: 364803738} + - 23: {fileID: 364803737} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &364803736 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 364803735} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 415594698} + m_RootOrder: 6 +--- !u!23 &364803737 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 364803735} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &364803738 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 364803735} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &366225504 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 366225505} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &366225505 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 366225504} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 598451971} + - {fileID: 1288023954} + - {fileID: 583863356} + - {fileID: 776061702} + - {fileID: 176026934} + - {fileID: 3664028} + - {fileID: 1362344587} + - {fileID: 284640322} + - {fileID: 2093071929} + m_Father: {fileID: 1288823789} + m_RootOrder: 8 +--- !u!1 &368109053 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 368109054} + - 33: {fileID: 368109056} + - 23: {fileID: 368109055} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &368109054 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 368109053} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1136402243} + m_RootOrder: 0 +--- !u!23 &368109055 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 368109053} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &368109056 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 368109053} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &375505130 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 375505131} + - 33: {fileID: 375505133} + - 23: {fileID: 375505132} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &375505131 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 375505130} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 498431041} + m_RootOrder: 5 +--- !u!23 &375505132 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 375505130} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &375505133 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 375505130} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &379543544 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 379543545} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &379543545 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 379543544} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 944084776} + - {fileID: 262542702} + - {fileID: 1887303632} + - {fileID: 1334569733} + - {fileID: 540466442} + - {fileID: 1520303005} + - {fileID: 1128731190} + - {fileID: 578583990} + - {fileID: 97341079} + m_Father: {fileID: 320694060} + m_RootOrder: 0 +--- !u!1 &382491389 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 382491390} + - 33: {fileID: 382491392} + - 23: {fileID: 382491391} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &382491390 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 382491389} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 554489815} + m_RootOrder: 4 +--- !u!23 &382491391 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 382491389} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &382491392 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 382491389} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &382685687 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 382685688} + - 33: {fileID: 382685690} + - 23: {fileID: 382685689} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &382685688 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 382685687} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 498431041} + m_RootOrder: 3 +--- !u!23 &382685689 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 382685687} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &382685690 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 382685687} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &387035446 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 387035447} + - 33: {fileID: 387035449} + - 23: {fileID: 387035448} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &387035447 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 387035446} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1413035099} + m_RootOrder: 0 +--- !u!23 &387035448 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 387035446} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &387035449 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 387035446} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &396729916 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 396729917} + - 33: {fileID: 396729919} + - 23: {fileID: 396729918} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &396729917 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 396729916} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 412002962} + m_RootOrder: 5 +--- !u!23 &396729918 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 396729916} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &396729919 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 396729916} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &398582822 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 398582823} + - 33: {fileID: 398582825} + - 23: {fileID: 398582824} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &398582823 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 398582822} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2097222327} + m_RootOrder: 0 +--- !u!23 &398582824 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 398582822} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &398582825 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 398582822} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &398823142 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 398823143} + - 33: {fileID: 398823145} + - 23: {fileID: 398823144} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &398823143 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 398823142} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231738743} + m_RootOrder: 8 +--- !u!23 &398823144 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 398823142} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &398823145 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 398823142} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &404626639 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 404626640} + - 33: {fileID: 404626642} + - 23: {fileID: 404626641} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &404626640 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 404626639} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1049063299} + m_RootOrder: 2 +--- !u!23 &404626641 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 404626639} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &404626642 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 404626639} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &405307837 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 405307838} + - 33: {fileID: 405307840} + - 23: {fileID: 405307839} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &405307838 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 405307837} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1624250639} + m_RootOrder: 8 +--- !u!23 &405307839 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 405307837} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &405307840 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 405307837} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &406100770 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 406100771} + - 33: {fileID: 406100773} + - 23: {fileID: 406100772} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &406100771 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 406100770} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1961106353} + m_RootOrder: 4 +--- !u!23 &406100772 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 406100770} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &406100773 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 406100770} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &412002961 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 412002962} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &412002962 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 412002961} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1571448786} + - {fileID: 1063450513} + - {fileID: 1767762801} + - {fileID: 821731846} + - {fileID: 47831829} + - {fileID: 396729917} + - {fileID: 1195783902} + - {fileID: 1462913751} + - {fileID: 715690333} + m_Father: {fileID: 2047955730} + m_RootOrder: 7 +--- !u!1 &413262253 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 413262254} + - 33: {fileID: 413262256} + - 23: {fileID: 413262255} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &413262254 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 413262253} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1950362483} + m_RootOrder: 0 +--- !u!23 &413262255 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 413262253} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &413262256 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 413262253} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &413406531 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 413406532} + - 33: {fileID: 413406534} + - 23: {fileID: 413406533} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &413406532 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 413406531} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 217104405} + m_RootOrder: 4 +--- !u!23 &413406533 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 413406531} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &413406534 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 413406531} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &415594697 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 415594698} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &415594698 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 415594697} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1475930363} + - {fileID: 1492260308} + - {fileID: 2085279771} + - {fileID: 1883108106} + - {fileID: 513028103} + - {fileID: 683790916} + - {fileID: 364803736} + - {fileID: 865105502} + - {fileID: 1459732962} + m_Father: {fileID: 416898948} + m_RootOrder: 8 +--- !u!1 &415624977 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 415624978} + - 33: {fileID: 415624980} + - 23: {fileID: 415624979} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &415624978 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 415624977} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 849571239} + m_RootOrder: 5 +--- !u!23 &415624979 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 415624977} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &415624980 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 415624977} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &416384452 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 416384453} + - 33: {fileID: 416384455} + - 23: {fileID: 416384454} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &416384453 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 416384452} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1038701522} + m_RootOrder: 0 +--- !u!23 &416384454 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 416384452} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &416384455 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 416384452} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &416898947 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 416898948} + m_Layer: 0 + m_Name: CubeGrid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &416898948 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 416898947} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.02090001, y: -.402413607, z: -2.52141666} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 768694475} + - {fileID: 1041296208} + - {fileID: 72504183} + - {fileID: 498431041} + - {fileID: 1965163931} + - {fileID: 554489815} + - {fileID: 471463405} + - {fileID: 157447699} + - {fileID: 415594698} + m_Father: {fileID: 1335403818} + m_RootOrder: 7 +--- !u!1 &418861001 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 418861002} + - 33: {fileID: 418861004} + - 23: {fileID: 418861003} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &418861002 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 418861001} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1591077534} + m_RootOrder: 4 +--- !u!23 &418861003 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 418861001} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &418861004 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 418861001} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &423336366 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 423336367} + - 33: {fileID: 423336369} + - 23: {fileID: 423336368} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &423336367 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 423336366} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1687020670} + m_RootOrder: 6 +--- !u!23 &423336368 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 423336366} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &423336369 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 423336366} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &426250120 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 426250121} + - 33: {fileID: 426250123} + - 23: {fileID: 426250122} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &426250121 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 426250120} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1410998029} + m_RootOrder: 0 +--- !u!23 &426250122 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 426250120} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &426250123 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 426250120} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &427916688 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 427916689} + - 33: {fileID: 427916691} + - 23: {fileID: 427916690} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &427916689 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 427916688} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1410998029} + m_RootOrder: 4 +--- !u!23 &427916690 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 427916688} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &427916691 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 427916688} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &428027776 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 428027777} + - 33: {fileID: 428027779} + - 23: {fileID: 428027778} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &428027777 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 428027776} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 471463405} + m_RootOrder: 7 +--- !u!23 &428027778 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 428027776} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &428027779 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 428027776} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &429781487 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 429781488} + - 33: {fileID: 429781490} + - 23: {fileID: 429781489} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &429781488 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 429781487} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1965163931} + m_RootOrder: 8 +--- !u!23 &429781489 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 429781487} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &429781490 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 429781487} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1001 &430584707 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &430685318 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 430685319} + - 33: {fileID: 430685321} + - 23: {fileID: 430685320} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &430685319 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 430685318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1049063299} + m_RootOrder: 8 +--- !u!23 &430685320 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 430685318} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &430685321 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 430685318} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &433168049 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 433168050} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &433168050 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433168049} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1574963638} + - {fileID: 579785515} + - {fileID: 265207076} + - {fileID: 1173828076} + - {fileID: 626833814} + - {fileID: 1665684508} + - {fileID: 39951913} + - {fileID: 1741551535} + - {fileID: 784653061} + m_Father: {fileID: 1285129845} + m_RootOrder: 8 +--- !u!1 &433219885 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 433219886} + - 33: {fileID: 433219888} + - 23: {fileID: 433219887} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &433219886 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433219885} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2040025849} + m_RootOrder: 0 +--- !u!23 &433219887 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433219885} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &433219888 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433219885} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &433220171 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 433220172} + - 33: {fileID: 433220174} + - 23: {fileID: 433220173} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &433220172 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433220171} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1041296208} + m_RootOrder: 8 +--- !u!23 &433220173 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433220171} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &433220174 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433220171} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &433647461 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 433647462} + - 33: {fileID: 433647464} + - 23: {fileID: 433647463} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &433647462 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433647461} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1041296208} + m_RootOrder: 5 +--- !u!23 &433647463 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433647461} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &433647464 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 433647461} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &434164392 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 434164393} + - 33: {fileID: 434164395} + - 23: {fileID: 434164394} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &434164393 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 434164392} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1550093339} + m_RootOrder: 0 +--- !u!23 &434164394 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 434164392} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &434164395 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 434164392} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &436597879 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 436597880} + - 33: {fileID: 436597882} + - 23: {fileID: 436597881} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436597880 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 436597879} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 72504183} + m_RootOrder: 8 +--- !u!23 &436597881 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 436597879} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &436597882 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 436597879} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &437676467 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 437676468} + - 33: {fileID: 437676470} + - 23: {fileID: 437676469} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &437676468 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 437676467} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 857026539} + m_RootOrder: 4 +--- !u!23 &437676469 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 437676467} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &437676470 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 437676467} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &440610437 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 440610438} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &440610438 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 440610437} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 645802775} + - {fileID: 452972113} + - {fileID: 575084346} + - {fileID: 26660322} + - {fileID: 1729768773} + - {fileID: 1834334019} + - {fileID: 1044959949} + - {fileID: 227248110} + - {fileID: 1475464809} + m_Father: {fileID: 1285129845} + m_RootOrder: 0 +--- !u!1 &445368523 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 445368524} + - 33: {fileID: 445368526} + - 23: {fileID: 445368525} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &445368524 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445368523} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1243272144} + m_RootOrder: 7 +--- !u!23 &445368525 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445368523} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &445368526 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 445368523} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &447053504 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 447053505} + - 33: {fileID: 447053507} + - 23: {fileID: 447053506} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &447053505 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 447053504} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 870806955} + m_RootOrder: 1 +--- !u!23 &447053506 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 447053504} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &447053507 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 447053504} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &448229885 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 448229886} + - 33: {fileID: 448229888} + - 23: {fileID: 448229887} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &448229886 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 448229885} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1410998029} + m_RootOrder: 3 +--- !u!23 &448229887 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 448229885} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &448229888 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 448229885} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &448452948 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 448452949} + - 33: {fileID: 448452951} + - 23: {fileID: 448452950} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &448452949 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 448452948} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 72504183} + m_RootOrder: 5 +--- !u!23 &448452950 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 448452948} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &448452951 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 448452948} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &451337794 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 451337795} + - 33: {fileID: 451337797} + - 23: {fileID: 451337796} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &451337795 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 451337794} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1041296208} + m_RootOrder: 2 +--- !u!23 &451337796 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 451337794} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &451337797 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 451337794} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &452972112 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 452972113} + - 33: {fileID: 452972115} + - 23: {fileID: 452972114} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &452972113 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 452972112} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 440610438} + m_RootOrder: 1 +--- !u!23 &452972114 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 452972112} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &452972115 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 452972112} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &461508963 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 461508964} + - 33: {fileID: 461508966} + - 23: {fileID: 461508965} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &461508964 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 461508963} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 499152561} + m_RootOrder: 0 +--- !u!23 &461508965 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 461508963} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &461508966 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 461508963} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &463653235 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 463653236} + - 33: {fileID: 463653238} + - 23: {fileID: 463653237} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &463653236 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 463653235} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1402568966} + m_RootOrder: 4 +--- !u!23 &463653237 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 463653235} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &463653238 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 463653235} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &469176261 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 469176262} + - 33: {fileID: 469176264} + - 23: {fileID: 469176263} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &469176262 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 469176261} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1330598094} + m_RootOrder: 3 +--- !u!23 &469176263 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 469176261} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &469176264 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 469176261} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &471463404 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 471463405} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &471463405 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 471463404} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1512158322} + - {fileID: 726430108} + - {fileID: 1827989466} + - {fileID: 621855946} + - {fileID: 1052080523} + - {fileID: 626371961} + - {fileID: 1448535561} + - {fileID: 428027777} + - {fileID: 1662872402} + m_Father: {fileID: 416898948} + m_RootOrder: 6 +--- !u!1 &471620195 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 471620196} + - 33: {fileID: 471620198} + - 23: {fileID: 471620197} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &471620196 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 471620195} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 698956160} + m_RootOrder: 6 +--- !u!23 &471620197 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 471620195} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &471620198 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 471620195} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &474628328 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 474628329} + - 33: {fileID: 474628331} + - 23: {fileID: 474628330} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &474628329 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 474628328} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 191837273} + m_RootOrder: 8 +--- !u!23 &474628330 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 474628328} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &474628331 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 474628328} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &477954934 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 477954935} + - 33: {fileID: 477954937} + - 23: {fileID: 477954936} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &477954935 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 477954934} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1410998029} + m_RootOrder: 5 +--- !u!23 &477954936 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 477954934} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &477954937 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 477954934} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &484195583 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 484195584} + - 33: {fileID: 484195586} + - 23: {fileID: 484195585} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &484195584 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 484195583} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1038701522} + m_RootOrder: 6 +--- !u!23 &484195585 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 484195583} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &484195586 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 484195583} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &484270179 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 484270180} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &484270180 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 484270179} + 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_Children: + - {fileID: 1585804692} + - {fileID: 35212800} + - {fileID: 1245497275} + - {fileID: 555280643} + - {fileID: 11815621} + - {fileID: 1202756945} + - {fileID: 716723409} + - {fileID: 2004483208} + - {fileID: 1717160740} + m_Father: {fileID: 1906654409} + m_RootOrder: 4 +--- !u!1 &484418414 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 484418415} + - 33: {fileID: 484418417} + - 23: {fileID: 484418416} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &484418415 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 484418414} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1145749506} + m_RootOrder: 4 +--- !u!23 &484418416 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 484418414} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &484418417 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 484418414} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &484522387 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 484522388} + - 33: {fileID: 484522390} + - 23: {fileID: 484522389} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &484522388 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 484522387} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 843886803} + m_RootOrder: 2 +--- !u!23 &484522389 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 484522387} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &484522390 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 484522387} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &485922318 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 485922319} + - 33: {fileID: 485922321} + - 23: {fileID: 485922320} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &485922319 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 485922318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2049357828} + m_RootOrder: 8 +--- !u!23 &485922320 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 485922318} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &485922321 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 485922318} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &494523047 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 494523048} + - 33: {fileID: 494523050} + - 23: {fileID: 494523049} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &494523048 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 494523047} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 146325016} + m_RootOrder: 7 +--- !u!23 &494523049 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 494523047} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &494523050 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 494523047} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &498431040 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 498431041} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &498431041 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 498431040} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 905568585} + - {fileID: 882231446} + - {fileID: 754377028} + - {fileID: 382685688} + - {fileID: 2068883891} + - {fileID: 375505131} + - {fileID: 2057664975} + - {fileID: 1741033992} + - {fileID: 778259615} + m_Father: {fileID: 416898948} + m_RootOrder: 3 +--- !u!1 &499152560 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 499152561} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &499152561 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 499152560} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 461508964} + - {fileID: 1948389798} + - {fileID: 981850443} + - {fileID: 2045179446} + - {fileID: 1700747218} + - {fileID: 1074652779} + - {fileID: 1274924130} + - {fileID: 1396288340} + - {fileID: 1587431538} + m_Father: {fileID: 311797878} + m_RootOrder: 7 +--- !u!1 &504812017 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 504812018} + - 33: {fileID: 504812020} + - 23: {fileID: 504812019} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &504812018 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 504812017} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231738743} + m_RootOrder: 6 +--- !u!23 &504812019 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 504812017} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &504812020 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 504812017} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &506744596 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 506744597} + - 33: {fileID: 506744599} + - 23: {fileID: 506744598} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &506744597 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 506744596} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1758170125} + m_RootOrder: 6 +--- !u!23 &506744598 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 506744596} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &506744599 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 506744596} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &511318833 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 511318834} + - 33: {fileID: 511318836} + - 23: {fileID: 511318835} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &511318834 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 511318833} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 332742599} + m_RootOrder: 3 +--- !u!23 &511318835 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 511318833} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &511318836 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 511318833} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &511402743 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 511402744} + - 33: {fileID: 511402746} + - 23: {fileID: 511402745} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &511402744 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 511402743} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1613309483} + m_RootOrder: 5 +--- !u!23 &511402745 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 511402743} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &511402746 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 511402743} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &513028102 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 513028103} + - 33: {fileID: 513028105} + - 23: {fileID: 513028104} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &513028103 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 513028102} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 415594698} + m_RootOrder: 4 +--- !u!23 &513028104 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 513028102} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &513028105 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 513028102} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &514001096 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 514001097} + - 33: {fileID: 514001099} + - 23: {fileID: 514001098} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &514001097 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 514001096} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1251486547} + m_RootOrder: 8 +--- !u!23 &514001098 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 514001096} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &514001099 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 514001096} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &520605638 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 520605639} + - 33: {fileID: 520605641} + - 23: {fileID: 520605640} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &520605639 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 520605638} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2070993649} + m_RootOrder: 2 +--- !u!23 &520605640 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 520605638} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &520605641 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 520605638} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &523985742 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 523985743} + - 33: {fileID: 523985745} + - 23: {fileID: 523985744} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &523985743 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 523985742} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 857026539} + m_RootOrder: 1 +--- !u!23 &523985744 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 523985742} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &523985745 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 523985742} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &531698856 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 531698857} + - 33: {fileID: 531698859} + - 23: {fileID: 531698858} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &531698857 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 531698856} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1687020670} + m_RootOrder: 3 +--- !u!23 &531698858 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 531698856} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &531698859 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 531698856} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &532371071 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 532371072} + - 33: {fileID: 532371074} + - 23: {fileID: 532371073} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &532371072 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 532371071} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1587156216} + m_RootOrder: 5 +--- !u!23 &532371073 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 532371071} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &532371074 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 532371071} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &539304523 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 539304524} + - 33: {fileID: 539304526} + - 23: {fileID: 539304525} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &539304524 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 539304523} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 157447699} + m_RootOrder: 4 +--- !u!23 &539304525 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 539304523} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &539304526 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 539304523} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &540466441 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 540466442} + - 33: {fileID: 540466444} + - 23: {fileID: 540466443} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &540466442 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 540466441} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 379543545} + m_RootOrder: 4 +--- !u!23 &540466443 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 540466441} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &540466444 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 540466441} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &540681793 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 540681794} + - 33: {fileID: 540681796} + - 23: {fileID: 540681795} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &540681794 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 540681793} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1269069112} + m_RootOrder: 7 +--- !u!23 &540681795 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 540681793} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &540681796 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 540681793} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &546731475 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 546731476} + - 33: {fileID: 546731478} + - 23: {fileID: 546731477} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &546731476 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 546731475} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1881349947} + m_RootOrder: 1 +--- !u!23 &546731477 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 546731475} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &546731478 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 546731475} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &546913079 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 546913080} + - 33: {fileID: 546913082} + - 23: {fileID: 546913081} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &546913080 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 546913079} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1396826707} + m_RootOrder: 2 +--- !u!23 &546913081 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 546913079} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &546913082 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 546913079} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &548293211 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 548293212} + - 33: {fileID: 548293214} + - 23: {fileID: 548293213} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &548293212 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 548293211} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1357615428} + m_RootOrder: 6 +--- !u!23 &548293213 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 548293211} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &548293214 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 548293211} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &548381933 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 548381934} + - 33: {fileID: 548381936} + - 23: {fileID: 548381935} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &548381934 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 548381933} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 774647436} + m_RootOrder: 1 +--- !u!23 &548381935 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 548381933} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &548381936 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 548381933} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &549499154 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 549499155} + - 33: {fileID: 549499157} + - 23: {fileID: 549499156} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &549499155 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 549499154} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231626962} + m_RootOrder: 8 +--- !u!23 &549499156 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 549499154} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &549499157 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 549499154} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &554489814 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 554489815} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &554489815 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 554489814} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 215669802} + - {fileID: 579658403} + - {fileID: 1389388062} + - {fileID: 144254504} + - {fileID: 382491390} + - {fileID: 1424159264} + - {fileID: 1318505279} + - {fileID: 1457726232} + - {fileID: 1822101654} + m_Father: {fileID: 416898948} + m_RootOrder: 5 +--- !u!1 &555280642 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 555280643} + - 33: {fileID: 555280645} + - 23: {fileID: 555280644} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &555280643 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 555280642} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 484270180} + m_RootOrder: 3 +--- !u!23 &555280644 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 555280642} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &555280645 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 555280642} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &564326637 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 564326638} + - 33: {fileID: 564326640} + - 23: {fileID: 564326639} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &564326638 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 564326637} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1550093339} + m_RootOrder: 4 +--- !u!23 &564326639 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 564326637} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &564326640 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 564326637} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &567130466 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 567130467} + - 33: {fileID: 567130469} + - 23: {fileID: 567130468} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &567130467 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 567130466} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1082956371} + m_RootOrder: 7 +--- !u!23 &567130468 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 567130466} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &567130469 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 567130466} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &570170664 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 570170665} + - 33: {fileID: 570170667} + - 23: {fileID: 570170666} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &570170665 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 570170664} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 358145806} + m_RootOrder: 4 +--- !u!23 &570170666 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 570170664} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &570170667 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 570170664} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &571634747 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 571634748} + - 33: {fileID: 571634750} + - 23: {fileID: 571634749} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &571634748 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 571634747} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1758170125} + m_RootOrder: 2 +--- !u!23 &571634749 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 571634747} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &571634750 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 571634747} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &575084345 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 575084346} + - 33: {fileID: 575084348} + - 23: {fileID: 575084347} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &575084346 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 575084345} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 440610438} + m_RootOrder: 2 +--- !u!23 &575084347 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 575084345} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &575084348 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 575084345} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &578583989 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 578583990} + - 33: {fileID: 578583992} + - 23: {fileID: 578583991} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &578583990 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 578583989} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 379543545} + m_RootOrder: 7 +--- !u!23 &578583991 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 578583989} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &578583992 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 578583989} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &579658402 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 579658403} + - 33: {fileID: 579658405} + - 23: {fileID: 579658404} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &579658403 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 579658402} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 554489815} + m_RootOrder: 1 +--- !u!23 &579658404 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 579658402} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &579658405 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 579658402} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &579785514 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 579785515} + - 33: {fileID: 579785517} + - 23: {fileID: 579785516} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &579785515 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 579785514} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 433168050} + m_RootOrder: 1 +--- !u!23 &579785516 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 579785514} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &579785517 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 579785514} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &583863355 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 583863356} + - 33: {fileID: 583863358} + - 23: {fileID: 583863357} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &583863356 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 583863355} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 366225505} + m_RootOrder: 2 +--- !u!23 &583863357 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 583863355} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &583863358 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 583863355} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &585764506 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 585764507} + - 33: {fileID: 585764509} + - 23: {fileID: 585764508} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &585764507 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 585764506} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 989992470} + m_RootOrder: 7 +--- !u!23 &585764508 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 585764506} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &585764509 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 585764506} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &589321229 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 589321230} + - 33: {fileID: 589321232} + - 23: {fileID: 589321231} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &589321230 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 589321229} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1591077534} + m_RootOrder: 5 +--- !u!23 &589321231 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 589321229} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &589321232 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 589321229} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &591298305 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 591298306} + - 33: {fileID: 591298308} + - 23: {fileID: 591298307} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &591298306 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 591298305} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 698956160} + m_RootOrder: 2 +--- !u!23 &591298307 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 591298305} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &591298308 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 591298305} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &592028978 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 592028979} + - 33: {fileID: 592028981} + - 23: {fileID: 592028980} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &592028979 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 592028978} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1396826707} + m_RootOrder: 8 +--- !u!23 &592028980 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 592028978} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &592028981 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 592028978} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &597432347 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 597432348} + - 33: {fileID: 597432350} + - 23: {fileID: 597432349} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &597432348 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 597432347} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 843886803} + m_RootOrder: 6 +--- !u!23 &597432349 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 597432347} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &597432350 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 597432347} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &598451970 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 598451971} + - 33: {fileID: 598451973} + - 23: {fileID: 598451972} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &598451971 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 598451970} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 366225505} + m_RootOrder: 0 +--- !u!23 &598451972 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 598451970} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &598451973 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 598451970} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &604038726 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 604038727} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &604038727 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 604038726} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 912679176} + - {fileID: 714657756} + - {fileID: 1026110227} + - {fileID: 352250862} + - {fileID: 1400544811} + - {fileID: 271422296} + - {fileID: 1059900642} + - {fileID: 1660802535} + - {fileID: 53922724} + m_Father: {fileID: 1875085494} + m_RootOrder: 2 +--- !u!1 &606569944 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 606569945} + - 33: {fileID: 606569947} + - 23: {fileID: 606569946} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &606569945 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 606569944} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 332742599} + m_RootOrder: 7 +--- !u!23 &606569946 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 606569944} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &606569947 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 606569944} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &607719587 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 607719588} + - 33: {fileID: 607719590} + - 23: {fileID: 607719589} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &607719588 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 607719587} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1613309483} + m_RootOrder: 4 +--- !u!23 &607719589 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 607719587} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &607719590 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 607719587} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &608429980 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 608429981} + - 33: {fileID: 608429983} + - 23: {fileID: 608429982} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &608429981 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608429980} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1145749506} + m_RootOrder: 7 +--- !u!23 &608429982 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608429980} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &608429983 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608429980} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &608618474 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 608618475} + - 33: {fileID: 608618477} + - 23: {fileID: 608618476} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &608618475 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608618474} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 774647436} + m_RootOrder: 0 +--- !u!23 &608618476 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608618474} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &608618477 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608618474} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &608944952 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 608944953} + - 33: {fileID: 608944955} + - 23: {fileID: 608944954} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &608944953 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608944952} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1396826707} + m_RootOrder: 1 +--- !u!23 &608944954 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608944952} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &608944955 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 608944952} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &610586810 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 610586811} + - 33: {fileID: 610586813} + - 23: {fileID: 610586812} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &610586811 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 610586810} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 774647436} + m_RootOrder: 5 +--- !u!23 &610586812 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 610586810} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &610586813 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 610586810} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &614301047 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 614301048} + - 33: {fileID: 614301050} + - 23: {fileID: 614301049} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &614301048 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 614301047} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1337936969} + m_RootOrder: 8 +--- !u!23 &614301049 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 614301047} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &614301050 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 614301047} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &617739922 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 617739923} + - 33: {fileID: 617739925} + - 23: {fileID: 617739924} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &617739923 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 617739922} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1318928928} + m_RootOrder: 6 +--- !u!23 &617739924 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 617739922} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &617739925 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 617739922} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &621855945 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 621855946} + - 33: {fileID: 621855948} + - 23: {fileID: 621855947} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &621855946 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 621855945} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 471463405} + m_RootOrder: 3 +--- !u!23 &621855947 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 621855945} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &621855948 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 621855945} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &621882597 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 621882598} + - 33: {fileID: 621882600} + - 23: {fileID: 621882599} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &621882598 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 621882597} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1269069112} + m_RootOrder: 5 +--- !u!23 &621882599 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 621882597} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &621882600 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 621882597} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &626371960 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 626371961} + - 33: {fileID: 626371963} + - 23: {fileID: 626371962} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &626371961 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 626371960} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 471463405} + m_RootOrder: 5 +--- !u!23 &626371962 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 626371960} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &626371963 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 626371960} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &626833813 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 626833814} + - 33: {fileID: 626833816} + - 23: {fileID: 626833815} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &626833814 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 626833813} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 433168050} + m_RootOrder: 4 +--- !u!23 &626833815 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 626833813} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &626833816 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 626833813} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &628298918 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 628298919} + - 33: {fileID: 628298921} + - 23: {fileID: 628298920} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &628298919 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 628298918} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 969754910} + m_RootOrder: 0 +--- !u!23 &628298920 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 628298918} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &628298921 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 628298918} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &633738327 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 633738328} + - 33: {fileID: 633738330} + - 23: {fileID: 633738329} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &633738328 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 633738327} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1330598094} + m_RootOrder: 2 +--- !u!23 &633738329 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 633738327} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &633738330 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 633738327} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &639002473 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 639002474} + - 33: {fileID: 639002476} + - 23: {fileID: 639002475} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &639002474 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 639002473} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 138445035} + m_RootOrder: 2 +--- !u!23 &639002475 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 639002473} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &639002476 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 639002473} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &642335543 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 642335544} + - 33: {fileID: 642335546} + - 23: {fileID: 642335545} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &642335544 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 642335543} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 768694475} + m_RootOrder: 7 +--- !u!23 &642335545 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 642335543} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &642335546 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 642335543} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &645802774 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 645802775} + - 33: {fileID: 645802777} + - 23: {fileID: 645802776} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &645802775 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 645802774} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 440610438} + m_RootOrder: 0 +--- !u!23 &645802776 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 645802774} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &645802777 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 645802774} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &646509305 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 646509306} + - 33: {fileID: 646509308} + - 23: {fileID: 646509307} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &646509306 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 646509305} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1591077534} + m_RootOrder: 1 +--- !u!23 &646509307 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 646509305} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &646509308 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 646509305} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &653589770 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 653589771} + - 33: {fileID: 653589773} + - 23: {fileID: 653589772} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &653589771 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 653589770} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 349606543} + m_RootOrder: 4 +--- !u!23 &653589772 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 653589770} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &653589773 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 653589770} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &653981193 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 653981194} + - 33: {fileID: 653981196} + - 23: {fileID: 653981195} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &653981194 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 653981193} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2070993649} + m_RootOrder: 7 +--- !u!23 &653981195 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 653981193} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &653981196 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 653981193} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &655133130 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 655133131} + - 33: {fileID: 655133133} + - 23: {fileID: 655133132} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &655133131 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 655133130} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 352349652} + m_RootOrder: 0 +--- !u!23 &655133132 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 655133130} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &655133133 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 655133130} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &656027562 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 656027563} + - 33: {fileID: 656027565} + - 23: {fileID: 656027564} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &656027563 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 656027562} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1337936969} + m_RootOrder: 6 +--- !u!23 &656027564 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 656027562} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &656027565 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 656027562} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &664229993 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 664229994} + - 33: {fileID: 664229996} + - 23: {fileID: 664229995} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &664229994 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 664229993} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1240836681} + m_RootOrder: 8 +--- !u!23 &664229995 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 664229993} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &664229996 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 664229993} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &668452299 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 668452300} + - 33: {fileID: 668452302} + - 23: {fileID: 668452301} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &668452300 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 668452299} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1337936969} + m_RootOrder: 3 +--- !u!23 &668452301 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 668452299} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &668452302 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 668452299} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &670426898 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 670426899} + - 33: {fileID: 670426901} + - 23: {fileID: 670426900} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &670426899 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 670426898} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1687020670} + m_RootOrder: 1 +--- !u!23 &670426900 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 670426898} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &670426901 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 670426898} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &670736872 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 670736873} + - 33: {fileID: 670736875} + - 23: {fileID: 670736874} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &670736873 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 670736872} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2049357828} + m_RootOrder: 0 +--- !u!23 &670736874 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 670736872} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &670736875 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 670736872} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &671668762 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 671668763} + - 33: {fileID: 671668765} + - 23: {fileID: 671668764} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &671668763 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 671668762} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 710806381} + m_RootOrder: 1 +--- !u!23 &671668764 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 671668762} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &671668765 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 671668762} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &672418998 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 672418999} + - 33: {fileID: 672419001} + - 23: {fileID: 672419000} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &672418999 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 672418998} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 138445035} + m_RootOrder: 6 +--- !u!23 &672419000 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 672418998} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &672419001 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 672418998} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &674325341 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 674325342} + - 33: {fileID: 674325344} + - 23: {fileID: 674325343} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &674325342 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 674325341} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 138445035} + m_RootOrder: 7 +--- !u!23 &674325343 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 674325341} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &674325344 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 674325341} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &683790915 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 683790916} + - 33: {fileID: 683790918} + - 23: {fileID: 683790917} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &683790916 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 683790915} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 415594698} + m_RootOrder: 5 +--- !u!23 &683790917 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 683790915} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &683790918 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 683790915} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &688419947 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 688419948} + - 33: {fileID: 688419950} + - 23: {fileID: 688419949} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &688419948 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 688419947} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 950631283} + m_RootOrder: 2 +--- !u!23 &688419949 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 688419947} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &688419950 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 688419947} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &688604065 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 688604066} + - 33: {fileID: 688604068} + - 23: {fileID: 688604067} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &688604066 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 688604065} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 950631283} + m_RootOrder: 7 +--- !u!23 &688604067 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 688604065} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &688604068 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 688604065} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &690061369 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 690061370} + - 33: {fileID: 690061372} + - 23: {fileID: 690061371} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &690061370 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 690061369} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 710806381} + m_RootOrder: 6 +--- !u!23 &690061371 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 690061369} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &690061372 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 690061369} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &691554663 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 691554664} + - 33: {fileID: 691554666} + - 23: {fileID: 691554665} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &691554664 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 691554663} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 157447699} + m_RootOrder: 6 +--- !u!23 &691554665 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 691554663} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &691554666 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 691554663} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &692314445 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 692314446} + - 33: {fileID: 692314448} + - 23: {fileID: 692314447} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &692314446 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 692314445} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1881349947} + m_RootOrder: 5 +--- !u!23 &692314447 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 692314445} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &692314448 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 692314445} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &694065972 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 694065973} + - 33: {fileID: 694065975} + - 23: {fileID: 694065974} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &694065973 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 694065972} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 969754910} + m_RootOrder: 7 +--- !u!23 &694065974 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 694065972} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &694065975 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 694065972} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &694583487 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 694583488} + - 33: {fileID: 694583490} + - 23: {fileID: 694583489} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &694583488 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 694583487} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 217104405} + m_RootOrder: 0 +--- !u!23 &694583489 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 694583487} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &694583490 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 694583487} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &695396972 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 695396973} + - 33: {fileID: 695396975} + - 23: {fileID: 695396974} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &695396973 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 695396972} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1251486547} + m_RootOrder: 1 +--- !u!23 &695396974 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 695396972} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &695396975 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 695396972} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &697907465 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 697907466} + - 33: {fileID: 697907468} + - 23: {fileID: 697907467} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &697907466 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 697907465} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 217104405} + m_RootOrder: 5 +--- !u!23 &697907467 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 697907465} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &697907468 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 697907465} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &698956159 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 698956160} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &698956160 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 698956159} + 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_Children: + - {fileID: 1979134599} + - {fileID: 1446319686} + - {fileID: 591298306} + - {fileID: 66939663} + - {fileID: 1825854681} + - {fileID: 950671321} + - {fileID: 471620196} + - {fileID: 60223818} + - {fileID: 260159409} + m_Father: {fileID: 1288823789} + m_RootOrder: 4 +--- !u!1 &704930281 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 704930282} + - 33: {fileID: 704930284} + - 23: {fileID: 704930283} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &704930282 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704930281} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1758170125} + m_RootOrder: 1 +--- !u!23 &704930283 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704930281} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &704930284 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 704930281} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &707099599 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 707099600} + - 33: {fileID: 707099602} + - 23: {fileID: 707099601} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &707099600 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 707099599} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1330598094} + m_RootOrder: 8 +--- !u!23 &707099601 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 707099599} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &707099602 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 707099599} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &710806380 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 710806381} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &710806381 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 710806380} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1506383276} + - {fileID: 671668763} + - {fileID: 1913051230} + - {fileID: 1954311486} + - {fileID: 1494943606} + - {fileID: 1181315792} + - {fileID: 690061370} + - {fileID: 81328367} + - {fileID: 921992683} + m_Father: {fileID: 1288823789} + m_RootOrder: 1 +--- !u!1 &711857078 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 711857079} + - 33: {fileID: 711857081} + - 23: {fileID: 711857080} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &711857079 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 711857078} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 774647436} + m_RootOrder: 4 +--- !u!23 &711857080 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 711857078} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &711857081 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 711857078} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &712597645 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 712597646} + - 33: {fileID: 712597648} + - 23: {fileID: 712597647} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &712597646 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 712597645} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2070993649} + m_RootOrder: 6 +--- !u!23 &712597647 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 712597645} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &712597648 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 712597645} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &714657755 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 714657756} + - 33: {fileID: 714657758} + - 23: {fileID: 714657757} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &714657756 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 714657755} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 604038727} + m_RootOrder: 1 +--- !u!23 &714657757 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 714657755} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &714657758 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 714657755} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &715690332 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 715690333} + - 33: {fileID: 715690335} + - 23: {fileID: 715690334} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &715690333 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 715690332} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 412002962} + m_RootOrder: 8 +--- !u!23 &715690334 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 715690332} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &715690335 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 715690332} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &716723408 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 716723409} + - 33: {fileID: 716723411} + - 23: {fileID: 716723410} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &716723409 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 716723408} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 484270180} + m_RootOrder: 6 +--- !u!23 &716723410 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 716723408} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &716723411 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 716723408} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &719486258 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 719486259} + - 33: {fileID: 719486261} + - 23: {fileID: 719486260} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &719486259 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 719486258} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1711378518} + m_RootOrder: 5 +--- !u!23 &719486260 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 719486258} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &719486261 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 719486258} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &723900744 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 723900745} + - 33: {fileID: 723900747} + - 23: {fileID: 723900746} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &723900745 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 723900744} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1587156216} + m_RootOrder: 1 +--- !u!23 &723900746 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 723900744} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &723900747 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 723900744} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &726430107 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 726430108} + - 33: {fileID: 726430110} + - 23: {fileID: 726430109} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &726430108 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 726430107} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 471463405} + m_RootOrder: 1 +--- !u!23 &726430109 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 726430107} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &726430110 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 726430107} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &728103436 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 728103437} + - 33: {fileID: 728103439} + - 23: {fileID: 728103438} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &728103437 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 728103436} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1269069112} + m_RootOrder: 0 +--- !u!23 &728103438 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 728103436} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &728103439 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 728103436} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &728585452 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 728585453} + - 33: {fileID: 728585455} + - 23: {fileID: 728585454} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &728585453 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 728585452} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1687020670} + m_RootOrder: 7 +--- !u!23 &728585454 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 728585452} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &728585455 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 728585452} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &729236453 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 729236454} + - 33: {fileID: 729236456} + - 23: {fileID: 729236455} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &729236454 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 729236453} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1357615428} + m_RootOrder: 3 +--- !u!23 &729236455 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 729236453} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &729236456 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 729236453} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &732523450 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 732523451} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &732523451 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 732523450} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 827734987} + - {fileID: 1608184003} + - {fileID: 1395995597} + - {fileID: 1444405829} + - {fileID: 881430522} + - {fileID: 2056972174} + - {fileID: 1942119077} + - {fileID: 1685836021} + - {fileID: 1961694172} + m_Father: {fileID: 320694060} + m_RootOrder: 5 +--- !u!1 &741110641 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 741110642} + - 33: {fileID: 741110644} + - 23: {fileID: 741110643} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &741110642 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 741110641} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 857026539} + m_RootOrder: 7 +--- !u!23 &741110643 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 741110641} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &741110644 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 741110641} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &741883664 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 741883665} + - 33: {fileID: 741883667} + - 23: {fileID: 741883666} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &741883665 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 741883664} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1413035099} + m_RootOrder: 3 +--- !u!23 &741883666 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 741883664} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &741883667 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 741883664} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &743617656 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 743617657} + - 33: {fileID: 743617659} + - 23: {fileID: 743617658} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &743617657 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 743617656} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1337936969} + m_RootOrder: 1 +--- !u!23 &743617658 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 743617656} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &743617659 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 743617656} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &744483483 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 744483484} + - 33: {fileID: 744483486} + - 23: {fileID: 744483485} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &744483484 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 744483483} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 843886803} + m_RootOrder: 4 +--- !u!23 &744483485 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 744483483} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &744483486 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 744483483} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &745174096 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 745174097} + - 33: {fileID: 745174099} + - 23: {fileID: 745174098} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &745174097 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 745174096} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1413035099} + m_RootOrder: 2 +--- !u!23 &745174098 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 745174096} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &745174099 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 745174096} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &750480529 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 750480530} + - 33: {fileID: 750480532} + - 23: {fileID: 750480531} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &750480530 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 750480529} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 870806955} + m_RootOrder: 8 +--- !u!23 &750480531 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 750480529} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &750480532 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 750480529} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &751968217 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 751968218} + - 33: {fileID: 751968220} + - 23: {fileID: 751968219} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &751968218 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 751968217} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1243272144} + m_RootOrder: 6 +--- !u!23 &751968219 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 751968217} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &751968220 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 751968217} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &754377027 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 754377028} + - 33: {fileID: 754377030} + - 23: {fileID: 754377029} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &754377028 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 754377027} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 498431041} + m_RootOrder: 2 +--- !u!23 &754377029 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 754377027} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &754377030 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 754377027} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &761392684 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 761392685} + - 33: {fileID: 761392687} + - 23: {fileID: 761392686} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &761392685 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 761392684} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1687020670} + m_RootOrder: 4 +--- !u!23 &761392686 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 761392684} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &761392687 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 761392684} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &764367997 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 764367998} + - 33: {fileID: 764368000} + - 23: {fileID: 764367999} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &764367998 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 764367997} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 191837273} + m_RootOrder: 0 +--- !u!23 &764367999 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 764367997} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &764368000 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 764367997} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &768694474 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 768694475} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &768694475 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 768694474} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1017860057} + - {fileID: 964621625} + - {fileID: 831706930} + - {fileID: 133039177} + - {fileID: 216828087} + - {fileID: 185328092} + - {fileID: 1356626587} + - {fileID: 642335544} + - {fileID: 1438264998} + m_Father: {fileID: 416898948} + m_RootOrder: 0 +--- !u!1 &772855986 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 772855987} + - 33: {fileID: 772855989} + - 23: {fileID: 772855988} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &772855987 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 772855986} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1413035099} + m_RootOrder: 7 +--- !u!23 &772855988 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 772855986} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &772855989 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 772855986} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &774647435 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 774647436} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &774647436 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 774647435} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 608618475} + - {fileID: 548381934} + - {fileID: 1912384768} + - {fileID: 1597171771} + - {fileID: 711857079} + - {fileID: 610586811} + - {fileID: 787635895} + - {fileID: 1396544291} + - {fileID: 1548314696} + m_Father: {fileID: 1285129845} + m_RootOrder: 7 +--- !u!1 &776061701 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 776061702} + - 33: {fileID: 776061704} + - 23: {fileID: 776061703} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &776061702 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 776061701} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 366225505} + m_RootOrder: 3 +--- !u!23 &776061703 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 776061701} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &776061704 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 776061701} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &778259614 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 778259615} + - 33: {fileID: 778259617} + - 23: {fileID: 778259616} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &778259615 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 778259614} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 498431041} + m_RootOrder: 8 +--- !u!23 &778259616 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 778259614} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &778259617 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 778259614} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &784653060 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 784653061} + - 33: {fileID: 784653063} + - 23: {fileID: 784653062} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &784653061 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 784653060} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 433168050} + m_RootOrder: 8 +--- !u!23 &784653062 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 784653060} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &784653063 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 784653060} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &785564258 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 785564259} + - 33: {fileID: 785564261} + - 23: {fileID: 785564260} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &785564259 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 785564258} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1049063299} + m_RootOrder: 1 +--- !u!23 &785564260 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 785564258} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &785564261 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 785564258} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &787635894 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 787635895} + - 33: {fileID: 787635897} + - 23: {fileID: 787635896} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &787635895 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 787635894} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 774647436} + m_RootOrder: 6 +--- !u!23 &787635896 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 787635894} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &787635897 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 787635894} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &790229013 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 790229014} + - 33: {fileID: 790229016} + - 23: {fileID: 790229015} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &790229014 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 790229013} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1687020670} + m_RootOrder: 5 +--- !u!23 &790229015 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 790229013} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &790229016 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 790229013} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &790672578 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 790672579} + - 33: {fileID: 790672581} + - 23: {fileID: 790672580} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &790672579 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 790672578} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1624250639} + m_RootOrder: 3 +--- !u!23 &790672580 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 790672578} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &790672581 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 790672578} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &798455659 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 798455660} + - 33: {fileID: 798455662} + - 23: {fileID: 798455661} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &798455660 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 798455659} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 950631283} + m_RootOrder: 5 +--- !u!23 &798455661 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 798455659} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &798455662 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 798455659} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &799336606 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 799336607} + - 33: {fileID: 799336609} + - 23: {fileID: 799336608} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &799336607 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 799336606} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 217104405} + m_RootOrder: 7 +--- !u!23 &799336608 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 799336606} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &799336609 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 799336606} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &801635954 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 801635955} + - 33: {fileID: 801635957} + - 23: {fileID: 801635956} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &801635955 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 801635954} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231738743} + m_RootOrder: 0 +--- !u!23 &801635956 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 801635954} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &801635957 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 801635954} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &803068173 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 803068174} + - 33: {fileID: 803068176} + - 23: {fileID: 803068175} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &803068174 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 803068173} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1337936969} + m_RootOrder: 7 +--- !u!23 &803068175 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 803068173} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &803068176 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 803068173} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &810814967 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 810814968} + - 33: {fileID: 810814970} + - 23: {fileID: 810814969} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &810814968 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 810814967} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1049063299} + m_RootOrder: 5 +--- !u!23 &810814969 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 810814967} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &810814970 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 810814967} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &813174887 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 813174888} + - 33: {fileID: 813174890} + - 23: {fileID: 813174889} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &813174888 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 813174887} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 950631283} + m_RootOrder: 3 +--- !u!23 &813174889 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 813174887} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &813174890 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 813174887} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &820016391 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 820016392} + - 33: {fileID: 820016394} + - 23: {fileID: 820016393} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &820016392 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 820016391} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 870806955} + m_RootOrder: 2 +--- !u!23 &820016393 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 820016391} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &820016394 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 820016391} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &821285324 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 821285325} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &821285325 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 821285324} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2055671388} + - {fileID: 1605042668} + - {fileID: 1921026973} + - {fileID: 1414446055} + - {fileID: 233977207} + - {fileID: 918680893} + - {fileID: 352977278} + - {fileID: 829114950} + - {fileID: 1171171817} + m_Father: {fileID: 1875085494} + m_RootOrder: 7 +--- !u!1 &821731845 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 821731846} + - 33: {fileID: 821731848} + - 23: {fileID: 821731847} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &821731846 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 821731845} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 412002962} + m_RootOrder: 3 +--- !u!23 &821731847 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 821731845} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &821731848 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 821731845} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &827734986 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 827734987} + - 33: {fileID: 827734989} + - 23: {fileID: 827734988} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &827734987 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 827734986} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 732523451} + m_RootOrder: 0 +--- !u!23 &827734988 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 827734986} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &827734989 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 827734986} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &829114949 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 829114950} + - 33: {fileID: 829114952} + - 23: {fileID: 829114951} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &829114950 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 829114949} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 821285325} + m_RootOrder: 7 +--- !u!23 &829114951 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 829114949} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &829114952 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 829114949} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &831706929 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 831706930} + - 33: {fileID: 831706932} + - 23: {fileID: 831706931} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &831706930 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 831706929} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 768694475} + m_RootOrder: 2 +--- !u!23 &831706931 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 831706929} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &831706932 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 831706929} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &838733921 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 838733922} + - 33: {fileID: 838733924} + - 23: {fileID: 838733923} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &838733922 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 838733921} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1965163931} + m_RootOrder: 7 +--- !u!23 &838733923 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 838733921} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &838733924 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 838733921} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &840540658 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 840540659} + - 33: {fileID: 840540661} + - 23: {fileID: 840540660} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &840540659 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 840540658} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 309447440} + m_RootOrder: 3 +--- !u!23 &840540660 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 840540658} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &840540661 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 840540658} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &843322474 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 843322475} + - 33: {fileID: 843322477} + - 23: {fileID: 843322476} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &843322475 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 843322474} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 138445035} + m_RootOrder: 4 +--- !u!23 &843322476 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 843322474} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &843322477 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 843322474} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &843886802 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 843886803} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &843886803 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 843886802} + 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_Children: + - {fileID: 2038017096} + - {fileID: 2136417289} + - {fileID: 484522388} + - {fileID: 1969505723} + - {fileID: 744483484} + - {fileID: 1645935153} + - {fileID: 597432348} + - {fileID: 1161507921} + - {fileID: 1285184253} + m_Father: {fileID: 1285129845} + m_RootOrder: 4 +--- !u!1 &846805636 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 846805637} + - 33: {fileID: 846805639} + - 23: {fileID: 846805638} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &846805637 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 846805636} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1240836681} + m_RootOrder: 3 +--- !u!23 &846805638 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 846805636} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &846805639 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 846805636} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &849571238 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 849571239} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &849571239 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 849571238} + 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_Children: + - {fileID: 905063055} + - {fileID: 134224555} + - {fileID: 1916262351} + - {fileID: 1373919401} + - {fileID: 1532310221} + - {fileID: 415624978} + - {fileID: 934230524} + - {fileID: 1630920717} + - {fileID: 1362136244} + m_Father: {fileID: 320694060} + m_RootOrder: 4 +--- !u!1 &850494879 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 850494880} + - 33: {fileID: 850494882} + - 23: {fileID: 850494881} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &850494880 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 850494879} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 349606543} + m_RootOrder: 6 +--- !u!23 &850494881 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 850494879} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &850494882 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 850494879} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &851576730 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 851576731} + - 33: {fileID: 851576733} + - 23: {fileID: 851576732} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &851576731 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 851576730} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 349606543} + m_RootOrder: 7 +--- !u!23 &851576732 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 851576730} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &851576733 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 851576730} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &854490569 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 854490570} + - 33: {fileID: 854490572} + - 23: {fileID: 854490571} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &854490570 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 854490569} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1950362483} + m_RootOrder: 2 +--- !u!23 &854490571 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 854490569} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &854490572 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 854490569} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &857026538 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 857026539} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &857026539 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 857026538} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1298782549} + - {fileID: 523985743} + - {fileID: 1318559587} + - {fileID: 2010793939} + - {fileID: 437676468} + - {fileID: 1462172971} + - {fileID: 1357123422} + - {fileID: 741110642} + - {fileID: 1074566051} + m_Father: {fileID: 311797878} + m_RootOrder: 2 +--- !u!1 &864853647 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 864853648} + - 33: {fileID: 864853650} + - 23: {fileID: 864853649} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &864853648 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 864853647} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1550093339} + m_RootOrder: 6 +--- !u!23 &864853649 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 864853647} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &864853650 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 864853647} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &865105501 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 865105502} + - 33: {fileID: 865105504} + - 23: {fileID: 865105503} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &865105502 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 865105501} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 415594698} + m_RootOrder: 7 +--- !u!23 &865105503 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 865105501} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &865105504 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 865105501} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &866611228 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 866611229} + - 33: {fileID: 866611231} + - 23: {fileID: 866611230} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &866611229 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 866611228} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 332742599} + m_RootOrder: 8 +--- !u!23 &866611230 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 866611228} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &866611231 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 866611228} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &869062403 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 869062404} + - 33: {fileID: 869062406} + - 23: {fileID: 869062405} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &869062404 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 869062403} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 358145806} + m_RootOrder: 5 +--- !u!23 &869062405 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 869062403} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &869062406 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 869062403} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &869552658 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 869552659} + - 33: {fileID: 869552661} + - 23: {fileID: 869552660} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &869552659 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 869552658} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1552181540} + m_RootOrder: 6 +--- !u!23 &869552660 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 869552658} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &869552661 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 869552658} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &870806954 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 870806955} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &870806955 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 870806954} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1570922059} + - {fileID: 447053505} + - {fileID: 820016392} + - {fileID: 234401193} + - {fileID: 1249659886} + - {fileID: 1178177618} + - {fileID: 1736130680} + - {fileID: 363080943} + - {fileID: 750480530} + m_Father: {fileID: 1875085494} + m_RootOrder: 3 +--- !u!1 &872716103 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 872716104} + - 33: {fileID: 872716106} + - 23: {fileID: 872716105} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &872716104 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 872716103} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2049357828} + m_RootOrder: 7 +--- !u!23 &872716105 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 872716103} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &872716106 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 872716103} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &877289651 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 877289652} + - 33: {fileID: 877289654} + - 23: {fileID: 877289653} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &877289652 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 877289651} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1136402243} + m_RootOrder: 7 +--- !u!23 &877289653 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 877289651} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &877289654 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 877289651} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &881430521 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 881430522} + - 33: {fileID: 881430524} + - 23: {fileID: 881430523} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &881430522 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 881430521} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 732523451} + m_RootOrder: 4 +--- !u!23 &881430523 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 881430521} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &881430524 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 881430521} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &882231445 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 882231446} + - 33: {fileID: 882231448} + - 23: {fileID: 882231447} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &882231446 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 882231445} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 498431041} + m_RootOrder: 1 +--- !u!23 &882231447 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 882231445} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &882231448 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 882231445} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &882425813 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 882425814} + - 33: {fileID: 882425816} + - 23: {fileID: 882425815} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &882425814 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 882425813} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1041296208} + m_RootOrder: 3 +--- !u!23 &882425815 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 882425813} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &882425816 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 882425813} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &886402405 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 886402406} + - 33: {fileID: 886402408} + - 23: {fileID: 886402407} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &886402406 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 886402405} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1082956371} + m_RootOrder: 3 +--- !u!23 &886402407 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 886402405} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &886402408 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 886402405} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &887646774 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 887646775} + - 33: {fileID: 887646777} + - 23: {fileID: 887646776} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &887646775 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 887646774} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1357615428} + m_RootOrder: 4 +--- !u!23 &887646776 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 887646774} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &887646777 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 887646774} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &893748540 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 893748541} + - 33: {fileID: 893748543} + - 23: {fileID: 893748542} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &893748541 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 893748540} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 950631283} + m_RootOrder: 4 +--- !u!23 &893748542 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 893748540} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &893748543 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 893748540} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &899438176 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 899438177} + - 33: {fileID: 899438179} + - 23: {fileID: 899438178} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &899438177 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 899438176} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1038701522} + m_RootOrder: 4 +--- !u!23 &899438178 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 899438176} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &899438179 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 899438176} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &900299405 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 900299406} + - 33: {fileID: 900299408} + - 23: {fileID: 900299407} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &900299406 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 900299405} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1392306390} + m_RootOrder: 4 +--- !u!23 &900299407 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 900299405} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &900299408 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 900299405} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &904842064 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 904842065} + - 33: {fileID: 904842067} + - 23: {fileID: 904842066} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &904842065 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 904842064} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1881349947} + m_RootOrder: 8 +--- !u!23 &904842066 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 904842064} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &904842067 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 904842064} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &905063054 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 905063055} + - 33: {fileID: 905063057} + - 23: {fileID: 905063056} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &905063055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 905063054} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 849571239} + m_RootOrder: 0 +--- !u!23 &905063056 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 905063054} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &905063057 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 905063054} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &905568584 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 905568585} + - 33: {fileID: 905568587} + - 23: {fileID: 905568586} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &905568585 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 905568584} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 498431041} + m_RootOrder: 0 +--- !u!23 &905568586 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 905568584} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &905568587 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 905568584} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &906056251 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 906056252} + - 33: {fileID: 906056254} + - 23: {fileID: 906056253} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &906056252 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 906056251} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1711378518} + m_RootOrder: 1 +--- !u!23 &906056253 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 906056251} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &906056254 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 906056251} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &909924637 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 909924638} + - 33: {fileID: 909924640} + - 23: {fileID: 909924639} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &909924638 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 909924637} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1802157139} + m_RootOrder: 0 +--- !u!23 &909924639 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 909924637} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &909924640 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 909924637} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &912679175 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 912679176} + - 33: {fileID: 912679178} + - 23: {fileID: 912679177} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &912679176 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 912679175} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 604038727} + m_RootOrder: 0 +--- !u!23 &912679177 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 912679175} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &912679178 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 912679175} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &918680892 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 918680893} + - 33: {fileID: 918680895} + - 23: {fileID: 918680894} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &918680893 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 918680892} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 821285325} + m_RootOrder: 5 +--- !u!23 &918680894 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 918680892} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &918680895 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 918680892} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &919535431 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 919535432} + - 33: {fileID: 919535434} + - 23: {fileID: 919535433} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &919535432 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919535431} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1145749506} + m_RootOrder: 6 +--- !u!23 &919535433 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919535431} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &919535434 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919535431} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &920142117 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 920142118} + - 33: {fileID: 920142120} + - 23: {fileID: 920142119} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &920142118 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 920142117} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 352349652} + m_RootOrder: 2 +--- !u!23 &920142119 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 920142117} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &920142120 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 920142117} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &921388390 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 921388391} + - 33: {fileID: 921388393} + - 23: {fileID: 921388392} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &921388391 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 921388390} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1366031035} + m_RootOrder: 6 +--- !u!23 &921388392 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 921388390} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &921388393 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 921388390} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &921992682 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 921992683} + - 33: {fileID: 921992685} + - 23: {fileID: 921992684} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &921992683 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 921992682} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 710806381} + m_RootOrder: 8 +--- !u!23 &921992684 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 921992682} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &921992685 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 921992682} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &925124720 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 925124721} + - 33: {fileID: 925124723} + - 23: {fileID: 925124722} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &925124721 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 925124720} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 332742599} + m_RootOrder: 1 +--- !u!23 &925124722 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 925124720} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &925124723 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 925124720} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &926533328 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 926533329} + - 33: {fileID: 926533331} + - 23: {fileID: 926533330} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &926533329 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 926533328} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1145749506} + m_RootOrder: 0 +--- !u!23 &926533330 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 926533328} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &926533331 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 926533328} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &930170084 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 930170085} + - 33: {fileID: 930170087} + - 23: {fileID: 930170086} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &930170085 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 930170084} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1041296208} + m_RootOrder: 7 +--- !u!23 &930170086 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 930170084} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &930170087 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 930170084} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &930864240 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 930864241} + - 33: {fileID: 930864243} + - 23: {fileID: 930864242} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &930864241 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 930864240} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1552181540} + m_RootOrder: 3 +--- !u!23 &930864242 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 930864240} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &930864243 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 930864240} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &932174127 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 932174128} + - 33: {fileID: 932174130} + - 23: {fileID: 932174129} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &932174128 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 932174127} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1402568966} + m_RootOrder: 3 +--- !u!23 &932174129 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 932174127} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &932174130 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 932174127} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &933014247 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 933014248} + - 33: {fileID: 933014250} + - 23: {fileID: 933014249} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &933014248 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 933014247} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1711378518} + m_RootOrder: 4 +--- !u!23 &933014249 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 933014247} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &933014250 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 933014247} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &934230523 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 934230524} + - 33: {fileID: 934230526} + - 23: {fileID: 934230525} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &934230524 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 934230523} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 849571239} + m_RootOrder: 6 +--- !u!23 &934230525 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 934230523} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &934230526 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 934230523} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &937185859 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 937185860} + - 33: {fileID: 937185862} + - 23: {fileID: 937185861} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &937185860 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 937185859} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1410998029} + m_RootOrder: 6 +--- !u!23 &937185861 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 937185859} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &937185862 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 937185859} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &941245591 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 941245592} + - 33: {fileID: 941245594} + - 23: {fileID: 941245593} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &941245592 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 941245591} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2097222327} + m_RootOrder: 4 +--- !u!23 &941245593 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 941245591} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &941245594 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 941245591} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &944018027 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 944018028} + - 33: {fileID: 944018030} + - 23: {fileID: 944018029} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &944018028 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 944018027} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1550093339} + m_RootOrder: 3 +--- !u!23 &944018029 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 944018027} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &944018030 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 944018027} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &944084775 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 944084776} + - 33: {fileID: 944084778} + - 23: {fileID: 944084777} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &944084776 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 944084775} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 379543545} + m_RootOrder: 0 +--- !u!23 &944084777 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 944084775} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &944084778 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 944084775} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &950492261 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 950492262} + - 33: {fileID: 950492264} + - 23: {fileID: 950492263} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &950492262 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 950492261} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1552181540} + m_RootOrder: 5 +--- !u!23 &950492263 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 950492261} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &950492264 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 950492261} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &950631282 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 950631283} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &950631283 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 950631282} + 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_Children: + - {fileID: 1206665284} + - {fileID: 227008744} + - {fileID: 688419948} + - {fileID: 813174888} + - {fileID: 893748541} + - {fileID: 798455660} + - {fileID: 155545762} + - {fileID: 688604066} + - {fileID: 52357633} + m_Father: {fileID: 2047955730} + m_RootOrder: 4 +--- !u!1 &950671320 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 950671321} + - 33: {fileID: 950671323} + - 23: {fileID: 950671322} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &950671321 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 950671320} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 698956160} + m_RootOrder: 5 +--- !u!23 &950671322 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 950671320} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &950671323 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 950671320} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &950889723 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 950889724} + - 33: {fileID: 950889726} + - 23: {fileID: 950889725} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &950889724 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 950889723} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2040025849} + m_RootOrder: 5 +--- !u!23 &950889725 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 950889723} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &950889726 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 950889723} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &952424227 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 952424228} + - 33: {fileID: 952424230} + - 23: {fileID: 952424229} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &952424228 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 952424227} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1240836681} + m_RootOrder: 0 +--- !u!23 &952424229 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 952424227} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &952424230 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 952424227} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &964621624 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 964621625} + - 33: {fileID: 964621627} + - 23: {fileID: 964621626} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &964621625 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 964621624} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 768694475} + m_RootOrder: 1 +--- !u!23 &964621626 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 964621624} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &964621627 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 964621624} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &969739217 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 969739218} + - 33: {fileID: 969739220} + - 23: {fileID: 969739219} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &969739218 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 969739217} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1802157139} + m_RootOrder: 2 +--- !u!23 &969739219 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 969739217} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &969739220 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 969739217} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &969754909 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 969754910} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &969754910 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 969754909} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 628298919} + - {fileID: 1164755370} + - {fileID: 354724696} + - {fileID: 229979266} + - {fileID: 1548254633} + - {fileID: 209477140} + - {fileID: 276138907} + - {fileID: 694065973} + - {fileID: 1185660834} + m_Father: {fileID: 1906654409} + m_RootOrder: 8 +--- !u!1 &970902514 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 970902515} + - 33: {fileID: 970902517} + - 23: {fileID: 970902516} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &970902515 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 970902514} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1687020670} + m_RootOrder: 8 +--- !u!23 &970902516 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 970902514} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &970902517 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 970902514} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &978106560 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 978106561} + - 33: {fileID: 978106563} + - 23: {fileID: 978106562} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &978106561 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 978106560} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1366031035} + m_RootOrder: 3 +--- !u!23 &978106562 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 978106560} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &978106563 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 978106560} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &979464283 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 979464284} + - 33: {fileID: 979464286} + - 23: {fileID: 979464285} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &979464284 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 979464283} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1961106353} + m_RootOrder: 3 +--- !u!23 &979464285 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 979464283} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &979464286 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 979464283} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &981850442 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 981850443} + - 33: {fileID: 981850445} + - 23: {fileID: 981850444} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &981850443 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 981850442} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 499152561} + m_RootOrder: 2 +--- !u!23 &981850444 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 981850442} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &981850445 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 981850442} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &986720924 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 986720925} + - 33: {fileID: 986720927} + - 23: {fileID: 986720926} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &986720925 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 986720924} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1041296208} + m_RootOrder: 4 +--- !u!23 &986720926 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 986720924} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &986720927 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 986720924} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &988035053 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 988035054} + - 33: {fileID: 988035056} + - 23: {fileID: 988035055} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &988035054 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 988035053} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1961106353} + m_RootOrder: 5 +--- !u!23 &988035055 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 988035053} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &988035056 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 988035053} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &989992469 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 989992470} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &989992470 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 989992469} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1802005357} + - {fileID: 205582492} + - {fileID: 268222375} + - {fileID: 1164068985} + - {fileID: 1792245261} + - {fileID: 61856427} + - {fileID: 1424197207} + - {fileID: 585764507} + - {fileID: 1220977469} + m_Father: {fileID: 1875085494} + m_RootOrder: 8 +--- !u!1 &997052065 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 997052066} + - 33: {fileID: 997052068} + - 23: {fileID: 997052067} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &997052066 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 997052065} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2097222327} + m_RootOrder: 1 +--- !u!23 &997052067 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 997052065} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &997052068 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 997052065} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &997973276 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 997973277} + - 33: {fileID: 997973279} + - 23: {fileID: 997973278} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &997973277 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 997973276} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1145749506} + m_RootOrder: 5 +--- !u!23 &997973278 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 997973276} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &997973279 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 997973276} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1001880623 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1001880624} + - 33: {fileID: 1001880626} + - 23: {fileID: 1001880625} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1001880624 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1001880623} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 358145806} + m_RootOrder: 0 +--- !u!23 &1001880625 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1001880623} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1001880626 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1001880623} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1009138637 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1009138638} + - 33: {fileID: 1009138640} + - 23: {fileID: 1009138639} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1009138638 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1009138637} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1435433903} + m_RootOrder: 8 +--- !u!23 &1009138639 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1009138637} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1009138640 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1009138637} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1013698093 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1013698094} + - 33: {fileID: 1013698096} + - 23: {fileID: 1013698095} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1013698094 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1013698093} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 191837273} + m_RootOrder: 4 +--- !u!23 &1013698095 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1013698093} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1013698096 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1013698093} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1017860056 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1017860057} + - 33: {fileID: 1017860059} + - 23: {fileID: 1017860058} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1017860057 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1017860056} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 768694475} + m_RootOrder: 0 +--- !u!23 &1017860058 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1017860056} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1017860059 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1017860056} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1022286118 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1022286119} + - 33: {fileID: 1022286121} + - 23: {fileID: 1022286120} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1022286119 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1022286118} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1528982994} + m_RootOrder: 1 +--- !u!23 &1022286120 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1022286118} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1022286121 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1022286118} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1025853054 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1025853055} + - 33: {fileID: 1025853057} + - 23: {fileID: 1025853056} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1025853055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1025853054} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1624250639} + m_RootOrder: 2 +--- !u!23 &1025853056 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1025853054} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1025853057 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1025853054} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1026110226 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1026110227} + - 33: {fileID: 1026110229} + - 23: {fileID: 1026110228} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1026110227 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1026110226} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 604038727} + m_RootOrder: 2 +--- !u!23 &1026110228 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1026110226} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1026110229 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1026110226} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1029417252 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1029417253} + - 33: {fileID: 1029417255} + - 23: {fileID: 1029417254} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1029417253 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1029417252} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1337936969} + m_RootOrder: 5 +--- !u!23 &1029417254 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1029417252} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1029417255 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1029417252} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1033298435 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1033298436} + - 33: {fileID: 1033298438} + - 23: {fileID: 1033298437} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1033298436 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1033298435} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1991877734} + m_RootOrder: 5 +--- !u!23 &1033298437 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1033298435} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1033298438 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1033298435} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1038701521 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1038701522} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1038701522 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1038701521} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 416384453} + - {fileID: 1275270260} + - {fileID: 18047733} + - {fileID: 2136117257} + - {fileID: 899438177} + - {fileID: 1997209207} + - {fileID: 484195584} + - {fileID: 292936480} + - {fileID: 2121867677} + m_Father: {fileID: 357871943} + m_RootOrder: 3 +--- !u!1 &1041296207 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1041296208} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1041296208 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1041296207} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2025153729} + - {fileID: 1703452020} + - {fileID: 451337795} + - {fileID: 882425814} + - {fileID: 986720925} + - {fileID: 433647462} + - {fileID: 2091783723} + - {fileID: 930170085} + - {fileID: 433220172} + m_Father: {fileID: 416898948} + m_RootOrder: 1 +--- !u!1 &1044959948 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1044959949} + - 33: {fileID: 1044959951} + - 23: {fileID: 1044959950} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1044959949 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1044959948} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 440610438} + m_RootOrder: 6 +--- !u!23 &1044959950 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1044959948} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1044959951 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1044959948} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1049063298 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1049063299} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1049063299 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1049063298} + 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_Children: + - {fileID: 287649693} + - {fileID: 785564259} + - {fileID: 404626640} + - {fileID: 1138680043} + - {fileID: 1938902971} + - {fileID: 810814968} + - {fileID: 2129935185} + - {fileID: 1631514759} + - {fileID: 430685319} + m_Father: {fileID: 357871943} + m_RootOrder: 4 +--- !u!1 &1050258139 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1050258140} + - 33: {fileID: 1050258142} + - 23: {fileID: 1050258141} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1050258140 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1050258139} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1330598094} + m_RootOrder: 1 +--- !u!23 &1050258141 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1050258139} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1050258142 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1050258139} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1052080522 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1052080523} + - 33: {fileID: 1052080525} + - 23: {fileID: 1052080524} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1052080523 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1052080522} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 471463405} + m_RootOrder: 4 +--- !u!23 &1052080524 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1052080522} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1052080525 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1052080522} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1053463224 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1053463225} + - 33: {fileID: 1053463227} + - 23: {fileID: 1053463226} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1053463225 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1053463224} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1396826707} + m_RootOrder: 3 +--- !u!23 &1053463226 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1053463224} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1053463227 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1053463224} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1059390652 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1059390653} + - 33: {fileID: 1059390655} + - 23: {fileID: 1059390654} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1059390653 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1059390652} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1251486547} + m_RootOrder: 7 +--- !u!23 &1059390654 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1059390652} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1059390655 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1059390652} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1059900641 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1059900642} + - 33: {fileID: 1059900644} + - 23: {fileID: 1059900643} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1059900642 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1059900641} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 604038727} + m_RootOrder: 6 +--- !u!23 &1059900643 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1059900641} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1059900644 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1059900641} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1061289306 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1061289307} + - 33: {fileID: 1061289309} + - 23: {fileID: 1061289308} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1061289307 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1061289306} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1961106353} + m_RootOrder: 1 +--- !u!23 &1061289308 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1061289306} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1061289309 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1061289306} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1063450512 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1063450513} + - 33: {fileID: 1063450515} + - 23: {fileID: 1063450514} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1063450513 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1063450512} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 412002962} + m_RootOrder: 1 +--- !u!23 &1063450514 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1063450512} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1063450515 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1063450512} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1068914480 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1068914481} + - 33: {fileID: 1068914483} + - 23: {fileID: 1068914482} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1068914481 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1068914480} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1587156216} + m_RootOrder: 7 +--- !u!23 &1068914482 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1068914480} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1068914483 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1068914480} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1074566050 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1074566051} + - 33: {fileID: 1074566053} + - 23: {fileID: 1074566052} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1074566051 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1074566050} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 857026539} + m_RootOrder: 8 +--- !u!23 &1074566052 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1074566050} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1074566053 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1074566050} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1074652778 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1074652779} + - 33: {fileID: 1074652781} + - 23: {fileID: 1074652780} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1074652779 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1074652778} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 499152561} + m_RootOrder: 5 +--- !u!23 &1074652780 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1074652778} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1074652781 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1074652778} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1082956370 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1082956371} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1082956371 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1082956370} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1556928009} + - {fileID: 51436668} + - {fileID: 1427766161} + - {fileID: 886402406} + - {fileID: 68974763} + - {fileID: 1834653030} + - {fileID: 1271373334} + - {fileID: 567130467} + - {fileID: 24304358} + m_Father: {fileID: 2047955730} + m_RootOrder: 8 +--- !u!1 &1086529297 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1086529298} + - 33: {fileID: 1086529300} + - 23: {fileID: 1086529299} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1086529298 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1086529297} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2097222327} + m_RootOrder: 7 +--- !u!23 &1086529299 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1086529297} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1086529300 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1086529297} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1087830974 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1087830975} + - 33: {fileID: 1087830977} + - 23: {fileID: 1087830976} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1087830975 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1087830974} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1392306390} + m_RootOrder: 6 +--- !u!23 &1087830976 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1087830974} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1087830977 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1087830974} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1094574350 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1094574351} + - 33: {fileID: 1094574353} + - 23: {fileID: 1094574352} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1094574351 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1094574350} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1550093339} + m_RootOrder: 5 +--- !u!23 &1094574352 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1094574350} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1094574353 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1094574350} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1102846824 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1102846825} + - 33: {fileID: 1102846827} + - 23: {fileID: 1102846826} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1102846825 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1102846824} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 349606543} + m_RootOrder: 3 +--- !u!23 &1102846826 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1102846824} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1102846827 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1102846824} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1106686635 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1106686636} + - 33: {fileID: 1106686638} + - 23: {fileID: 1106686637} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1106686636 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1106686635} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1396826707} + m_RootOrder: 6 +--- !u!23 &1106686637 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1106686635} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1106686638 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1106686635} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1108133970 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1108133971} + - 33: {fileID: 1108133973} + - 23: {fileID: 1108133972} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1108133971 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1108133970} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1711378518} + m_RootOrder: 7 +--- !u!23 &1108133972 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1108133970} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1108133973 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1108133970} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1113415721 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1113415722} + - 33: {fileID: 1113415724} + - 23: {fileID: 1113415723} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1113415722 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1113415721} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 146325016} + m_RootOrder: 6 +--- !u!23 &1113415723 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1113415721} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1113415724 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1113415721} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1114328168 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1114328169} + - 33: {fileID: 1114328171} + - 23: {fileID: 1114328170} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1114328169 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1114328168} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1318928928} + m_RootOrder: 4 +--- !u!23 &1114328170 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1114328168} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1114328171 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1114328168} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1116037528 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1116037529} + - 33: {fileID: 1116037531} + - 23: {fileID: 1116037530} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1116037529 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1116037528} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231626962} + m_RootOrder: 5 +--- !u!23 &1116037530 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1116037528} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1116037531 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1116037528} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1116708661 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1116708662} + - 33: {fileID: 1116708664} + - 23: {fileID: 1116708663} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1116708662 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1116708661} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1366031035} + m_RootOrder: 5 +--- !u!23 &1116708663 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1116708661} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1116708664 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1116708661} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1124369258 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1124369259} + - 33: {fileID: 1124369261} + - 23: {fileID: 1124369260} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1124369259 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1124369258} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2040025849} + m_RootOrder: 2 +--- !u!23 &1124369260 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1124369258} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1124369261 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1124369258} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1127960876 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1127960877} + - 33: {fileID: 1127960879} + - 23: {fileID: 1127960878} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1127960877 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1127960876} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 191837273} + m_RootOrder: 6 +--- !u!23 &1127960878 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1127960876} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1127960879 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1127960876} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1128731189 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1128731190} + - 33: {fileID: 1128731192} + - 23: {fileID: 1128731191} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1128731190 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1128731189} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 379543545} + m_RootOrder: 6 +--- !u!23 &1128731191 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1128731189} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1128731192 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1128731189} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1129404312 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1129404313} + - 33: {fileID: 1129404315} + - 23: {fileID: 1129404314} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1129404313 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1129404312} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1587156216} + m_RootOrder: 0 +--- !u!23 &1129404314 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1129404312} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1129404315 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1129404312} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1136402242 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1136402243} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1136402243 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1136402242} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 368109054} + - {fileID: 1339390101} + - {fileID: 118428096} + - {fileID: 1913048508} + - {fileID: 1856202064} + - {fileID: 1172780683} + - {fileID: 32676781} + - {fileID: 877289652} + - {fileID: 1844490899} + m_Father: {fileID: 1285129845} + m_RootOrder: 6 +--- !u!1 &1136746722 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1136746723} + - 33: {fileID: 1136746725} + - 23: {fileID: 1136746724} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1136746723 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1136746722} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 309447440} + m_RootOrder: 7 +--- !u!23 &1136746724 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1136746722} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1136746725 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1136746722} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1138680042 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1138680043} + - 33: {fileID: 1138680045} + - 23: {fileID: 1138680044} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1138680043 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1138680042} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1049063299} + m_RootOrder: 3 +--- !u!23 &1138680044 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1138680042} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1138680045 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1138680042} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1138922967 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1138922968} + - 33: {fileID: 1138922970} + - 23: {fileID: 1138922969} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1138922968 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1138922967} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1536546683} + m_RootOrder: 6 +--- !u!23 &1138922969 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1138922967} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1138922970 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1138922967} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1142309781 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1142309782} + - 33: {fileID: 1142309784} + - 23: {fileID: 1142309783} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1142309782 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1142309781} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 191837273} + m_RootOrder: 3 +--- !u!23 &1142309783 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1142309781} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1142309784 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1142309781} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1145749505 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1145749506} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1145749506 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1145749505} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 926533329} + - {fileID: 1652927164} + - {fileID: 316302725} + - {fileID: 1593517168} + - {fileID: 484418415} + - {fileID: 997973277} + - {fileID: 919535432} + - {fileID: 608429981} + - {fileID: 1853333956} + m_Father: {fileID: 1875085494} + m_RootOrder: 6 +--- !u!1 &1146317989 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1146317990} + - 33: {fileID: 1146317992} + - 23: {fileID: 1146317991} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1146317990 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1146317989} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1435433903} + m_RootOrder: 1 +--- !u!23 &1146317991 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1146317989} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1146317992 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1146317989} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1161408033 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1161408034} + - 33: {fileID: 1161408036} + - 23: {fileID: 1161408035} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1161408034 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1161408033} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1528982994} + m_RootOrder: 6 +--- !u!23 &1161408035 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1161408033} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1161408036 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1161408033} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1161507920 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1161507921} + - 33: {fileID: 1161507923} + - 23: {fileID: 1161507922} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1161507921 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1161507920} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 843886803} + m_RootOrder: 7 +--- !u!23 &1161507922 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1161507920} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1161507923 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1161507920} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1161644335 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1161644336} + - 33: {fileID: 1161644338} + - 23: {fileID: 1161644337} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1161644336 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1161644335} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 358145806} + m_RootOrder: 3 +--- !u!23 &1161644337 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1161644335} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1161644338 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1161644335} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1163212112 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1163212113} + - 33: {fileID: 1163212115} + - 23: {fileID: 1163212114} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1163212113 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1163212112} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2049357828} + m_RootOrder: 6 +--- !u!23 &1163212114 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1163212112} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1163212115 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1163212112} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1164068984 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1164068985} + - 33: {fileID: 1164068987} + - 23: {fileID: 1164068986} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1164068985 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1164068984} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 989992470} + m_RootOrder: 3 +--- !u!23 &1164068986 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1164068984} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1164068987 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1164068984} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1164755369 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1164755370} + - 33: {fileID: 1164755372} + - 23: {fileID: 1164755371} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1164755370 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1164755369} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 969754910} + m_RootOrder: 1 +--- !u!23 &1164755371 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1164755369} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1164755372 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1164755369} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1167775414 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1167775415} + - 33: {fileID: 1167775417} + - 23: {fileID: 1167775416} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1167775415 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1167775414} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1240836681} + m_RootOrder: 6 +--- !u!23 &1167775416 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1167775414} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1167775417 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1167775414} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1169682651 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1169682652} + - 33: {fileID: 1169682654} + - 23: {fileID: 1169682653} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1169682652 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1169682651} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 349606543} + m_RootOrder: 8 +--- !u!23 &1169682653 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1169682651} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1169682654 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1169682651} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1171171816 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1171171817} + - 33: {fileID: 1171171819} + - 23: {fileID: 1171171818} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1171171817 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1171171816} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 821285325} + m_RootOrder: 8 +--- !u!23 &1171171818 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1171171816} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1171171819 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1171171816} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1171733633 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1171733634} + - 33: {fileID: 1171733636} + - 23: {fileID: 1171733635} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1171733634 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1171733633} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1366031035} + m_RootOrder: 1 +--- !u!23 &1171733635 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1171733633} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1171733636 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1171733633} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1172780682 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1172780683} + - 33: {fileID: 1172780685} + - 23: {fileID: 1172780684} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1172780683 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1172780682} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1136402243} + m_RootOrder: 5 +--- !u!23 &1172780684 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1172780682} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1172780685 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1172780682} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1173828075 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1173828076} + - 33: {fileID: 1173828078} + - 23: {fileID: 1173828077} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1173828076 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1173828075} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 433168050} + m_RootOrder: 3 +--- !u!23 &1173828077 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1173828075} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1173828078 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1173828075} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1178177617 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1178177618} + - 33: {fileID: 1178177620} + - 23: {fileID: 1178177619} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1178177618 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1178177617} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 870806955} + m_RootOrder: 5 +--- !u!23 &1178177619 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1178177617} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1178177620 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1178177617} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1181315791 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1181315792} + - 33: {fileID: 1181315794} + - 23: {fileID: 1181315793} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1181315792 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1181315791} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 710806381} + m_RootOrder: 5 +--- !u!23 &1181315793 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1181315791} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1181315794 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1181315791} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1183162455 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1183162456} + - 33: {fileID: 1183162458} + - 23: {fileID: 1183162457} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1183162456 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1183162455} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1528982994} + m_RootOrder: 7 +--- !u!23 &1183162457 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1183162455} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1183162458 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1183162455} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1185660833 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1185660834} + - 33: {fileID: 1185660836} + - 23: {fileID: 1185660835} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1185660834 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1185660833} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 969754910} + m_RootOrder: 8 +--- !u!23 &1185660835 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1185660833} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1185660836 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1185660833} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1188557688 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1188557689} + - 33: {fileID: 1188557691} + - 23: {fileID: 1188557690} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1188557689 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1188557688} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1965163931} + m_RootOrder: 1 +--- !u!23 &1188557690 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1188557688} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1188557691 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1188557688} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1190442268 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1190442269} + - 33: {fileID: 1190442271} + - 23: {fileID: 1190442270} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1190442269 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1190442268} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 191837273} + m_RootOrder: 1 +--- !u!23 &1190442270 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1190442268} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1190442271 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1190442268} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1195783901 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1195783902} + - 33: {fileID: 1195783904} + - 23: {fileID: 1195783903} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1195783902 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1195783901} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 412002962} + m_RootOrder: 6 +--- !u!23 &1195783903 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1195783901} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1195783904 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1195783901} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1202756944 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1202756945} + - 33: {fileID: 1202756947} + - 23: {fileID: 1202756946} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1202756945 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1202756944} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 484270180} + m_RootOrder: 5 +--- !u!23 &1202756946 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1202756944} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1202756947 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1202756944} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1206665283 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1206665284} + - 33: {fileID: 1206665286} + - 23: {fileID: 1206665285} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1206665284 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206665283} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 950631283} + m_RootOrder: 0 +--- !u!23 &1206665285 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206665283} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1206665286 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206665283} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1206765016 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1206765017} + - 33: {fileID: 1206765019} + - 23: {fileID: 1206765018} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1206765017 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206765016} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1802157139} + m_RootOrder: 1 +--- !u!23 &1206765018 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206765016} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1206765019 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206765016} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1209329982 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1209329983} + - 33: {fileID: 1209329985} + - 23: {fileID: 1209329984} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1209329983 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1209329982} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 146325016} + m_RootOrder: 4 +--- !u!23 &1209329984 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1209329982} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1209329985 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1209329982} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1210024156 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1210024157} + - 33: {fileID: 1210024159} + - 23: {fileID: 1210024158} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1210024157 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1210024156} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1251486547} + m_RootOrder: 2 +--- !u!23 &1210024158 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1210024156} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1210024159 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1210024156} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1211858529 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1211858530} + - 33: {fileID: 1211858532} + - 23: {fileID: 1211858531} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1211858530 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1211858529} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 309447440} + m_RootOrder: 8 +--- !u!23 &1211858531 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1211858529} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1211858532 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1211858529} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1215951043 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1215951044} + - 33: {fileID: 1215951046} + - 23: {fileID: 1215951045} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1215951044 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1215951043} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1961106353} + m_RootOrder: 0 +--- !u!23 &1215951045 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1215951043} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1215951046 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1215951043} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1220977468 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1220977469} + - 33: {fileID: 1220977471} + - 23: {fileID: 1220977470} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1220977469 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1220977468} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 989992470} + m_RootOrder: 8 +--- !u!23 &1220977470 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1220977468} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1220977471 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1220977468} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1227423407 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1227423408} + - 33: {fileID: 1227423410} + - 23: {fileID: 1227423409} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1227423408 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1227423407} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1392306390} + m_RootOrder: 1 +--- !u!23 &1227423409 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1227423407} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1227423410 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1227423407} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1227646395 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1227646396} + - 33: {fileID: 1227646398} + - 23: {fileID: 1227646397} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1227646396 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1227646395} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1528982994} + m_RootOrder: 0 +--- !u!23 &1227646397 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1227646395} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1227646398 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1227646395} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1233842171 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1233842172} + - 33: {fileID: 1233842174} + - 23: {fileID: 1233842173} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1233842172 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1233842171} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1591077534} + m_RootOrder: 0 +--- !u!23 &1233842173 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1233842171} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1233842174 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1233842171} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1234331062 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1234331063} + - 33: {fileID: 1234331065} + - 23: {fileID: 1234331064} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1234331063 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1234331062} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 138445035} + m_RootOrder: 5 +--- !u!23 &1234331064 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1234331062} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1234331065 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1234331062} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1235025734 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1235025735} + - 33: {fileID: 1235025737} + - 23: {fileID: 1235025736} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1235025735 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1235025734} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1965163931} + m_RootOrder: 5 +--- !u!23 &1235025736 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1235025734} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1235025737 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1235025734} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1239907697 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1239907698} + - 33: {fileID: 1239907700} + - 23: {fileID: 1239907699} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1239907698 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1239907697} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 146325016} + m_RootOrder: 5 +--- !u!23 &1239907699 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1239907697} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1239907700 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1239907697} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1240836680 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1240836681} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1240836681 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1240836680} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 952424228} + - {fileID: 2135229808} + - {fileID: 2046589814} + - {fileID: 846805637} + - {fileID: 1979390745} + - {fileID: 333333698} + - {fileID: 1167775415} + - {fileID: 132263419} + - {fileID: 664229994} + m_Father: {fileID: 311797878} + m_RootOrder: 8 +--- !u!1 &1243272143 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1243272144} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1243272144 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1243272143} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1755673663} + - {fileID: 2080097013} + - {fileID: 1875242169} + - {fileID: 249804279} + - {fileID: 1860104359} + - {fileID: 1404137074} + - {fileID: 751968218} + - {fileID: 445368524} + - {fileID: 1850445106} + m_Father: {fileID: 357871943} + m_RootOrder: 2 +--- !u!1 &1245497274 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1245497275} + - 33: {fileID: 1245497277} + - 23: {fileID: 1245497276} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1245497275 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1245497274} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 484270180} + m_RootOrder: 2 +--- !u!23 &1245497276 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1245497274} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1245497277 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1245497274} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1249280388 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1249280389} + - 33: {fileID: 1249280391} + - 23: {fileID: 1249280390} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1249280389 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1249280388} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2070993649} + m_RootOrder: 8 +--- !u!23 &1249280390 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1249280388} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1249280391 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1249280388} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1249659885 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1249659886} + - 33: {fileID: 1249659888} + - 23: {fileID: 1249659887} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1249659886 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1249659885} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 870806955} + m_RootOrder: 4 +--- !u!23 &1249659887 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1249659885} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1249659888 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1249659885} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1251486546 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1251486547} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1251486547 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1251486546} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1546548683} + - {fileID: 695396973} + - {fileID: 1210024157} + - {fileID: 201332832} + - {fileID: 1316770378} + - {fileID: 153267157} + - {fileID: 2134487187} + - {fileID: 1059390653} + - {fileID: 514001097} + m_Father: {fileID: 1875085494} + m_RootOrder: 5 +--- !u!1 &1257843376 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1257843377} + - 33: {fileID: 1257843379} + - 23: {fileID: 1257843378} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1257843377 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1257843376} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2049357828} + m_RootOrder: 4 +--- !u!23 &1257843378 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1257843376} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1257843379 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1257843376} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1269069111 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1269069112} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1269069112 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1269069111} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 728103437} + - {fileID: 47951525} + - {fileID: 1328647144} + - {fileID: 1839525250} + - {fileID: 1995638828} + - {fileID: 621882598} + - {fileID: 1960183756} + - {fileID: 540681794} + - {fileID: 1523936020} + m_Father: {fileID: 1285129845} + m_RootOrder: 3 +--- !u!1 &1271373333 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1271373334} + - 33: {fileID: 1271373336} + - 23: {fileID: 1271373335} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1271373334 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1271373333} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1082956371} + m_RootOrder: 6 +--- !u!23 &1271373335 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1271373333} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1271373336 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1271373333} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1274924129 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1274924130} + - 33: {fileID: 1274924132} + - 23: {fileID: 1274924131} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1274924130 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1274924129} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 499152561} + m_RootOrder: 6 +--- !u!23 &1274924131 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1274924129} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1274924132 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1274924129} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1275248165 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1275248166} + - 33: {fileID: 1275248168} + - 23: {fileID: 1275248167} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1275248166 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1275248165} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2070993649} + m_RootOrder: 4 +--- !u!23 &1275248167 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1275248165} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1275248168 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1275248165} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1275270259 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1275270260} + - 33: {fileID: 1275270262} + - 23: {fileID: 1275270261} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1275270260 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1275270259} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1038701522} + m_RootOrder: 1 +--- !u!23 &1275270261 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1275270259} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1275270262 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1275270259} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1276774528 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1276774529} + - 33: {fileID: 1276774531} + - 23: {fileID: 1276774530} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1276774529 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1276774528} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 309447440} + m_RootOrder: 4 +--- !u!23 &1276774530 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1276774528} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1276774531 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1276774528} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1283742114 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1283742115} + - 33: {fileID: 1283742117} + - 23: {fileID: 1283742116} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1283742115 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1283742114} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 309447440} + m_RootOrder: 6 +--- !u!23 &1283742116 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1283742114} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1283742117 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1283742114} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1285129844 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1285129845} + m_Layer: 0 + m_Name: CubeGrid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1285129845 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1285129844} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.02090001, y: -.402413607, z: -3.52141666} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 440610438} + - {fileID: 1991877734} + - {fileID: 1758170125} + - {fileID: 1269069112} + - {fileID: 843886803} + - {fileID: 309447440} + - {fileID: 1136402243} + - {fileID: 774647436} + - {fileID: 433168050} + m_Father: {fileID: 1335403818} + m_RootOrder: 2 +--- !u!1 &1285184252 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1285184253} + - 33: {fileID: 1285184255} + - 23: {fileID: 1285184254} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1285184253 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1285184252} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 843886803} + m_RootOrder: 8 +--- !u!23 &1285184254 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1285184252} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1285184255 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1285184252} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1288023953 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1288023954} + - 33: {fileID: 1288023956} + - 23: {fileID: 1288023955} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1288023954 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1288023953} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 366225505} + m_RootOrder: 1 +--- !u!23 &1288023955 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1288023953} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1288023956 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1288023953} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1288823788 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1288823789} + m_Layer: 0 + m_Name: CubeGrid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1288823789 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1288823788} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.02090001, y: -.402413607, z: -4.52141666} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 191837273} + - {fileID: 710806381} + - {fileID: 2070993649} + - {fileID: 1550093339} + - {fileID: 698956160} + - {fileID: 349606543} + - {fileID: 1633108726} + - {fileID: 1413035099} + - {fileID: 366225505} + m_Father: {fileID: 1335403818} + m_RootOrder: 8 +--- !u!1 &1291389606 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1291389607} + - 33: {fileID: 1291389609} + - 23: {fileID: 1291389608} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1291389607 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1291389606} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 332742599} + m_RootOrder: 6 +--- !u!23 &1291389608 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1291389606} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1291389609 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1291389606} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1294857583 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1294857584} + - 33: {fileID: 1294857586} + - 23: {fileID: 1294857585} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1294857584 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1294857583} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1366031035} + m_RootOrder: 7 +--- !u!23 &1294857585 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1294857583} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1294857586 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1294857583} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1298782548 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1298782549} + - 33: {fileID: 1298782551} + - 23: {fileID: 1298782550} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1298782549 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1298782548} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 857026539} + m_RootOrder: 0 +--- !u!23 &1298782550 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1298782548} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1298782551 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1298782548} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1305541518 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1305541519} + - 33: {fileID: 1305541521} + - 23: {fileID: 1305541520} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1305541519 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1305541518} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 352349652} + m_RootOrder: 8 +--- !u!23 &1305541520 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1305541518} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1305541521 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1305541518} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1307348600 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1307348601} + - 33: {fileID: 1307348603} + - 23: {fileID: 1307348602} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1307348601 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1307348600} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231626962} + m_RootOrder: 6 +--- !u!23 &1307348602 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1307348600} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1307348603 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1307348600} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1307516387 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1307516388} + - 33: {fileID: 1307516390} + - 23: {fileID: 1307516389} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1307516388 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1307516387} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1528982994} + m_RootOrder: 4 +--- !u!23 &1307516389 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1307516387} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1307516390 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1307516387} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1307719058 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1307719059} + - 33: {fileID: 1307719061} + - 23: {fileID: 1307719060} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1307719059 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1307719058} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1528982994} + m_RootOrder: 5 +--- !u!23 &1307719060 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1307719058} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1307719061 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1307719058} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1314660167 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1314660168} + - 33: {fileID: 1314660170} + - 23: {fileID: 1314660169} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1314660168 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1314660167} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1961106353} + m_RootOrder: 7 +--- !u!23 &1314660169 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1314660167} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1314660170 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1314660167} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1316770377 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1316770378} + - 33: {fileID: 1316770380} + - 23: {fileID: 1316770379} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1316770378 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1316770377} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1251486547} + m_RootOrder: 4 +--- !u!23 &1316770379 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1316770377} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1316770380 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1316770377} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1318505278 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1318505279} + - 33: {fileID: 1318505281} + - 23: {fileID: 1318505280} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1318505279 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1318505278} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 554489815} + m_RootOrder: 6 +--- !u!23 &1318505280 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1318505278} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1318505281 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1318505278} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1318559586 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1318559587} + - 33: {fileID: 1318559589} + - 23: {fileID: 1318559588} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1318559587 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1318559586} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 857026539} + m_RootOrder: 2 +--- !u!23 &1318559588 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1318559586} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1318559589 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1318559586} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1318928927 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1318928928} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1318928928 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1318928927} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4240589} + - {fileID: 1394467957} + - {fileID: 1956088724} + - {fileID: 32196261} + - {fileID: 1114328169} + - {fileID: 1525434092} + - {fileID: 617739923} + - {fileID: 31880376} + - {fileID: 1650041202} + m_Father: {fileID: 2047955730} + m_RootOrder: 2 +--- !u!1 &1319814372 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1319814373} + - 33: {fileID: 1319814375} + - 23: {fileID: 1319814374} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1319814373 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1319814372} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1965163931} + m_RootOrder: 3 +--- !u!23 &1319814374 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1319814372} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1319814375 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1319814372} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1325847476 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1325847477} + - 33: {fileID: 1325847479} + - 23: {fileID: 1325847478} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1325847477 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1325847476} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 138445035} + m_RootOrder: 3 +--- !u!23 &1325847478 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1325847476} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1325847479 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1325847476} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1328647143 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1328647144} + - 33: {fileID: 1328647146} + - 23: {fileID: 1328647145} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1328647144 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1328647143} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1269069112} + m_RootOrder: 2 +--- !u!23 &1328647145 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1328647143} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1328647146 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1328647143} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1330598093 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1330598094} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1330598094 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1330598093} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 124953303} + - {fileID: 1050258140} + - {fileID: 633738328} + - {fileID: 469176262} + - {fileID: 335083540} + - {fileID: 1365593391} + - {fileID: 1980932116} + - {fileID: 155157967} + - {fileID: 707099600} + m_Father: {fileID: 2047955730} + m_RootOrder: 6 +--- !u!1 &1332082080 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1332082081} + - 33: {fileID: 1332082083} + - 23: {fileID: 1332082082} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1332082081 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1332082080} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1991877734} + m_RootOrder: 4 +--- !u!23 &1332082082 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1332082080} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1332082083 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1332082080} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1334569732 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1334569733} + - 33: {fileID: 1334569735} + - 23: {fileID: 1334569734} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1334569733 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1334569732} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 379543545} + m_RootOrder: 3 +--- !u!23 &1334569734 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1334569732} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1334569735 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1334569732} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1335403817 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1335403818} + m_Layer: 0 + m_Name: FullCubeGrid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1335403818 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1335403817} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.02090001, y: .402413607, z: 3.52141666} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 320694060} + - {fileID: 1875085494} + - {fileID: 1285129845} + - {fileID: 1906654409} + - {fileID: 357871943} + - {fileID: 311797878} + - {fileID: 2047955730} + - {fileID: 416898948} + - {fileID: 1288823789} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &1337936968 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1337936969} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1337936969 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1337936968} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 162559258} + - {fileID: 743617657} + - {fileID: 2080981882} + - {fileID: 668452300} + - {fileID: 306662445} + - {fileID: 1029417253} + - {fileID: 656027563} + - {fileID: 803068174} + - {fileID: 614301048} + m_Father: {fileID: 320694060} + m_RootOrder: 2 +--- !u!1 &1339390100 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1339390101} + - 33: {fileID: 1339390103} + - 23: {fileID: 1339390102} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1339390101 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1339390100} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1136402243} + m_RootOrder: 1 +--- !u!23 &1339390102 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1339390100} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1339390103 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1339390100} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1345266610 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1345266611} + - 33: {fileID: 1345266613} + - 23: {fileID: 1345266612} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1345266611 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1345266610} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 72504183} + m_RootOrder: 0 +--- !u!23 &1345266612 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1345266610} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1345266613 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1345266610} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1348129137 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1348129138} + - 33: {fileID: 1348129140} + - 23: {fileID: 1348129139} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1348129138 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1348129137} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1711378518} + m_RootOrder: 0 +--- !u!23 &1348129139 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1348129137} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1348129140 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1348129137} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1349524316 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1349524317} + - 33: {fileID: 1349524319} + - 23: {fileID: 1349524318} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1349524317 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1349524316} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1950362483} + m_RootOrder: 8 +--- !u!23 &1349524318 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1349524316} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1349524319 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1349524316} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1350275574 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1350275575} + - 33: {fileID: 1350275577} + - 23: {fileID: 1350275576} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1350275575 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1350275574} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 157447699} + m_RootOrder: 7 +--- !u!23 &1350275576 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1350275574} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1350275577 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1350275574} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1350385640 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1350385641} + - 33: {fileID: 1350385643} + - 23: {fileID: 1350385642} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1350385641 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1350385640} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1587156216} + m_RootOrder: 4 +--- !u!23 &1350385642 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1350385640} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1350385643 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1350385640} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1352935614 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1352935615} + - 33: {fileID: 1352935617} + - 23: {fileID: 1352935616} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1352935615 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1352935614} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1550093339} + m_RootOrder: 2 +--- !u!23 &1352935616 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1352935614} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1352935617 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1352935614} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1354454585 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1354454586} + - 33: {fileID: 1354454588} + - 23: {fileID: 1354454587} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1354454586 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1354454585} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 191837273} + m_RootOrder: 2 +--- !u!23 &1354454587 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1354454585} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1354454588 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1354454585} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1355525085 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1355525086} + - 33: {fileID: 1355525088} + - 23: {fileID: 1355525087} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1355525086 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1355525085} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 332742599} + m_RootOrder: 4 +--- !u!23 &1355525087 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1355525085} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1355525088 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1355525085} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1356626586 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1356626587} + - 33: {fileID: 1356626589} + - 23: {fileID: 1356626588} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1356626587 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1356626586} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 768694475} + m_RootOrder: 6 +--- !u!23 &1356626588 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1356626586} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1356626589 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1356626586} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1357123421 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1357123422} + - 33: {fileID: 1357123424} + - 23: {fileID: 1357123423} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1357123422 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1357123421} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 857026539} + m_RootOrder: 6 +--- !u!23 &1357123423 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1357123421} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1357123424 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1357123421} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1357615427 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1357615428} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1357615428 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1357615427} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1491400366} + - {fileID: 2087000649} + - {fileID: 1868659282} + - {fileID: 729236454} + - {fileID: 887646775} + - {fileID: 1560013112} + - {fileID: 548293212} + - {fileID: 1923092696} + - {fileID: 150190142} + m_Father: {fileID: 357871943} + m_RootOrder: 7 +--- !u!1 &1360348675 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1360348676} + - 33: {fileID: 1360348678} + - 23: {fileID: 1360348677} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1360348676 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1360348675} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231738743} + m_RootOrder: 5 +--- !u!23 &1360348677 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1360348675} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1360348678 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1360348675} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1362136243 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1362136244} + - 33: {fileID: 1362136246} + - 23: {fileID: 1362136245} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1362136244 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1362136243} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 849571239} + m_RootOrder: 8 +--- !u!23 &1362136245 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1362136243} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1362136246 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1362136243} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1362344586 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1362344587} + - 33: {fileID: 1362344589} + - 23: {fileID: 1362344588} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1362344587 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1362344586} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 366225505} + m_RootOrder: 6 +--- !u!23 &1362344588 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1362344586} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1362344589 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1362344586} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1362647241 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1362647242} + - 33: {fileID: 1362647244} + - 23: {fileID: 1362647243} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1362647242 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1362647241} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1633108726} + m_RootOrder: 3 +--- !u!23 &1362647243 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1362647241} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1362647244 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1362647241} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1364969515 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1364969516} + - 33: {fileID: 1364969518} + - 23: {fileID: 1364969517} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1364969516 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1364969515} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 332742599} + m_RootOrder: 2 +--- !u!23 &1364969517 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1364969515} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1364969518 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1364969515} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1365593390 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1365593391} + - 33: {fileID: 1365593393} + - 23: {fileID: 1365593392} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1365593391 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1365593390} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1330598094} + m_RootOrder: 5 +--- !u!23 &1365593392 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1365593390} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1365593393 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1365593390} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1366031034 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1366031035} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1366031035 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1366031034} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1730739918} + - {fileID: 1171733634} + - {fileID: 1721123157} + - {fileID: 978106561} + - {fileID: 1581096373} + - {fileID: 1116708662} + - {fileID: 921388391} + - {fileID: 1294857584} + - {fileID: 1803047123} + m_Father: {fileID: 357871943} + m_RootOrder: 1 +--- !u!1 &1368997099 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1368997100} + - 33: {fileID: 1368997102} + - 23: {fileID: 1368997101} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1368997100 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1368997099} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 157447699} + m_RootOrder: 2 +--- !u!23 &1368997101 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1368997099} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1368997102 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1368997099} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1371947163 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1371947164} + - 33: {fileID: 1371947166} + - 23: {fileID: 1371947165} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1371947164 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1371947163} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 138445035} + m_RootOrder: 1 +--- !u!23 &1371947165 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1371947163} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1371947166 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1371947163} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1373919400 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1373919401} + - 33: {fileID: 1373919403} + - 23: {fileID: 1373919402} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1373919401 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1373919400} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 849571239} + m_RootOrder: 3 +--- !u!23 &1373919402 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1373919400} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1373919403 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1373919400} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1374736383 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1374736384} + - 33: {fileID: 1374736386} + - 23: {fileID: 1374736385} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1374736384 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1374736383} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1802157139} + m_RootOrder: 7 +--- !u!23 &1374736385 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1374736383} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1374736386 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1374736383} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1388392808 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1388392809} + - 33: {fileID: 1388392811} + - 23: {fileID: 1388392810} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1388392809 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1388392808} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231738743} + m_RootOrder: 7 +--- !u!23 &1388392810 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1388392808} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1388392811 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1388392808} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1389388061 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1389388062} + - 33: {fileID: 1389388064} + - 23: {fileID: 1389388063} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1389388062 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1389388061} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 554489815} + m_RootOrder: 2 +--- !u!23 &1389388063 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1389388061} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1389388064 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1389388061} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1389778214 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1389778215} + - 33: {fileID: 1389778217} + - 23: {fileID: 1389778216} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1389778215 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1389778214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231626962} + m_RootOrder: 3 +--- !u!23 &1389778216 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1389778214} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1389778217 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1389778214} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1392306389 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1392306390} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1392306390 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1392306389} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 99675307} + - {fileID: 1227423408} + - {fileID: 13932140} + - {fileID: 1972144157} + - {fileID: 900299406} + - {fileID: 2087585606} + - {fileID: 1087830975} + - {fileID: 2099650449} + - {fileID: 1931155964} + m_Father: {fileID: 320694060} + m_RootOrder: 7 +--- !u!1 &1394467956 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1394467957} + - 33: {fileID: 1394467959} + - 23: {fileID: 1394467958} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1394467957 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1394467956} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1318928928} + m_RootOrder: 1 +--- !u!23 &1394467958 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1394467956} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1394467959 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1394467956} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1395995596 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1395995597} + - 33: {fileID: 1395995599} + - 23: {fileID: 1395995598} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1395995597 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1395995596} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 732523451} + m_RootOrder: 2 +--- !u!23 &1395995598 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1395995596} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1395995599 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1395995596} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1396288339 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1396288340} + - 33: {fileID: 1396288342} + - 23: {fileID: 1396288341} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1396288340 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1396288339} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 499152561} + m_RootOrder: 7 +--- !u!23 &1396288341 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1396288339} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1396288342 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1396288339} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1396544290 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1396544291} + - 33: {fileID: 1396544293} + - 23: {fileID: 1396544292} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1396544291 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1396544290} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 774647436} + m_RootOrder: 7 +--- !u!23 &1396544292 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1396544290} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1396544293 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1396544290} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1396826706 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1396826707} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1396826707 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1396826706} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1407376152} + - {fileID: 608944953} + - {fileID: 546913080} + - {fileID: 1053463225} + - {fileID: 1651113725} + - {fileID: 89611126} + - {fileID: 1106686636} + - {fileID: 1814604996} + - {fileID: 592028979} + m_Father: {fileID: 311797878} + m_RootOrder: 1 +--- !u!1 &1397087031 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1397087032} + - 33: {fileID: 1397087034} + - 23: {fileID: 1397087033} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1397087032 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1397087031} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1536546683} + m_RootOrder: 8 +--- !u!23 &1397087033 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1397087031} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1397087034 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1397087031} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1400544810 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1400544811} + - 33: {fileID: 1400544813} + - 23: {fileID: 1400544812} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1400544811 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1400544810} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 604038727} + m_RootOrder: 4 +--- !u!23 &1400544812 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1400544810} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1400544813 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1400544810} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1402568965 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1402568966} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1402568966 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1402568965} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1729114802} + - {fileID: 2056503529} + - {fileID: 1645729896} + - {fileID: 932174128} + - {fileID: 463653236} + - {fileID: 1601487170} + - {fileID: 232827030} + - {fileID: 1758280295} + - {fileID: 1974779908} + m_Father: {fileID: 1906654409} + m_RootOrder: 3 +--- !u!1 &1402866201 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1402866202} + - 33: {fileID: 1402866204} + - 23: {fileID: 1402866203} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1402866202 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1402866201} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1624250639} + m_RootOrder: 0 +--- !u!23 &1402866203 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1402866201} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1402866204 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1402866201} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1404137073 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1404137074} + - 33: {fileID: 1404137076} + - 23: {fileID: 1404137075} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1404137074 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1404137073} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1243272144} + m_RootOrder: 5 +--- !u!23 &1404137075 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1404137073} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1404137076 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1404137073} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1407376151 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1407376152} + - 33: {fileID: 1407376154} + - 23: {fileID: 1407376153} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1407376152 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1407376151} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1396826707} + m_RootOrder: 0 +--- !u!23 &1407376153 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1407376151} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1407376154 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1407376151} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1410625549 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1410625550} + - 33: {fileID: 1410625552} + - 23: {fileID: 1410625551} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1410625550 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1410625549} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1536546683} + m_RootOrder: 3 +--- !u!23 &1410625551 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1410625549} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1410625552 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1410625549} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1410998028 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1410998029} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1410998029 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1410998028} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 426250121} + - {fileID: 1423351329} + - {fileID: 1615833740} + - {fileID: 448229886} + - {fileID: 427916689} + - {fileID: 477954935} + - {fileID: 937185860} + - {fileID: 214908235} + - {fileID: 1886985853} + m_Father: {fileID: 2047955730} + m_RootOrder: 5 +--- !u!1 &1413035098 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1413035099} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1413035099 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1413035098} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 387035447} + - {fileID: 2033352913} + - {fileID: 745174097} + - {fileID: 741883665} + - {fileID: 49728984} + - {fileID: 22254242} + - {fileID: 1922963495} + - {fileID: 772855987} + - {fileID: 277228140} + m_Father: {fileID: 1288823789} + m_RootOrder: 7 +--- !u!1 &1414375559 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1414375560} + - 33: {fileID: 1414375562} + - 23: {fileID: 1414375561} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1414375560 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1414375559} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231626962} + m_RootOrder: 7 +--- !u!23 &1414375561 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1414375559} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1414375562 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1414375559} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1414446054 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1414446055} + - 33: {fileID: 1414446057} + - 23: {fileID: 1414446056} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1414446055 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1414446054} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 821285325} + m_RootOrder: 3 +--- !u!23 &1414446056 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1414446054} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1414446057 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1414446054} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1423351328 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1423351329} + - 33: {fileID: 1423351331} + - 23: {fileID: 1423351330} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1423351329 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1423351328} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1410998029} + m_RootOrder: 1 +--- !u!23 &1423351330 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1423351328} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1423351331 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1423351328} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1423757291 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1423757292} + - 33: {fileID: 1423757294} + - 23: {fileID: 1423757293} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1423757292 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1423757291} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1633108726} + m_RootOrder: 7 +--- !u!23 &1423757293 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1423757291} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1423757294 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1423757291} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1424159263 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1424159264} + - 33: {fileID: 1424159266} + - 23: {fileID: 1424159265} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1424159264 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1424159263} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 554489815} + m_RootOrder: 5 +--- !u!23 &1424159265 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1424159263} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1424159266 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1424159263} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1424197206 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1424197207} + - 33: {fileID: 1424197209} + - 23: {fileID: 1424197208} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1424197207 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1424197206} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 989992470} + m_RootOrder: 6 +--- !u!23 &1424197208 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1424197206} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1424197209 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1424197206} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1427766160 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1427766161} + - 33: {fileID: 1427766163} + - 23: {fileID: 1427766162} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1427766161 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1427766160} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1082956371} + m_RootOrder: 2 +--- !u!23 &1427766162 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1427766160} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1427766163 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1427766160} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1435433902 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1435433903} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1435433903 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1435433902} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1820456659} + - {fileID: 1146317990} + - {fileID: 1950717896} + - {fileID: 6176331} + - {fileID: 1461556913} + - {fileID: 1600012675} + - {fileID: 1752355734} + - {fileID: 1900178042} + - {fileID: 1009138638} + m_Father: {fileID: 320694060} + m_RootOrder: 3 +--- !u!1 &1438264997 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1438264998} + - 33: {fileID: 1438265000} + - 23: {fileID: 1438264999} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1438264998 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1438264997} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 768694475} + m_RootOrder: 8 +--- !u!23 &1438264999 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1438264997} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1438265000 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1438264997} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1438931483 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1438931484} + - 33: {fileID: 1438931486} + - 23: {fileID: 1438931485} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1438931484 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1438931483} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 146325016} + m_RootOrder: 0 +--- !u!23 &1438931485 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1438931483} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1438931486 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1438931483} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1439132006 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1439132007} + - 33: {fileID: 1439132009} + - 23: {fileID: 1439132008} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1439132007 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1439132006} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1591077534} + m_RootOrder: 7 +--- !u!23 &1439132008 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1439132006} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1439132009 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1439132006} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1444405828 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1444405829} + - 33: {fileID: 1444405831} + - 23: {fileID: 1444405830} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1444405829 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1444405828} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 732523451} + m_RootOrder: 3 +--- !u!23 &1444405830 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1444405828} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1444405831 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1444405828} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1445022527 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1445022528} + - 33: {fileID: 1445022530} + - 23: {fileID: 1445022529} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1445022528 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445022527} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1613309483} + m_RootOrder: 2 +--- !u!23 &1445022529 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445022527} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1445022530 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445022527} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1445609285 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1445609286} + - 33: {fileID: 1445609288} + - 23: {fileID: 1445609287} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1445609286 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445609285} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 191837273} + m_RootOrder: 7 +--- !u!23 &1445609287 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445609285} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1445609288 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445609285} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1445696864 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1445696865} + - 33: {fileID: 1445696867} + - 23: {fileID: 1445696866} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1445696865 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445696864} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 352349652} + m_RootOrder: 6 +--- !u!23 &1445696866 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445696864} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1445696867 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445696864} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1446319685 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1446319686} + - 33: {fileID: 1446319688} + - 23: {fileID: 1446319687} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1446319686 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1446319685} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 698956160} + m_RootOrder: 1 +--- !u!23 &1446319687 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1446319685} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1446319688 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1446319685} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1448535560 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1448535561} + - 33: {fileID: 1448535563} + - 23: {fileID: 1448535562} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1448535561 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1448535560} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 471463405} + m_RootOrder: 6 +--- !u!23 &1448535562 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1448535560} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1448535563 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1448535560} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1455756222 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1455756223} + - 33: {fileID: 1455756225} + - 23: {fileID: 1455756224} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1455756223 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1455756222} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1758170125} + m_RootOrder: 5 +--- !u!23 &1455756224 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1455756222} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1455756225 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1455756222} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1457726231 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1457726232} + - 33: {fileID: 1457726234} + - 23: {fileID: 1457726233} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1457726232 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1457726231} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 554489815} + m_RootOrder: 7 +--- !u!23 &1457726233 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1457726231} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1457726234 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1457726231} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1459732961 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1459732962} + - 33: {fileID: 1459732964} + - 23: {fileID: 1459732963} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1459732962 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1459732961} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 415594698} + m_RootOrder: 8 +--- !u!23 &1459732963 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1459732961} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1459732964 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1459732961} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1460781735 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1460781736} + - 33: {fileID: 1460781738} + - 23: {fileID: 1460781737} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1460781736 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1460781735} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1633108726} + m_RootOrder: 4 +--- !u!23 &1460781737 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1460781735} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1460781738 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1460781735} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1461556912 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1461556913} + - 33: {fileID: 1461556915} + - 23: {fileID: 1461556914} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1461556913 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1461556912} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1435433903} + m_RootOrder: 4 +--- !u!23 &1461556914 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1461556912} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1461556915 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1461556912} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1462172970 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1462172971} + - 33: {fileID: 1462172973} + - 23: {fileID: 1462172972} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1462172971 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1462172970} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 857026539} + m_RootOrder: 5 +--- !u!23 &1462172972 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1462172970} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1462172973 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1462172970} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1462913750 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1462913751} + - 33: {fileID: 1462913753} + - 23: {fileID: 1462913752} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1462913751 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1462913750} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 412002962} + m_RootOrder: 7 +--- !u!23 &1462913752 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1462913750} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1462913753 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1462913750} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1465525030 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1465525031} + - 33: {fileID: 1465525033} + - 23: {fileID: 1465525032} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1465525031 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1465525030} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 358145806} + m_RootOrder: 7 +--- !u!23 &1465525032 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1465525030} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1465525033 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1465525030} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1470668111 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1470668112} + - 33: {fileID: 1470668114} + - 23: {fileID: 1470668113} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1470668112 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1470668111} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 309447440} + m_RootOrder: 2 +--- !u!23 &1470668113 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1470668111} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1470668114 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1470668111} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1471964765 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1471964766} + - 33: {fileID: 1471964768} + - 23: {fileID: 1471964767} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1471964766 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1471964765} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2049357828} + m_RootOrder: 2 +--- !u!23 &1471964767 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1471964765} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1471964768 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1471964765} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1472923030 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1472923031} + - 33: {fileID: 1472923033} + - 23: {fileID: 1472923032} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1472923031 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1472923030} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 146325016} + m_RootOrder: 2 +--- !u!23 &1472923032 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1472923030} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1472923033 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1472923030} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1475028432 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1475028433} + - 33: {fileID: 1475028435} + - 23: {fileID: 1475028434} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1475028433 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1475028432} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 352349652} + m_RootOrder: 3 +--- !u!23 &1475028434 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1475028432} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1475028435 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1475028432} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1475464808 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1475464809} + - 33: {fileID: 1475464811} + - 23: {fileID: 1475464810} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1475464809 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1475464808} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 440610438} + m_RootOrder: 8 +--- !u!23 &1475464810 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1475464808} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1475464811 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1475464808} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1475930362 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1475930363} + - 33: {fileID: 1475930365} + - 23: {fileID: 1475930364} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1475930363 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1475930362} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 415594698} + m_RootOrder: 0 +--- !u!23 &1475930364 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1475930362} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1475930365 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1475930362} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1478520777 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1478520778} + - 33: {fileID: 1478520780} + - 23: {fileID: 1478520779} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1478520778 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1478520777} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1550093339} + m_RootOrder: 7 +--- !u!23 &1478520779 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1478520777} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1478520780 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1478520777} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1479376375 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1479376376} + - 33: {fileID: 1479376378} + - 23: {fileID: 1479376377} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1479376376 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1479376375} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 332742599} + m_RootOrder: 5 +--- !u!23 &1479376377 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1479376375} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1479376378 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1479376375} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1483046243 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1483046244} + - 33: {fileID: 1483046246} + - 23: {fileID: 1483046245} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1483046244 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1483046243} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1881349947} + m_RootOrder: 7 +--- !u!23 &1483046245 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1483046243} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1483046246 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1483046243} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1484333753 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1484333754} + - 33: {fileID: 1484333756} + - 23: {fileID: 1484333755} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1484333754 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1484333753} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1687020670} + m_RootOrder: 0 +--- !u!23 &1484333755 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1484333753} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1484333756 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1484333753} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1484629979 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1484629980} + - 33: {fileID: 1484629982} + - 23: {fileID: 1484629981} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1484629980 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1484629979} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1950362483} + m_RootOrder: 6 +--- !u!23 &1484629981 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1484629979} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1484629982 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1484629979} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1487009762 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1487009763} + - 33: {fileID: 1487009765} + - 23: {fileID: 1487009764} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1487009763 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1487009762} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231738743} + m_RootOrder: 3 +--- !u!23 &1487009764 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1487009762} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1487009765 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1487009762} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1491400365 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1491400366} + - 33: {fileID: 1491400368} + - 23: {fileID: 1491400367} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1491400366 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1491400365} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1357615428} + m_RootOrder: 0 +--- !u!23 &1491400367 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1491400365} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1491400368 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1491400365} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1492260307 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1492260308} + - 33: {fileID: 1492260310} + - 23: {fileID: 1492260309} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1492260308 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1492260307} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 415594698} + m_RootOrder: 1 +--- !u!23 &1492260309 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1492260307} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1492260310 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1492260307} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1493653993 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1493653994} + - 33: {fileID: 1493653996} + - 23: {fileID: 1493653995} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1493653994 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1493653993} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 157447699} + m_RootOrder: 1 +--- !u!23 &1493653995 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1493653993} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1493653996 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1493653993} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1494943605 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1494943606} + - 33: {fileID: 1494943608} + - 23: {fileID: 1494943607} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1494943606 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1494943605} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 710806381} + m_RootOrder: 4 +--- !u!23 &1494943607 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1494943605} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1494943608 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1494943605} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1504082959 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1504082960} + - 33: {fileID: 1504082962} + - 23: {fileID: 1504082961} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1504082960 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1504082959} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2049357828} + m_RootOrder: 1 +--- !u!23 &1504082961 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1504082959} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1504082962 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1504082959} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1505898925 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1505898926} + - 33: {fileID: 1505898928} + - 23: {fileID: 1505898927} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1505898926 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1505898925} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 358145806} + m_RootOrder: 2 +--- !u!23 &1505898927 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1505898925} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1505898928 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1505898925} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1506383275 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1506383276} + - 33: {fileID: 1506383278} + - 23: {fileID: 1506383277} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1506383276 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1506383275} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 710806381} + m_RootOrder: 0 +--- !u!23 &1506383277 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1506383275} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1506383278 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1506383275} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1507586982 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1507586983} + - 33: {fileID: 1507586985} + - 23: {fileID: 1507586984} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1507586983 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1507586982} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1881349947} + m_RootOrder: 4 +--- !u!23 &1507586984 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1507586982} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1507586985 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1507586982} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1512158321 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1512158322} + - 33: {fileID: 1512158324} + - 23: {fileID: 1512158323} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1512158322 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1512158321} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 471463405} + m_RootOrder: 0 +--- !u!23 &1512158323 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1512158321} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1512158324 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1512158321} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1515367541 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1515367542} + - 33: {fileID: 1515367544} + - 23: {fileID: 1515367543} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1515367542 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1515367541} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1587156216} + m_RootOrder: 8 +--- !u!23 &1515367543 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1515367541} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1515367544 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1515367541} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1520303004 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1520303005} + - 33: {fileID: 1520303007} + - 23: {fileID: 1520303006} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1520303005 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1520303004} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 379543545} + m_RootOrder: 5 +--- !u!23 &1520303006 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1520303004} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1520303007 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1520303004} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1523936019 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1523936020} + - 33: {fileID: 1523936022} + - 23: {fileID: 1523936021} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1523936020 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1523936019} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1269069112} + m_RootOrder: 8 +--- !u!23 &1523936021 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1523936019} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1523936022 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1523936019} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1524800846 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1524800847} + - 33: {fileID: 1524800849} + - 23: {fileID: 1524800848} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1524800847 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1524800846} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2097222327} + m_RootOrder: 3 +--- !u!23 &1524800848 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1524800846} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1524800849 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1524800846} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1525434091 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1525434092} + - 33: {fileID: 1525434094} + - 23: {fileID: 1525434093} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1525434092 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525434091} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1318928928} + m_RootOrder: 5 +--- !u!23 &1525434093 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525434091} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1525434094 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525434091} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1525654003 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1525654004} + - 33: {fileID: 1525654006} + - 23: {fileID: 1525654005} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1525654004 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525654003} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1633108726} + m_RootOrder: 2 +--- !u!23 &1525654005 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525654003} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1525654006 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525654003} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1528982993 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1528982994} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1528982994 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1528982993} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1227646396} + - {fileID: 1022286119} + - {fileID: 2033597957} + - {fileID: 2058419006} + - {fileID: 1307516388} + - {fileID: 1307719059} + - {fileID: 1161408034} + - {fileID: 1183162456} + - {fileID: 1545214687} + m_Father: {fileID: 311797878} + m_RootOrder: 5 +--- !u!1 &1532310220 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1532310221} + - 33: {fileID: 1532310223} + - 23: {fileID: 1532310222} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1532310221 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1532310220} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 849571239} + m_RootOrder: 4 +--- !u!23 &1532310222 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1532310220} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1532310223 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1532310220} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1533958429 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1533958430} + - 33: {fileID: 1533958432} + - 23: {fileID: 1533958431} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1533958430 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1533958429} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1881349947} + m_RootOrder: 3 +--- !u!23 &1533958431 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1533958429} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1533958432 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1533958429} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1536546682 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1536546683} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1536546683 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1536546682} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1754871150} + - {fileID: 250318199} + - {fileID: 1846421688} + - {fileID: 1410625550} + - {fileID: 1711567330} + - {fileID: 1965897961} + - {fileID: 1138922968} + - {fileID: 75920195} + - {fileID: 1397087032} + m_Father: {fileID: 357871943} + m_RootOrder: 6 +--- !u!1 &1539671134 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1539671135} + - 33: {fileID: 1539671137} + - 23: {fileID: 1539671136} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1539671135 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539671134} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2040025849} + m_RootOrder: 3 +--- !u!23 &1539671136 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539671134} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1539671137 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1539671134} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1545214686 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1545214687} + - 33: {fileID: 1545214689} + - 23: {fileID: 1545214688} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1545214687 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1545214686} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1528982994} + m_RootOrder: 8 +--- !u!23 &1545214688 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1545214686} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1545214689 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1545214686} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1546548682 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1546548683} + - 33: {fileID: 1546548685} + - 23: {fileID: 1546548684} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1546548683 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1546548682} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1251486547} + m_RootOrder: 0 +--- !u!23 &1546548684 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1546548682} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1546548685 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1546548682} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1548254632 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1548254633} + - 33: {fileID: 1548254635} + - 23: {fileID: 1548254634} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1548254633 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1548254632} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 969754910} + m_RootOrder: 4 +--- !u!23 &1548254634 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1548254632} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1548254635 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1548254632} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1548314695 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1548314696} + - 33: {fileID: 1548314698} + - 23: {fileID: 1548314697} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1548314696 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1548314695} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 774647436} + m_RootOrder: 8 +--- !u!23 &1548314697 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1548314695} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1548314698 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1548314695} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1550093338 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1550093339} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1550093339 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1550093338} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 434164393} + - {fileID: 122792864} + - {fileID: 1352935615} + - {fileID: 944018028} + - {fileID: 564326638} + - {fileID: 1094574351} + - {fileID: 864853648} + - {fileID: 1478520778} + - {fileID: 2037708930} + m_Father: {fileID: 1288823789} + m_RootOrder: 3 +--- !u!1 &1552181539 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1552181540} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1552181540 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1552181539} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 225483472} + - {fileID: 2115837886} + - {fileID: 2091853998} + - {fileID: 930864241} + - {fileID: 2029131286} + - {fileID: 950492262} + - {fileID: 869552659} + - {fileID: 1736648754} + - {fileID: 1623881286} + m_Father: {fileID: 1875085494} + m_RootOrder: 0 +--- !u!1 &1553925359 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1553925360} + - 33: {fileID: 1553925362} + - 23: {fileID: 1553925361} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1553925360 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1553925359} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1591077534} + m_RootOrder: 6 +--- !u!23 &1553925361 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1553925359} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1553925362 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1553925359} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1556928008 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1556928009} + - 33: {fileID: 1556928011} + - 23: {fileID: 1556928010} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1556928009 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1556928008} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1082956371} + m_RootOrder: 0 +--- !u!23 &1556928010 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1556928008} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1556928011 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1556928008} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1560013111 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1560013112} + - 33: {fileID: 1560013114} + - 23: {fileID: 1560013113} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1560013112 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1560013111} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1357615428} + m_RootOrder: 5 +--- !u!23 &1560013113 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1560013111} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1560013114 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1560013111} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1563197118 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1563197119} + - 33: {fileID: 1563197121} + - 23: {fileID: 1563197120} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1563197119 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1563197118} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 72504183} + m_RootOrder: 4 +--- !u!23 &1563197120 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1563197118} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1563197121 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1563197118} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1567144311 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1567144312} + - 33: {fileID: 1567144314} + - 23: {fileID: 1567144313} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1567144312 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1567144311} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2097222327} + m_RootOrder: 2 +--- !u!23 &1567144313 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1567144311} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1567144314 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1567144311} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1570922058 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1570922059} + - 33: {fileID: 1570922061} + - 23: {fileID: 1570922060} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1570922059 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1570922058} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 870806955} + m_RootOrder: 0 +--- !u!23 &1570922060 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1570922058} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1570922061 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1570922058} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1571448785 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1571448786} + - 33: {fileID: 1571448788} + - 23: {fileID: 1571448787} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1571448786 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1571448785} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 412002962} + m_RootOrder: 0 +--- !u!23 &1571448787 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1571448785} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1571448788 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1571448785} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1574493099 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1574493100} + - 33: {fileID: 1574493102} + - 23: {fileID: 1574493101} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1574493100 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1574493099} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1687020670} + m_RootOrder: 2 +--- !u!23 &1574493101 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1574493099} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1574493102 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1574493099} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1574963637 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1574963638} + - 33: {fileID: 1574963640} + - 23: {fileID: 1574963639} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1574963638 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1574963637} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 433168050} + m_RootOrder: 0 +--- !u!23 &1574963639 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1574963637} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1574963640 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1574963637} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1581096372 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1581096373} + - 33: {fileID: 1581096375} + - 23: {fileID: 1581096374} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1581096373 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1581096372} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1366031035} + m_RootOrder: 4 +--- !u!23 &1581096374 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1581096372} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1581096375 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1581096372} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1585804691 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1585804692} + - 33: {fileID: 1585804694} + - 23: {fileID: 1585804693} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1585804692 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1585804691} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 484270180} + m_RootOrder: 0 +--- !u!23 &1585804693 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1585804691} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1585804694 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1585804691} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1587156215 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1587156216} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1587156216 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1587156215} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1129404313} + - {fileID: 723900745} + - {fileID: 304245274} + - {fileID: 1897181989} + - {fileID: 1350385641} + - {fileID: 532371072} + - {fileID: 161900532} + - {fileID: 1068914481} + - {fileID: 1515367542} + m_Father: {fileID: 1906654409} + m_RootOrder: 2 +--- !u!1 &1587431537 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1587431538} + - 33: {fileID: 1587431540} + - 23: {fileID: 1587431539} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1587431538 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1587431537} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 499152561} + m_RootOrder: 8 +--- !u!23 &1587431539 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1587431537} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1587431540 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1587431537} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1591077533 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1591077534} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1591077534 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1591077533} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1233842172} + - {fileID: 646509306} + - {fileID: 121895492} + - {fileID: 1596187163} + - {fileID: 418861002} + - {fileID: 589321230} + - {fileID: 1553925360} + - {fileID: 1439132007} + - {fileID: 352927686} + m_Father: {fileID: 1906654409} + m_RootOrder: 5 +--- !u!1 &1592857979 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1592857980} + - 33: {fileID: 1592857982} + - 23: {fileID: 1592857981} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1592857980 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1592857979} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1950362483} + m_RootOrder: 4 +--- !u!23 &1592857981 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1592857979} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1592857982 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1592857979} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1593517167 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1593517168} + - 33: {fileID: 1593517170} + - 23: {fileID: 1593517169} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1593517168 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1593517167} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1145749506} + m_RootOrder: 3 +--- !u!23 &1593517169 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1593517167} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1593517170 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1593517167} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1595097605 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1595097606} + - 33: {fileID: 1595097608} + - 23: {fileID: 1595097607} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1595097606 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1595097605} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 309447440} + m_RootOrder: 5 +--- !u!23 &1595097607 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1595097605} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1595097608 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1595097605} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1596187162 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1596187163} + - 33: {fileID: 1596187165} + - 23: {fileID: 1596187164} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1596187163 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1596187162} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1591077534} + m_RootOrder: 3 +--- !u!23 &1596187164 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1596187162} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1596187165 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1596187162} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1597171770 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1597171771} + - 33: {fileID: 1597171773} + - 23: {fileID: 1597171772} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1597171771 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1597171770} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 774647436} + m_RootOrder: 3 +--- !u!23 &1597171772 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1597171770} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1597171773 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1597171770} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1600012674 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1600012675} + - 33: {fileID: 1600012677} + - 23: {fileID: 1600012676} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1600012675 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1600012674} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1435433903} + m_RootOrder: 5 +--- !u!23 &1600012676 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1600012674} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1600012677 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1600012674} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1601450018 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1601450019} + - 33: {fileID: 1601450021} + - 23: {fileID: 1601450020} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1601450019 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1601450018} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1613309483} + m_RootOrder: 6 +--- !u!23 &1601450020 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1601450018} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1601450021 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1601450018} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1601487169 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1601487170} + - 33: {fileID: 1601487172} + - 23: {fileID: 1601487171} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1601487170 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1601487169} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1402568966} + m_RootOrder: 5 +--- !u!23 &1601487171 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1601487169} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1601487172 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1601487169} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1602538142 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1602538143} + - 33: {fileID: 1602538145} + - 23: {fileID: 1602538144} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1602538143 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1602538142} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 349606543} + m_RootOrder: 1 +--- !u!23 &1602538144 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1602538142} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1602538145 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1602538142} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1605042667 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1605042668} + - 33: {fileID: 1605042670} + - 23: {fileID: 1605042669} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1605042668 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605042667} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 821285325} + m_RootOrder: 1 +--- !u!23 &1605042669 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605042667} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1605042670 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605042667} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1606405212 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1606405213} + - 33: {fileID: 1606405215} + - 23: {fileID: 1606405214} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1606405213 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1606405212} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 157447699} + m_RootOrder: 5 +--- !u!23 &1606405214 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1606405212} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1606405215 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1606405212} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1608184002 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1608184003} + - 33: {fileID: 1608184005} + - 23: {fileID: 1608184004} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1608184003 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1608184002} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 732523451} + m_RootOrder: 1 +--- !u!23 &1608184004 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1608184002} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1608184005 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1608184002} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1610958732 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1610958733} + - 33: {fileID: 1610958735} + - 23: {fileID: 1610958734} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1610958733 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1610958732} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2040025849} + m_RootOrder: 4 +--- !u!23 &1610958734 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1610958732} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1610958735 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1610958732} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1613309482 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1613309483} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1613309483 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1613309482} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 283747329} + - {fileID: 1872063052} + - {fileID: 1445022528} + - {fileID: 351209546} + - {fileID: 607719588} + - {fileID: 511402744} + - {fileID: 1601450019} + - {fileID: 1683129561} + - {fileID: 1849951075} + m_Father: {fileID: 320694060} + m_RootOrder: 1 +--- !u!1 &1615833739 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1615833740} + - 33: {fileID: 1615833742} + - 23: {fileID: 1615833741} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1615833740 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1615833739} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1410998029} + m_RootOrder: 2 +--- !u!23 &1615833741 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1615833739} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1615833742 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1615833739} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1622807705 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1622807706} + - 33: {fileID: 1622807708} + - 23: {fileID: 1622807707} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1622807706 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1622807705} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 358145806} + m_RootOrder: 8 +--- !u!23 &1622807707 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1622807705} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1622807708 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1622807705} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1623881285 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1623881286} + - 33: {fileID: 1623881288} + - 23: {fileID: 1623881287} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1623881286 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1623881285} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1552181540} + m_RootOrder: 8 +--- !u!23 &1623881287 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1623881285} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1623881288 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1623881285} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1624250638 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1624250639} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1624250639 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1624250638} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1402866202} + - {fileID: 1891078375} + - {fileID: 1025853055} + - {fileID: 790672579} + - {fileID: 1732926627} + - {fileID: 2008569424} + - {fileID: 1790590802} + - {fileID: 264309450} + - {fileID: 405307838} + m_Father: {fileID: 357871943} + m_RootOrder: 0 +--- !u!1 &1630920716 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1630920717} + - 33: {fileID: 1630920719} + - 23: {fileID: 1630920718} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1630920717 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1630920716} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 849571239} + m_RootOrder: 7 +--- !u!23 &1630920718 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1630920716} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1630920719 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1630920716} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1631514758 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1631514759} + - 33: {fileID: 1631514761} + - 23: {fileID: 1631514760} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1631514759 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1631514758} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1049063299} + m_RootOrder: 7 +--- !u!23 &1631514760 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1631514758} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1631514761 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1631514758} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1633108725 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1633108726} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1633108726 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1633108725} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2051291023} + - {fileID: 2020642359} + - {fileID: 1525654004} + - {fileID: 1362647242} + - {fileID: 1460781736} + - {fileID: 1830645292} + - {fileID: 2079882518} + - {fileID: 1423757292} + - {fileID: 1932418424} + m_Father: {fileID: 1288823789} + m_RootOrder: 6 +--- !u!1 &1645729895 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1645729896} + - 33: {fileID: 1645729898} + - 23: {fileID: 1645729897} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1645729896 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1645729895} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1402568966} + m_RootOrder: 2 +--- !u!23 &1645729897 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1645729895} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1645729898 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1645729895} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1645935152 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1645935153} + - 33: {fileID: 1645935155} + - 23: {fileID: 1645935154} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1645935153 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1645935152} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 843886803} + m_RootOrder: 5 +--- !u!23 &1645935154 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1645935152} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1645935155 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1645935152} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1646787809 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1646787810} + - 33: {fileID: 1646787812} + - 23: {fileID: 1646787811} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1646787810 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646787809} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 191837273} + m_RootOrder: 5 +--- !u!23 &1646787811 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646787809} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1646787812 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646787809} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1646799000 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1646799001} + - 33: {fileID: 1646799003} + - 23: {fileID: 1646799002} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1646799001 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646799000} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 332742599} + m_RootOrder: 0 +--- !u!23 &1646799002 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646799000} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1646799003 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1646799000} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1650041201 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1650041202} + - 33: {fileID: 1650041204} + - 23: {fileID: 1650041203} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1650041202 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1650041201} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1318928928} + m_RootOrder: 8 +--- !u!23 &1650041203 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1650041201} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1650041204 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1650041201} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1651113724 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1651113725} + - 33: {fileID: 1651113727} + - 23: {fileID: 1651113726} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1651113725 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1651113724} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1396826707} + m_RootOrder: 4 +--- !u!23 &1651113726 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1651113724} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1651113727 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1651113724} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1652927163 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1652927164} + - 33: {fileID: 1652927166} + - 23: {fileID: 1652927165} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1652927164 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1652927163} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1145749506} + m_RootOrder: 1 +--- !u!23 &1652927165 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1652927163} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1652927166 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1652927163} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1655346523 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1655346524} + - 33: {fileID: 1655346526} + - 23: {fileID: 1655346525} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1655346524 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1655346523} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2070993649} + m_RootOrder: 5 +--- !u!23 &1655346525 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1655346523} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1655346526 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1655346523} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1660802534 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1660802535} + - 33: {fileID: 1660802537} + - 23: {fileID: 1660802536} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1660802535 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1660802534} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 604038727} + m_RootOrder: 7 +--- !u!23 &1660802536 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1660802534} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1660802537 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1660802534} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1662872401 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1662872402} + - 33: {fileID: 1662872404} + - 23: {fileID: 1662872403} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1662872402 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1662872401} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 471463405} + m_RootOrder: 8 +--- !u!23 &1662872403 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1662872401} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1662872404 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1662872401} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1665684507 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1665684508} + - 33: {fileID: 1665684510} + - 23: {fileID: 1665684509} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1665684508 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1665684507} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 433168050} + m_RootOrder: 5 +--- !u!23 &1665684509 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1665684507} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1665684510 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1665684507} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1673459333 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1673459334} + - 33: {fileID: 1673459336} + - 23: {fileID: 1673459335} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1673459334 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1673459333} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1802157139} + m_RootOrder: 4 +--- !u!23 &1673459335 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1673459333} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1673459336 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1673459333} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1675013452 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1675013453} + - 33: {fileID: 1675013455} + - 23: {fileID: 1675013454} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1675013453 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1675013452} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2040025849} + m_RootOrder: 6 +--- !u!23 &1675013454 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1675013452} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1675013455 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1675013452} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1679991483 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1679991484} + - 33: {fileID: 1679991486} + - 23: {fileID: 1679991485} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1679991484 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1679991483} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2070993649} + m_RootOrder: 3 +--- !u!23 &1679991485 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1679991483} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1679991486 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1679991483} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1683129560 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1683129561} + - 33: {fileID: 1683129563} + - 23: {fileID: 1683129562} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1683129561 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1683129560} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1613309483} + m_RootOrder: 7 +--- !u!23 &1683129562 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1683129560} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1683129563 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1683129560} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1685836020 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1685836021} + - 33: {fileID: 1685836023} + - 23: {fileID: 1685836022} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1685836021 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1685836020} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 732523451} + m_RootOrder: 7 +--- !u!23 &1685836022 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1685836020} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1685836023 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1685836020} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1687020669 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1687020670} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1687020670 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1687020669} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1484333754} + - {fileID: 670426899} + - {fileID: 1574493100} + - {fileID: 531698857} + - {fileID: 761392685} + - {fileID: 790229014} + - {fileID: 423336367} + - {fileID: 728585453} + - {fileID: 970902515} + m_Father: {fileID: 1906654409} + m_RootOrder: 7 +--- !u!1 &1700747217 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1700747218} + - 33: {fileID: 1700747220} + - 23: {fileID: 1700747219} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1700747218 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1700747217} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 499152561} + m_RootOrder: 4 +--- !u!23 &1700747219 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1700747217} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1700747220 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1700747217} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1702680168 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1702680169} + - 33: {fileID: 1702680171} + - 23: {fileID: 1702680170} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1702680169 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1702680168} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2040025849} + m_RootOrder: 8 +--- !u!23 &1702680170 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1702680168} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1702680171 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1702680168} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1703452019 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1703452020} + - 33: {fileID: 1703452022} + - 23: {fileID: 1703452021} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1703452020 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1703452019} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1041296208} + m_RootOrder: 1 +--- !u!23 &1703452021 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1703452019} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1703452022 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1703452019} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1711378517 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1711378518} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1711378518 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1711378517} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1348129138} + - {fileID: 906056252} + - {fileID: 283110881} + - {fileID: 307869078} + - {fileID: 933014248} + - {fileID: 719486259} + - {fileID: 173812877} + - {fileID: 1108133971} + - {fileID: 91951654} + m_Father: {fileID: 311797878} + m_RootOrder: 3 +--- !u!1 &1711515863 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1711515864} + - 33: {fileID: 1711515866} + - 23: {fileID: 1711515865} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1711515864 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1711515863} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 358145806} + m_RootOrder: 1 +--- !u!23 &1711515865 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1711515863} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1711515866 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1711515863} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1711567329 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1711567330} + - 33: {fileID: 1711567332} + - 23: {fileID: 1711567331} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1711567330 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1711567329} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1536546683} + m_RootOrder: 4 +--- !u!23 &1711567331 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1711567329} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1711567332 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1711567329} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1717160739 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1717160740} + - 33: {fileID: 1717160742} + - 23: {fileID: 1717160741} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1717160740 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1717160739} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 484270180} + m_RootOrder: 8 +--- !u!23 &1717160741 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1717160739} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1717160742 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1717160739} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1721123156 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1721123157} + - 33: {fileID: 1721123159} + - 23: {fileID: 1721123158} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1721123157 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1721123156} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1366031035} + m_RootOrder: 2 +--- !u!23 &1721123158 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1721123156} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1721123159 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1721123156} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1729114801 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1729114802} + - 33: {fileID: 1729114804} + - 23: {fileID: 1729114803} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1729114802 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1729114801} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1402568966} + m_RootOrder: 0 +--- !u!23 &1729114803 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1729114801} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1729114804 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1729114801} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1729768772 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1729768773} + - 33: {fileID: 1729768775} + - 23: {fileID: 1729768774} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1729768773 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1729768772} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 440610438} + m_RootOrder: 4 +--- !u!23 &1729768774 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1729768772} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1729768775 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1729768772} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1730739917 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1730739918} + - 33: {fileID: 1730739920} + - 23: {fileID: 1730739919} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1730739918 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1730739917} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1366031035} + m_RootOrder: 0 +--- !u!23 &1730739919 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1730739917} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1730739920 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1730739917} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1732926626 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1732926627} + - 33: {fileID: 1732926629} + - 23: {fileID: 1732926628} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1732926627 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1732926626} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1624250639} + m_RootOrder: 4 +--- !u!23 &1732926628 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1732926626} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1732926629 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1732926626} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1736130679 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1736130680} + - 33: {fileID: 1736130682} + - 23: {fileID: 1736130681} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1736130680 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1736130679} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 870806955} + m_RootOrder: 6 +--- !u!23 &1736130681 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1736130679} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1736130682 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1736130679} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1736648753 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1736648754} + - 33: {fileID: 1736648756} + - 23: {fileID: 1736648755} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1736648754 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1736648753} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1552181540} + m_RootOrder: 7 +--- !u!23 &1736648755 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1736648753} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1736648756 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1736648753} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1737309124 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1737309125} + - 33: {fileID: 1737309127} + - 23: {fileID: 1737309126} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1737309125 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1737309124} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1991877734} + m_RootOrder: 2 +--- !u!23 &1737309126 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1737309124} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1737309127 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1737309124} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1741033991 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1741033992} + - 33: {fileID: 1741033994} + - 23: {fileID: 1741033993} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1741033992 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1741033991} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 498431041} + m_RootOrder: 7 +--- !u!23 &1741033993 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1741033991} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1741033994 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1741033991} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1741551534 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1741551535} + - 33: {fileID: 1741551537} + - 23: {fileID: 1741551536} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1741551535 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1741551534} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 433168050} + m_RootOrder: 7 +--- !u!23 &1741551536 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1741551534} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1741551537 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1741551534} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1748920385 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1748920386} + - 33: {fileID: 1748920388} + - 23: {fileID: 1748920387} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1748920386 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1748920385} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1881349947} + m_RootOrder: 6 +--- !u!23 &1748920387 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1748920385} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1748920388 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1748920385} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1752355733 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1752355734} + - 33: {fileID: 1752355736} + - 23: {fileID: 1752355735} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1752355734 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1752355733} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1435433903} + m_RootOrder: 6 +--- !u!23 &1752355735 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1752355733} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1752355736 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1752355733} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1754474687 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1754474688} + - 33: {fileID: 1754474690} + - 23: {fileID: 1754474689} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1754474688 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1754474687} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231738743} + m_RootOrder: 2 +--- !u!23 &1754474689 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1754474687} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1754474690 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1754474687} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1754871149 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1754871150} + - 33: {fileID: 1754871152} + - 23: {fileID: 1754871151} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1754871150 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1754871149} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1536546683} + m_RootOrder: 0 +--- !u!23 &1754871151 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1754871149} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1754871152 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1754871149} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1755673662 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1755673663} + - 33: {fileID: 1755673665} + - 23: {fileID: 1755673664} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1755673663 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755673662} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1243272144} + m_RootOrder: 0 +--- !u!23 &1755673664 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755673662} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1755673665 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755673662} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1755946757 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1755946758} + - 33: {fileID: 1755946760} + - 23: {fileID: 1755946759} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1755946758 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755946757} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 72504183} + m_RootOrder: 3 +--- !u!23 &1755946759 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755946757} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1755946760 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1755946757} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1758170124 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1758170125} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1758170125 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1758170124} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2092823651} + - {fileID: 704930282} + - {fileID: 571634748} + - {fileID: 211645512} + - {fileID: 2142769701} + - {fileID: 1455756223} + - {fileID: 506744597} + - {fileID: 24013133} + - {fileID: 128223066} + m_Father: {fileID: 1285129845} + m_RootOrder: 2 +--- !u!1 &1758280294 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1758280295} + - 33: {fileID: 1758280297} + - 23: {fileID: 1758280296} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1758280295 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1758280294} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1402568966} + m_RootOrder: 7 +--- !u!23 &1758280296 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1758280294} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1758280297 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1758280294} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1767762800 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1767762801} + - 33: {fileID: 1767762803} + - 23: {fileID: 1767762802} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1767762801 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1767762800} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 412002962} + m_RootOrder: 2 +--- !u!23 &1767762802 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1767762800} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1767762803 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1767762800} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1779963276 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1779963277} + - 33: {fileID: 1779963279} + - 23: {fileID: 1779963278} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1779963277 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1779963276} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 138445035} + m_RootOrder: 0 +--- !u!23 &1779963278 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1779963276} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1779963279 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1779963276} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1787459734 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1787459735} + - 33: {fileID: 1787459737} + - 23: {fileID: 1787459736} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1787459735 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787459734} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 72504183} + m_RootOrder: 6 +--- !u!23 &1787459736 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787459734} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1787459737 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1787459734} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1790590801 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1790590802} + - 33: {fileID: 1790590804} + - 23: {fileID: 1790590803} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1790590802 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1790590801} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1624250639} + m_RootOrder: 6 +--- !u!23 &1790590803 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1790590801} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1790590804 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1790590801} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1792245260 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1792245261} + - 33: {fileID: 1792245263} + - 23: {fileID: 1792245262} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1792245261 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1792245260} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 989992470} + m_RootOrder: 4 +--- !u!23 &1792245262 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1792245260} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1792245263 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1792245260} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1793642499 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1793642500} + - 33: {fileID: 1793642502} + - 23: {fileID: 1793642501} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1793642500 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1793642499} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 157447699} + m_RootOrder: 0 +--- !u!23 &1793642501 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1793642499} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1793642502 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1793642499} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1798609836 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1798609837} + - 33: {fileID: 1798609839} + - 23: {fileID: 1798609838} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1798609837 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1798609836} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1961106353} + m_RootOrder: 2 +--- !u!23 &1798609838 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1798609836} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1798609839 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1798609836} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1800441099 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1800441100} + - 33: {fileID: 1800441102} + - 23: {fileID: 1800441101} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1800441100 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1800441099} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2097222327} + m_RootOrder: 6 +--- !u!23 &1800441101 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1800441099} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1800441102 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1800441099} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1802005356 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1802005357} + - 33: {fileID: 1802005359} + - 23: {fileID: 1802005358} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1802005357 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1802005356} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 989992470} + m_RootOrder: 0 +--- !u!23 &1802005358 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1802005356} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1802005359 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1802005356} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1802157138 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1802157139} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1802157139 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1802157138} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 909924638} + - {fileID: 1206765017} + - {fileID: 969739218} + - {fileID: 199543577} + - {fileID: 1673459334} + - {fileID: 52129121} + - {fileID: 123976717} + - {fileID: 1374736384} + - {fileID: 272056894} + m_Father: {fileID: 357871943} + m_RootOrder: 5 +--- !u!1 &1803047122 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1803047123} + - 33: {fileID: 1803047125} + - 23: {fileID: 1803047124} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1803047123 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1803047122} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1366031035} + m_RootOrder: 8 +--- !u!23 &1803047124 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1803047122} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1803047125 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1803047122} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1808457318 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1808457319} + - 33: {fileID: 1808457321} + - 23: {fileID: 1808457320} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1808457319 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1808457318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 217104405} + m_RootOrder: 1 +--- !u!23 &1808457320 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1808457318} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1808457321 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1808457318} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1809721790 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1809721791} + - 33: {fileID: 1809721793} + - 23: {fileID: 1809721792} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1809721791 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1809721790} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 138445035} + m_RootOrder: 8 +--- !u!23 &1809721792 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1809721790} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1809721793 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1809721790} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1814604995 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1814604996} + - 33: {fileID: 1814604998} + - 23: {fileID: 1814604997} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1814604996 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1814604995} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1396826707} + m_RootOrder: 7 +--- !u!23 &1814604997 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1814604995} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1814604998 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1814604995} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1820456658 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1820456659} + - 33: {fileID: 1820456661} + - 23: {fileID: 1820456660} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1820456659 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1820456658} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1435433903} + m_RootOrder: 0 +--- !u!23 &1820456660 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1820456658} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1820456661 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1820456658} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1822101653 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1822101654} + - 33: {fileID: 1822101656} + - 23: {fileID: 1822101655} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1822101654 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1822101653} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 554489815} + m_RootOrder: 8 +--- !u!23 &1822101655 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1822101653} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1822101656 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1822101653} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1825222276 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1825222277} + - 33: {fileID: 1825222279} + - 23: {fileID: 1825222278} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1825222277 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1825222276} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 309447440} + m_RootOrder: 0 +--- !u!23 &1825222278 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1825222276} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1825222279 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1825222276} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1825854680 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1825854681} + - 33: {fileID: 1825854683} + - 23: {fileID: 1825854682} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1825854681 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1825854680} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 698956160} + m_RootOrder: 4 +--- !u!23 &1825854682 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1825854680} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1825854683 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1825854680} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1827989465 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1827989466} + - 33: {fileID: 1827989468} + - 23: {fileID: 1827989467} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1827989466 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1827989465} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 471463405} + m_RootOrder: 2 +--- !u!23 &1827989467 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1827989465} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1827989468 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1827989465} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1830645291 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1830645292} + - 33: {fileID: 1830645294} + - 23: {fileID: 1830645293} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1830645292 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1830645291} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1633108726} + m_RootOrder: 5 +--- !u!23 &1830645293 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1830645291} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1830645294 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1830645291} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1834334018 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1834334019} + - 33: {fileID: 1834334021} + - 23: {fileID: 1834334020} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1834334019 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1834334018} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 440610438} + m_RootOrder: 5 +--- !u!23 &1834334020 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1834334018} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1834334021 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1834334018} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1834653029 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1834653030} + - 33: {fileID: 1834653032} + - 23: {fileID: 1834653031} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1834653030 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1834653029} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1082956371} + m_RootOrder: 5 +--- !u!23 &1834653031 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1834653029} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1834653032 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1834653029} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1839525249 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1839525250} + - 33: {fileID: 1839525252} + - 23: {fileID: 1839525251} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1839525250 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1839525249} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1269069112} + m_RootOrder: 3 +--- !u!23 &1839525251 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1839525249} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1839525252 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1839525249} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1844490898 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1844490899} + - 33: {fileID: 1844490901} + - 23: {fileID: 1844490900} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1844490899 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1844490898} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1136402243} + m_RootOrder: 8 +--- !u!23 &1844490900 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1844490898} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1844490901 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1844490898} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1846421687 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1846421688} + - 33: {fileID: 1846421690} + - 23: {fileID: 1846421689} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1846421688 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1846421687} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1536546683} + m_RootOrder: 2 +--- !u!23 &1846421689 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1846421687} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1846421690 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1846421687} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1849914201 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1849914202} + - 33: {fileID: 1849914204} + - 23: {fileID: 1849914203} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1849914202 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1849914201} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1965163931} + m_RootOrder: 6 +--- !u!23 &1849914203 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1849914201} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1849914204 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1849914201} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1849951074 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1849951075} + - 33: {fileID: 1849951077} + - 23: {fileID: 1849951076} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1849951075 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1849951074} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1613309483} + m_RootOrder: 8 +--- !u!23 &1849951076 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1849951074} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1849951077 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1849951074} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1850445105 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1850445106} + - 33: {fileID: 1850445108} + - 23: {fileID: 1850445107} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1850445106 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1850445105} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1243272144} + m_RootOrder: 8 +--- !u!23 &1850445107 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1850445105} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1850445108 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1850445105} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1853333955 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1853333956} + - 33: {fileID: 1853333958} + - 23: {fileID: 1853333957} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1853333956 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1853333955} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1145749506} + m_RootOrder: 8 +--- !u!23 &1853333957 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1853333955} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1853333958 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1853333955} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1856202063 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1856202064} + - 33: {fileID: 1856202066} + - 23: {fileID: 1856202065} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1856202064 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1856202063} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1136402243} + m_RootOrder: 4 +--- !u!23 &1856202065 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1856202063} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1856202066 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1856202063} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1860104358 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1860104359} + - 33: {fileID: 1860104361} + - 23: {fileID: 1860104360} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1860104359 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1860104358} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1243272144} + m_RootOrder: 4 +--- !u!23 &1860104360 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1860104358} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1860104361 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1860104358} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1861128535 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1861128536} + - 33: {fileID: 1861128538} + - 23: {fileID: 1861128537} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1861128536 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1861128535} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 72504183} + m_RootOrder: 1 +--- !u!23 &1861128537 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1861128535} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1861128538 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1861128535} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1861844908 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1861844911} + - 33: {fileID: 1861844910} + - 23: {fileID: 1861844909} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1861844909 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1861844908} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1861844910 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1861844908} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1861844911 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1861844908} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2049357828} + m_RootOrder: 5 +--- !u!1 &1865533534 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1865533535} + - 33: {fileID: 1865533537} + - 23: {fileID: 1865533536} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1865533535 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1865533534} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 352349652} + m_RootOrder: 7 +--- !u!23 &1865533536 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1865533534} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1865533537 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1865533534} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1868659281 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1868659282} + - 33: {fileID: 1868659284} + - 23: {fileID: 1868659283} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1868659282 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1868659281} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1357615428} + m_RootOrder: 2 +--- !u!23 &1868659283 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1868659281} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1868659284 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1868659281} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1872063051 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1872063052} + - 33: {fileID: 1872063054} + - 23: {fileID: 1872063053} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1872063052 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1872063051} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1613309483} + m_RootOrder: 1 +--- !u!23 &1872063053 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1872063051} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1872063054 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1872063051} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1875085493 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1875085494} + m_Layer: 0 + m_Name: CubeGrid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1875085494 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1875085493} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.02090001, y: -.402413607, z: .478583336} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1552181540} + - {fileID: 231626962} + - {fileID: 604038727} + - {fileID: 870806955} + - {fileID: 146325016} + - {fileID: 1251486547} + - {fileID: 1145749506} + - {fileID: 821285325} + - {fileID: 989992470} + m_Father: {fileID: 1335403818} + m_RootOrder: 1 +--- !u!1 &1875242168 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1875242169} + - 33: {fileID: 1875242171} + - 23: {fileID: 1875242170} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1875242169 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1875242168} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1243272144} + m_RootOrder: 2 +--- !u!23 &1875242170 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1875242168} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1875242171 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1875242168} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1881349946 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1881349947} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1881349947 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1881349946} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1891805611} + - {fileID: 546731476} + - {fileID: 285840097} + - {fileID: 1533958430} + - {fileID: 1507586983} + - {fileID: 692314446} + - {fileID: 1748920386} + - {fileID: 1483046244} + - {fileID: 904842065} + m_Father: {fileID: 311797878} + m_RootOrder: 6 +--- !u!1 &1882555734 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1882555735} + - 33: {fileID: 1882555737} + - 23: {fileID: 1882555736} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1882555735 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1882555734} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1991877734} + m_RootOrder: 8 +--- !u!23 &1882555736 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1882555734} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1882555737 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1882555734} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1883108105 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1883108106} + - 33: {fileID: 1883108108} + - 23: {fileID: 1883108107} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1883108106 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1883108105} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 415594698} + m_RootOrder: 3 +--- !u!23 &1883108107 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1883108105} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1883108108 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1883108105} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1886985852 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1886985853} + - 33: {fileID: 1886985855} + - 23: {fileID: 1886985854} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1886985853 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1886985852} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1410998029} + m_RootOrder: 8 +--- !u!23 &1886985854 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1886985852} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1886985855 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1886985852} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1887303631 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1887303632} + - 33: {fileID: 1887303634} + - 23: {fileID: 1887303633} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1887303632 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1887303631} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 379543545} + m_RootOrder: 2 +--- !u!23 &1887303633 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1887303631} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1887303634 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1887303631} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1891078374 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1891078375} + - 33: {fileID: 1891078377} + - 23: {fileID: 1891078376} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1891078375 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1891078374} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1624250639} + m_RootOrder: 1 +--- !u!23 &1891078376 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1891078374} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1891078377 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1891078374} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1891805610 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1891805611} + - 33: {fileID: 1891805613} + - 23: {fileID: 1891805612} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1891805611 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1891805610} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1881349947} + m_RootOrder: 0 +--- !u!23 &1891805612 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1891805610} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1891805613 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1891805610} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1897181988 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1897181989} + - 33: {fileID: 1897181991} + - 23: {fileID: 1897181990} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1897181989 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1897181988} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1587156216} + m_RootOrder: 3 +--- !u!23 &1897181990 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1897181988} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1897181991 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1897181988} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1899159633 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1899159634} + - 33: {fileID: 1899159636} + - 23: {fileID: 1899159635} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1899159634 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1899159633} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1961106353} + m_RootOrder: 6 +--- !u!23 &1899159635 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1899159633} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1899159636 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1899159633} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1900178041 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1900178042} + - 33: {fileID: 1900178044} + - 23: {fileID: 1900178043} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1900178042 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1900178041} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1435433903} + m_RootOrder: 7 +--- !u!23 &1900178043 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1900178041} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1900178044 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1900178041} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1902281419 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1902281420} + - 33: {fileID: 1902281422} + - 23: {fileID: 1902281421} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1902281420 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1902281419} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 352349652} + m_RootOrder: 5 +--- !u!23 &1902281421 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1902281419} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1902281422 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1902281419} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1903182220 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1903182221} + - 33: {fileID: 1903182223} + - 23: {fileID: 1903182222} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1903182221 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1903182220} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231626962} + m_RootOrder: 4 +--- !u!23 &1903182222 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1903182220} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1903182223 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1903182220} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1906654408 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1906654409} + m_Layer: 0 + m_Name: CubeGrid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1906654409 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1906654408} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.02090001, y: -.402413607, z: -.521416664} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2049357828} + - {fileID: 352349652} + - {fileID: 1587156216} + - {fileID: 1402568966} + - {fileID: 484270180} + - {fileID: 1591077534} + - {fileID: 217104405} + - {fileID: 1687020670} + - {fileID: 969754910} + m_Father: {fileID: 1335403818} + m_RootOrder: 3 +--- !u!1 &1912384767 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1912384768} + - 33: {fileID: 1912384770} + - 23: {fileID: 1912384769} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1912384768 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1912384767} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 774647436} + m_RootOrder: 2 +--- !u!23 &1912384769 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1912384767} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1912384770 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1912384767} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1913048507 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1913048508} + - 33: {fileID: 1913048510} + - 23: {fileID: 1913048509} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1913048508 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1913048507} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1136402243} + m_RootOrder: 3 +--- !u!23 &1913048509 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1913048507} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1913048510 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1913048507} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1913051229 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1913051230} + - 33: {fileID: 1913051232} + - 23: {fileID: 1913051231} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1913051230 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1913051229} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 710806381} + m_RootOrder: 2 +--- !u!23 &1913051231 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1913051229} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1913051232 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1913051229} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1916262350 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1916262351} + - 33: {fileID: 1916262353} + - 23: {fileID: 1916262352} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1916262351 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1916262350} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 849571239} + m_RootOrder: 2 +--- !u!23 &1916262352 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1916262350} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1916262353 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1916262350} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1921026972 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1921026973} + - 33: {fileID: 1921026975} + - 23: {fileID: 1921026974} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1921026973 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1921026972} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 821285325} + m_RootOrder: 2 +--- !u!23 &1921026974 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1921026972} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1921026975 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1921026972} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1922963494 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1922963495} + - 33: {fileID: 1922963497} + - 23: {fileID: 1922963496} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1922963495 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1922963494} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1413035099} + m_RootOrder: 6 +--- !u!23 &1922963496 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1922963494} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1922963497 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1922963494} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1923092695 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1923092696} + - 33: {fileID: 1923092698} + - 23: {fileID: 1923092697} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1923092696 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1923092695} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1357615428} + m_RootOrder: 7 +--- !u!23 &1923092697 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1923092695} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1923092698 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1923092695} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1925558713 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1925558714} + - 33: {fileID: 1925558716} + - 23: {fileID: 1925558715} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1925558714 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1925558713} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1950362483} + m_RootOrder: 3 +--- !u!23 &1925558715 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1925558713} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1925558716 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1925558713} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1931155963 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1931155964} + - 33: {fileID: 1931155966} + - 23: {fileID: 1931155965} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1931155964 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1931155963} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1392306390} + m_RootOrder: 8 +--- !u!23 &1931155965 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1931155963} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1931155966 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1931155963} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1932418423 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1932418424} + - 33: {fileID: 1932418426} + - 23: {fileID: 1932418425} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1932418424 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1932418423} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1633108726} + m_RootOrder: 8 +--- !u!23 &1932418425 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1932418423} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1932418426 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1932418423} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1938902970 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1938902971} + - 33: {fileID: 1938902973} + - 23: {fileID: 1938902972} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1938902971 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1938902970} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1049063299} + m_RootOrder: 4 +--- !u!23 &1938902972 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1938902970} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1938902973 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1938902970} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1942119076 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1942119077} + - 33: {fileID: 1942119079} + - 23: {fileID: 1942119078} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1942119077 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1942119076} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 732523451} + m_RootOrder: 6 +--- !u!23 &1942119078 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1942119076} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1942119079 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1942119076} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1948389797 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1948389798} + - 33: {fileID: 1948389800} + - 23: {fileID: 1948389799} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1948389798 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1948389797} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 499152561} + m_RootOrder: 1 +--- !u!23 &1948389799 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1948389797} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1948389800 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1948389797} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1950362482 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1950362483} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1950362483 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1950362482} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 413262254} + - {fileID: 254407489} + - {fileID: 854490570} + - {fileID: 1925558714} + - {fileID: 1592857980} + - {fileID: 60943539} + - {fileID: 1484629980} + - {fileID: 214705700} + - {fileID: 1349524317} + m_Father: {fileID: 320694060} + m_RootOrder: 6 +--- !u!1 &1950717895 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1950717896} + - 33: {fileID: 1950717898} + - 23: {fileID: 1950717897} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1950717896 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1950717895} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1435433903} + m_RootOrder: 2 +--- !u!23 &1950717897 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1950717895} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1950717898 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1950717895} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1952045472 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1952045473} + - 33: {fileID: 1952045475} + - 23: {fileID: 1952045474} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1952045473 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1952045472} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231738743} + m_RootOrder: 4 +--- !u!23 &1952045474 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1952045472} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1952045475 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1952045472} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1953469276 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1953469277} + - 33: {fileID: 1953469279} + - 23: {fileID: 1953469278} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1953469277 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1953469276} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2070993649} + m_RootOrder: 0 +--- !u!23 &1953469278 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1953469276} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1953469279 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1953469276} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1954311485 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1954311486} + - 33: {fileID: 1954311488} + - 23: {fileID: 1954311487} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1954311486 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1954311485} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 710806381} + m_RootOrder: 3 +--- !u!23 &1954311487 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1954311485} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1954311488 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1954311485} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1956088723 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1956088724} + - 33: {fileID: 1956088726} + - 23: {fileID: 1956088725} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1956088724 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1956088723} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1318928928} + m_RootOrder: 2 +--- !u!23 &1956088725 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1956088723} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1956088726 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1956088723} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1960183755 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1960183756} + - 33: {fileID: 1960183758} + - 23: {fileID: 1960183757} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1960183756 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1960183755} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1269069112} + m_RootOrder: 6 +--- !u!23 &1960183757 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1960183755} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1960183758 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1960183755} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1961106352 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1961106353} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1961106353 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1961106352} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1215951044} + - {fileID: 1061289307} + - {fileID: 1798609837} + - {fileID: 979464284} + - {fileID: 406100771} + - {fileID: 988035054} + - {fileID: 1899159634} + - {fileID: 1314660168} + - {fileID: 1967484968} + m_Father: {fileID: 2047955730} + m_RootOrder: 0 +--- !u!1 &1961694171 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1961694172} + - 33: {fileID: 1961694174} + - 23: {fileID: 1961694173} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1961694172 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1961694171} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 732523451} + m_RootOrder: 8 +--- !u!23 &1961694173 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1961694171} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1961694174 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1961694171} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1965163930 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1965163931} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1965163931 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1965163930} + 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_Children: + - {fileID: 178633824} + - {fileID: 1188557689} + - {fileID: 63880795} + - {fileID: 1319814373} + - {fileID: 39903541} + - {fileID: 1235025735} + - {fileID: 1849914202} + - {fileID: 838733922} + - {fileID: 429781488} + m_Father: {fileID: 416898948} + m_RootOrder: 4 +--- !u!1 &1965897960 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1965897961} + - 33: {fileID: 1965897963} + - 23: {fileID: 1965897962} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1965897961 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1965897960} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1536546683} + m_RootOrder: 5 +--- !u!23 &1965897962 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1965897960} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1965897963 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1965897960} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1967484967 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1967484968} + - 33: {fileID: 1967484970} + - 23: {fileID: 1967484969} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1967484968 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1967484967} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1961106353} + m_RootOrder: 8 +--- !u!23 &1967484969 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1967484967} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1967484970 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1967484967} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1969505722 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1969505723} + - 33: {fileID: 1969505725} + - 23: {fileID: 1969505724} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1969505723 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1969505722} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 843886803} + m_RootOrder: 3 +--- !u!23 &1969505724 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1969505722} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1969505725 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1969505722} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1972144156 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1972144157} + - 33: {fileID: 1972144159} + - 23: {fileID: 1972144158} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1972144157 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1972144156} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1392306390} + m_RootOrder: 3 +--- !u!23 &1972144158 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1972144156} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1972144159 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1972144156} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1974779907 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1974779908} + - 33: {fileID: 1974779910} + - 23: {fileID: 1974779909} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1974779908 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1974779907} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1402568966} + m_RootOrder: 8 +--- !u!23 &1974779909 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1974779907} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1974779910 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1974779907} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1977979796 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1977979797} + - 33: {fileID: 1977979799} + - 23: {fileID: 1977979798} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1977979797 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1977979796} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 217104405} + m_RootOrder: 2 +--- !u!23 &1977979798 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1977979796} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1977979799 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1977979796} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1979134598 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1979134599} + - 33: {fileID: 1979134601} + - 23: {fileID: 1979134600} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1979134599 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1979134598} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 698956160} + m_RootOrder: 0 +--- !u!23 &1979134600 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1979134598} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1979134601 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1979134598} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1979390744 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1979390745} + - 33: {fileID: 1979390747} + - 23: {fileID: 1979390746} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1979390745 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1979390744} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1240836681} + m_RootOrder: 4 +--- !u!23 &1979390746 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1979390744} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1979390747 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1979390744} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1980932115 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1980932116} + - 33: {fileID: 1980932118} + - 23: {fileID: 1980932117} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1980932116 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1980932115} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1330598094} + m_RootOrder: 6 +--- !u!23 &1980932117 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1980932115} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1980932118 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1980932115} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1986362226 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1986362227} + - 33: {fileID: 1986362229} + - 23: {fileID: 1986362228} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1986362227 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1986362226} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1991877734} + m_RootOrder: 0 +--- !u!23 &1986362228 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1986362226} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1986362229 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1986362226} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1991666045 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1991666046} + - 33: {fileID: 1991666048} + - 23: {fileID: 1991666047} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1991666046 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1991666045} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 72504183} + m_RootOrder: 2 +--- !u!23 &1991666047 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1991666045} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1991666048 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1991666045} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1991877733 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1991877734} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1991877734 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1991877733} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1986362227} + - {fileID: 2077132620} + - {fileID: 1737309125} + - {fileID: 2013232999} + - {fileID: 1332082081} + - {fileID: 1033298436} + - {fileID: 73591253} + - {fileID: 10900167} + - {fileID: 1882555735} + m_Father: {fileID: 1285129845} + m_RootOrder: 1 +--- !u!1 &1995638827 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1995638828} + - 33: {fileID: 1995638830} + - 23: {fileID: 1995638829} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1995638828 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1995638827} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1269069112} + m_RootOrder: 4 +--- !u!23 &1995638829 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1995638827} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1995638830 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1995638827} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1997209206 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1997209207} + - 33: {fileID: 1997209209} + - 23: {fileID: 1997209208} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1997209207 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1997209206} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1038701522} + m_RootOrder: 5 +--- !u!23 &1997209208 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1997209206} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &1997209209 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1997209206} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2004483207 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2004483208} + - 33: {fileID: 2004483210} + - 23: {fileID: 2004483209} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2004483208 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2004483207} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 484270180} + m_RootOrder: 7 +--- !u!23 &2004483209 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2004483207} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2004483210 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2004483207} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2008569423 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2008569424} + - 33: {fileID: 2008569426} + - 23: {fileID: 2008569425} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2008569424 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2008569423} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1624250639} + m_RootOrder: 5 +--- !u!23 &2008569425 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2008569423} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2008569426 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2008569423} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2010793938 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2010793939} + - 33: {fileID: 2010793941} + - 23: {fileID: 2010793940} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2010793939 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2010793938} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 857026539} + m_RootOrder: 3 +--- !u!23 &2010793940 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2010793938} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2010793941 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2010793938} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2013232998 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2013232999} + - 33: {fileID: 2013233001} + - 23: {fileID: 2013233000} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2013232999 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2013232998} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1991877734} + m_RootOrder: 3 +--- !u!23 &2013233000 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2013232998} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2013233001 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2013232998} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2020642358 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2020642359} + - 33: {fileID: 2020642361} + - 23: {fileID: 2020642360} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2020642359 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2020642358} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1633108726} + m_RootOrder: 1 +--- !u!23 &2020642360 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2020642358} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2020642361 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2020642358} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2025153728 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2025153729} + - 33: {fileID: 2025153731} + - 23: {fileID: 2025153730} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2025153729 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2025153728} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1041296208} + m_RootOrder: 0 +--- !u!23 &2025153730 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2025153728} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2025153731 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2025153728} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2026052348 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2026052349} + - 33: {fileID: 2026052351} + - 23: {fileID: 2026052350} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2026052349 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2026052348} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2097222327} + m_RootOrder: 8 +--- !u!23 &2026052350 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2026052348} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2026052351 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2026052348} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2029131285 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2029131286} + - 33: {fileID: 2029131288} + - 23: {fileID: 2029131287} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2029131286 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2029131285} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1552181540} + m_RootOrder: 4 +--- !u!23 &2029131287 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2029131285} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2029131288 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2029131285} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2033352912 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2033352913} + - 33: {fileID: 2033352915} + - 23: {fileID: 2033352914} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2033352913 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2033352912} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1413035099} + m_RootOrder: 1 +--- !u!23 &2033352914 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2033352912} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2033352915 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2033352912} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2033597956 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2033597957} + - 33: {fileID: 2033597959} + - 23: {fileID: 2033597958} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2033597957 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2033597956} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1528982994} + m_RootOrder: 2 +--- !u!23 &2033597958 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2033597956} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2033597959 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2033597956} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2037708929 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2037708930} + - 33: {fileID: 2037708932} + - 23: {fileID: 2037708931} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2037708930 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2037708929} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1550093339} + m_RootOrder: 8 +--- !u!23 &2037708931 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2037708929} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2037708932 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2037708929} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2038017095 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2038017096} + - 33: {fileID: 2038017098} + - 23: {fileID: 2038017097} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2038017096 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2038017095} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 843886803} + m_RootOrder: 0 +--- !u!23 &2038017097 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2038017095} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2038017098 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2038017095} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2040025848 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2040025849} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2040025849 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2040025848} + 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_Children: + - {fileID: 433219886} + - {fileID: 2122151701} + - {fileID: 1124369259} + - {fileID: 1539671135} + - {fileID: 1610958733} + - {fileID: 950889724} + - {fileID: 1675013453} + - {fileID: 79316880} + - {fileID: 1702680169} + m_Father: {fileID: 311797878} + m_RootOrder: 4 +--- !u!1 &2045179445 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2045179446} + - 33: {fileID: 2045179448} + - 23: {fileID: 2045179447} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2045179446 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2045179445} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 499152561} + m_RootOrder: 3 +--- !u!23 &2045179447 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2045179445} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2045179448 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2045179445} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2046589813 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2046589814} + - 33: {fileID: 2046589816} + - 23: {fileID: 2046589815} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2046589814 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2046589813} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1240836681} + m_RootOrder: 2 +--- !u!23 &2046589815 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2046589813} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2046589816 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2046589813} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2047955729 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2047955730} + m_Layer: 0 + m_Name: CubeGrid + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2047955730 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2047955729} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.02090001, y: -.402413607, z: -6.52141666} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1961106353} + - {fileID: 332742599} + - {fileID: 1318928928} + - {fileID: 358145806} + - {fileID: 950631283} + - {fileID: 1410998029} + - {fileID: 1330598094} + - {fileID: 412002962} + - {fileID: 1082956371} + m_Father: {fileID: 1335403818} + m_RootOrder: 6 +--- !u!1 &2049357827 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2049357828} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2049357828 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2049357827} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 670736873} + - {fileID: 1504082960} + - {fileID: 1471964766} + - {fileID: 2122632236} + - {fileID: 1257843377} + - {fileID: 1861844911} + - {fileID: 1163212113} + - {fileID: 872716104} + - {fileID: 485922319} + m_Father: {fileID: 1906654409} + m_RootOrder: 0 +--- !u!1 &2051291022 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2051291023} + - 33: {fileID: 2051291025} + - 23: {fileID: 2051291024} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2051291023 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2051291022} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -.0442743301, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1633108726} + m_RootOrder: 0 +--- !u!23 &2051291024 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2051291022} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2051291025 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2051291022} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2055671387 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2055671388} + - 33: {fileID: 2055671390} + - 23: {fileID: 2055671389} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2055671388 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2055671387} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 821285325} + m_RootOrder: 0 +--- !u!23 &2055671389 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2055671387} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2055671390 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2055671387} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2056503528 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2056503529} + - 33: {fileID: 2056503531} + - 23: {fileID: 2056503530} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2056503529 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2056503528} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1402568966} + m_RootOrder: 1 +--- !u!23 &2056503530 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2056503528} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2056503531 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2056503528} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2056972173 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2056972174} + - 33: {fileID: 2056972176} + - 23: {fileID: 2056972175} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2056972174 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2056972173} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 732523451} + m_RootOrder: 5 +--- !u!23 &2056972175 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2056972173} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2056972176 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2056972173} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2057664974 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2057664975} + - 33: {fileID: 2057664977} + - 23: {fileID: 2057664976} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2057664975 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2057664974} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 498431041} + m_RootOrder: 6 +--- !u!23 &2057664976 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2057664974} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2057664977 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2057664974} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2058419005 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2058419006} + - 33: {fileID: 2058419008} + - 23: {fileID: 2058419007} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2058419006 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2058419005} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1528982994} + m_RootOrder: 3 +--- !u!23 &2058419007 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2058419005} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2058419008 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2058419005} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2062746975 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2062746976} + - 33: {fileID: 2062746978} + - 23: {fileID: 2062746977} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2062746976 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2062746975} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231626962} + m_RootOrder: 2 +--- !u!23 &2062746977 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2062746975} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2062746978 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2062746975} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2064792705 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2064792706} + - 33: {fileID: 2064792708} + - 23: {fileID: 2064792707} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2064792706 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2064792705} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 231626962} + m_RootOrder: 0 +--- !u!23 &2064792707 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2064792705} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2064792708 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2064792705} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2068883890 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2068883891} + - 33: {fileID: 2068883893} + - 23: {fileID: 2068883892} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2068883891 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2068883890} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 498431041} + m_RootOrder: 4 +--- !u!23 &2068883892 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2068883890} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2068883893 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2068883890} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2070993648 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2070993649} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2070993649 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2070993648} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1953469277} + - {fileID: 210983308} + - {fileID: 520605639} + - {fileID: 1679991484} + - {fileID: 1275248166} + - {fileID: 1655346524} + - {fileID: 712597646} + - {fileID: 653981194} + - {fileID: 1249280389} + m_Father: {fileID: 1288823789} + m_RootOrder: 2 +--- !u!1 &2077132619 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2077132620} + - 33: {fileID: 2077132622} + - 23: {fileID: 2077132621} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2077132620 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2077132619} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1991877734} + m_RootOrder: 1 +--- !u!23 &2077132621 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2077132619} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2077132622 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2077132619} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2079882517 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2079882518} + - 33: {fileID: 2079882520} + - 23: {fileID: 2079882519} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2079882518 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2079882517} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1633108726} + m_RootOrder: 6 +--- !u!23 &2079882519 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2079882517} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2079882520 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2079882517} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2080097012 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2080097013} + - 33: {fileID: 2080097015} + - 23: {fileID: 2080097014} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2080097013 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080097012} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1243272144} + m_RootOrder: 1 +--- !u!23 &2080097014 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080097012} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2080097015 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080097012} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2080981881 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2080981882} + - 33: {fileID: 2080981884} + - 23: {fileID: 2080981883} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2080981882 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080981881} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1337936969} + m_RootOrder: 2 +--- !u!23 &2080981883 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080981881} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2080981884 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080981881} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2085279770 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2085279771} + - 33: {fileID: 2085279773} + - 23: {fileID: 2085279772} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2085279771 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2085279770} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 415594698} + m_RootOrder: 2 +--- !u!23 &2085279772 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2085279770} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2085279773 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2085279770} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2087000648 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2087000649} + - 33: {fileID: 2087000651} + - 23: {fileID: 2087000650} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2087000649 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2087000648} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1357615428} + m_RootOrder: 1 +--- !u!23 &2087000650 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2087000648} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2087000651 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2087000648} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2087585605 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2087585606} + - 33: {fileID: 2087585608} + - 23: {fileID: 2087585607} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2087585606 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2087585605} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1392306390} + m_RootOrder: 5 +--- !u!23 &2087585607 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2087585605} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2087585608 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2087585605} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2091783722 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2091783723} + - 33: {fileID: 2091783725} + - 23: {fileID: 2091783724} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2091783723 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2091783722} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1041296208} + m_RootOrder: 6 +--- !u!23 &2091783724 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2091783722} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2091783725 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2091783722} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2091853997 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2091853998} + - 33: {fileID: 2091854000} + - 23: {fileID: 2091853999} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2091853998 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2091853997} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1552181540} + m_RootOrder: 2 +--- !u!23 &2091853999 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2091853997} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2091854000 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2091853997} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2092823650 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2092823651} + - 33: {fileID: 2092823653} + - 23: {fileID: 2092823652} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2092823651 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2092823650} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1758170125} + m_RootOrder: 0 +--- !u!23 &2092823652 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2092823650} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2092823653 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2092823650} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2093071928 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2093071929} + - 33: {fileID: 2093071931} + - 23: {fileID: 2093071930} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2093071929 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2093071928} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 366225505} + m_RootOrder: 8 +--- !u!23 &2093071930 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2093071928} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2093071931 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2093071928} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2097222326 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2097222327} + m_Layer: 0 + m_Name: CubeArray1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2097222327 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2097222326} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 398582823} + - {fileID: 997052066} + - {fileID: 1567144312} + - {fileID: 1524800847} + - {fileID: 941245592} + - {fileID: 190771844} + - {fileID: 1800441100} + - {fileID: 1086529298} + - {fileID: 2026052349} + m_Father: {fileID: 311797878} + m_RootOrder: 0 +--- !u!1 &2099444888 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2099444889} + - 33: {fileID: 2099444891} + - 23: {fileID: 2099444890} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2099444889 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2099444888} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 217104405} + m_RootOrder: 3 +--- !u!23 &2099444890 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2099444888} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2099444891 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2099444888} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2099650448 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2099650449} + - 33: {fileID: 2099650451} + - 23: {fileID: 2099650450} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2099650449 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2099650448} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1392306390} + m_RootOrder: 7 +--- !u!23 &2099650450 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2099650448} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2099650451 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2099650448} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2115837885 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2115837886} + - 33: {fileID: 2115837888} + - 23: {fileID: 2115837887} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2115837886 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2115837885} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1552181540} + m_RootOrder: 1 +--- !u!23 &2115837887 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2115837885} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2115837888 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2115837885} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2121867676 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2121867677} + - 33: {fileID: 2121867679} + - 23: {fileID: 2121867678} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2121867677 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2121867676} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1038701522} + m_RootOrder: 8 +--- !u!23 &2121867678 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2121867676} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2121867679 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2121867676} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2122151700 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2122151701} + - 33: {fileID: 2122151703} + - 23: {fileID: 2122151702} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2122151701 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2122151700} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2040025849} + m_RootOrder: 1 +--- !u!23 &2122151702 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2122151700} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2122151703 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2122151700} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2122632235 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2122632236} + - 33: {fileID: 2122632238} + - 23: {fileID: 2122632237} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2122632236 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2122632235} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 2049357828} + m_RootOrder: 3 +--- !u!23 &2122632237 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2122632235} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2122632238 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2122632235} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2129935184 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2129935185} + - 33: {fileID: 2129935187} + - 23: {fileID: 2129935186} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2129935185 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2129935184} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1049063299} + m_RootOrder: 6 +--- !u!23 &2129935186 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2129935184} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2129935187 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2129935184} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2134487186 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2134487187} + - 33: {fileID: 2134487189} + - 23: {fileID: 2134487188} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2134487187 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2134487186} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1251486547} + m_RootOrder: 6 +--- !u!23 &2134487188 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2134487186} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2134487189 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2134487186} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2135229807 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2135229808} + - 33: {fileID: 2135229810} + - 23: {fileID: 2135229809} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2135229808 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2135229807} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1240836681} + m_RootOrder: 1 +--- !u!23 &2135229809 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2135229807} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2135229810 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2135229807} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2136117256 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2136117257} + - 33: {fileID: 2136117259} + - 23: {fileID: 2136117258} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2136117257 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2136117256} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1038701522} + m_RootOrder: 3 +--- !u!23 &2136117258 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2136117256} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2136117259 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2136117256} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2136417288 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2136417289} + - 33: {fileID: 2136417291} + - 23: {fileID: 2136417290} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2136417289 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2136417288} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 843886803} + m_RootOrder: 1 +--- !u!23 &2136417290 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2136417288} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2136417291 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2136417288} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2139240984 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2139240985} + - 33: {fileID: 2139240987} + - 23: {fileID: 2139240986} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2139240985 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2139240984} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 349606543} + m_RootOrder: 5 +--- !u!23 &2139240986 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2139240984} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2139240987 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2139240984} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2142769700 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2142769701} + - 33: {fileID: 2142769703} + - 23: {fileID: 2142769702} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2142769701 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2142769700} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: .25, y: .25, z: .25} + m_Children: [] + m_Father: {fileID: 1758170125} + m_RootOrder: 4 +--- !u!23 &2142769702 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2142769700} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &2142769703 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2142769700} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Assets/Oculus/VR/Scenes/Cubes.unity.meta b/Assets/Oculus/VR/Scenes/Cubes.unity.meta new file mode 100644 index 0000000..3a83a7e --- /dev/null +++ b/Assets/Oculus/VR/Scenes/Cubes.unity.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: d920b3d2525670f4abad3d20eda3b349 +DefaultImporter: + userData: diff --git a/Assets/Oculus/VR/Scenes/GearVrControllerTest.unity b/Assets/Oculus/VR/Scenes/GearVrControllerTest.unity new file mode 100644 index 0000000..1a04565 --- /dev/null +++ b/Assets/Oculus/VR/Scenes/GearVrControllerTest.unity @@ -0,0 +1,1105 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 8 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_LightingDataAsset: {fileID: 0} + m_ShadowMaskMode: 2 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &265337587 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 265337588} + - component: {fileID: 265337590} + - component: {fileID: 265337589} + - component: {fileID: 265337591} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &265337588 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 265337587} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_Children: [] + m_Father: {fileID: 2100857862} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 250, y: 700} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &265337589 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 265337587} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &265337590 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 265337587} +--- !u!114 &265337591 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 265337587} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7acc4619d4cb5e64e9ed05e5a7a8099f, type: 3} + m_Name: + m_EditorClassIdentifier: + uiText: {fileID: 265337589} +--- !u!1 &358702056 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100012, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 358702057} + - component: {fileID: 358702060} + - component: {fileID: 358702059} + - component: {fileID: 358702058} + m_Layer: 0 + m_Name: CenterEyeAnchor + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &358702057 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400012, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358702056} + 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_Children: + - {fileID: 2100857862} + m_Father: {fileID: 863221866} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &358702058 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11414578, guid: ce816f2e6abb0504092c23ed9b970dfd, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358702056} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df8e1d778abf442e4bec449c360e9e1c, type: 3} + m_Name: + m_EditorClassIdentifier: + fadeTime: 2 + fadeColor: {r: 0.01, g: 0.01, b: 0.01, a: 1} + fadeOnStart: 1 +--- !u!20 &358702059 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2015248, guid: ce816f2e6abb0504092c23ed9b970dfd, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358702056} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.1 + far clip plane: 1000 + field of view: 90 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: 1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!81 &358702060 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 8100000, guid: ce816f2e6abb0504092c23ed9b970dfd, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358702056} + m_Enabled: 1 +--- !u!1 &432959205 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 168962, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1594308570} + m_Layer: 0 + m_Name: LeftHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &654211503 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 134650, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1594308569} + m_Layer: 0 + m_Name: RightHandAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1001 &678225789 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1594308570} + m_Modifications: + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11479374, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_controller + value: 16777216 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + m_IsPrefabParent: 0 +--- !u!4 &678225790 stripped +Transform: + m_PrefabParentObject: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + m_PrefabInternal: {fileID: 678225789} +--- !u!1 &863221865 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 162066, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 863221866} + m_Layer: 0 + m_Name: TrackingSpace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &863221866 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 462066, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 863221865} + 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_Children: + - {fileID: 1568687149} + - {fileID: 358702057} + - {fileID: 1795229448} + - {fileID: 1277714291} + - {fileID: 1594308570} + - {fileID: 1594308569} + m_Father: {fileID: 1594308573} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &887455119 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1594308569} + m_Modifications: + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11479374, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + propertyPath: m_controller + value: 33554432 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1007573585 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1007573588} + - component: {fileID: 1007573587} + - component: {fileID: 1007573586} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1007573586 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1007573585} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1007573587 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1007573585} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1007573588 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1007573585} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1117748289 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1117748290} + - component: {fileID: 1117748292} + - component: {fileID: 1117748291} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1117748290 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1117748289} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.3, y: 0.9, z: 0.1} + m_Children: [] + m_Father: {fileID: 2100857862} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1117748291 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1117748289} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.909} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1117748292 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1117748289} +--- !u!4 &1212613231 stripped +Transform: + m_PrefabParentObject: {fileID: 488160, guid: d9809c5e8418bb047bf2c8ba1d1a2cec, type: 2} + m_PrefabInternal: {fileID: 887455119} +--- !u!1 &1277714290 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 162068, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1277714291} + m_Layer: 0 + m_Name: TrackerAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1277714291 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 462068, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1277714290} + 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_Children: [] + m_Father: {fileID: 863221866} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1444637086 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1444637088} + - component: {fileID: 1444637087} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1444637087 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1444637086} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1444637088 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1444637086} + m_LocalRotation: {x: 0.40821794, y: -0.23456973, z: 0.109381676, w: 0.87542605} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1445337725 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1445337729} + - component: {fileID: 1445337728} + - component: {fileID: 1445337727} + - component: {fileID: 1445337726} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1445337726 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445337725} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &1445337727 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445337725} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1445337728 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445337725} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1445337729 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445337725} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -5.97, z: 0} + m_LocalScale: {x: 10, y: 10, z: 10} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1568687148 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100010, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1568687149} + - component: {fileID: 1568687150} + m_Layer: 0 + m_Name: LeftEyeAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1568687149 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400010, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1568687148} + 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_Children: [] + m_Father: {fileID: 863221866} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &1568687150 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1568687148} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 1 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &1594308569 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 481164, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 654211503} + 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_Children: + - {fileID: 1212613231} + m_Father: {fileID: 863221866} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1594308570 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 477154, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 432959205} + 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_Children: + - {fileID: 678225790} + m_Father: {fileID: 863221866} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1594308571 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100004, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1594308573} + - component: {fileID: 1594308576} + - component: {fileID: 1594308575} + m_Layer: 0 + m_Name: OVRCameraRig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1594308573 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400008, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1594308571} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 863221866} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1594308575 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11400002, guid: ce816f2e6abb0504092c23ed9b970dfd, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1594308571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e933e81d3c20c74ea6fdc708a67e3a5, type: 3} + m_Name: + m_EditorClassIdentifier: + queueAhead: 1 + useRecommendedMSAALevel: 0 + enableAdaptiveResolution: 0 + minRenderScale: 0.7 + maxRenderScale: 1 + expandMixedRealityCapturePropertySheet: 0 + enableMixedReality: 0 + compositionMethod: 0 + extraHiddenLayers: + serializedVersion: 2 + m_Bits: 0 + capturingCameraDevice: 0 + flipCameraFrameHorizontally: 0 + flipCameraFrameVertically: 0 + handPoseStateLatency: 0 + sandwichCompositionRenderLatency: 0 + sandwichCompositionBufferedFrames: 8 + chromaKeyColor: {r: 0, g: 1, b: 0, a: 1} + chromaKeySimilarity: 0.6 + chromaKeySmoothRange: 0.03 + chromaKeySpillRange: 0.06 + useDynamicLighting: 0 + depthQuality: 1 + dynamicLightingSmoothFactor: 8 + dynamicLightingDepthVariationClampingValue: 0.001 + virtualGreenScreenType: 0 + virtualGreenScreenTopY: 10 + virtualGreenScreenBottomY: -10 + virtualGreenScreenApplyDepthCulling: 0 + virtualGreenScreenDepthTolerance: 0.2 + _trackingOriginType: 1 + usePositionTracking: 1 + useRotationTracking: 1 + useIPDInPositionTracking: 1 + resetTrackerOnLoad: 1 +--- !u!114 &1594308576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11400020, guid: ce816f2e6abb0504092c23ed9b970dfd, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1594308571} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df9f338034892c44ebb62d97894772f1, type: 3} + m_Name: + m_EditorClassIdentifier: + usePerEyeCameras: 0 + useFixedUpdateForTracking: 0 +--- !u!1 &1795229447 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 100014, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1795229448} + - component: {fileID: 1795229449} + m_Layer: 0 + m_Name: RightEyeAnchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1795229448 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 400014, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1795229447} + 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_Children: [] + m_Father: {fileID: 863221866} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &1795229449 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1795229447} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 2 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!1 &2100857858 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2100857862} + - component: {fileID: 2100857861} + - component: {fileID: 2100857860} + - component: {fileID: 2100857859} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2100857859 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2100857858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &2100857860 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2100857858} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &2100857861 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2100857858} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &2100857862 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2100857858} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_Children: + - {fileID: 1117748290} + - {fileID: 265337588} + m_Father: {fileID: 358702057} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 125} + m_Pivot: {x: 0.5, y: 0.5} diff --git a/Assets/Oculus/VR/Scenes/GearVrControllerTest.unity.meta b/Assets/Oculus/VR/Scenes/GearVrControllerTest.unity.meta new file mode 100644 index 0000000..20a26d6 --- /dev/null +++ b/Assets/Oculus/VR/Scenes/GearVrControllerTest.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d56af3aeb2176e7459f753c1c2e2dd97 +timeCreated: 1486173281 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scenes/Room.unity b/Assets/Oculus/VR/Scenes/Room.unity new file mode 100644 index 0000000..05f30c1 --- /dev/null +++ b/Assets/Oculus/VR/Scenes/Room.unity @@ -0,0 +1,6046 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 7 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 7 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 4 + m_Resolution: 1 + m_BakeResolution: 1 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 0 + m_DirectLightInLightProbes: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightingDataAsset: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: 0.16666666 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &36454512 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 36454513} + - 33: {fileID: 36454516} + - 65: {fileID: 36454515} + - 23: {fileID: 36454514} + - 114: {fileID: 36454518} + - 54: {fileID: 36454517} + m_Layer: 0 + m_Name: Cube (20) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &36454513 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 36454512} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1, y: -0.75, z: -2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 19 +--- !u!23 &36454514 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 36454512} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &36454515 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 36454512} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &36454516 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 36454512} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &36454517 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 36454512} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &36454518 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 36454512} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &66877009 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 66877010} + - 33: {fileID: 66877013} + - 65: {fileID: 66877012} + - 23: {fileID: 66877011} + - 114: {fileID: 66877015} + - 54: {fileID: 66877014} + m_Layer: 0 + m_Name: Cube (29) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &66877010 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 66877009} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -0.75, z: -1} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 28 +--- !u!23 &66877011 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 66877009} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &66877012 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 66877009} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &66877013 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 66877009} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &66877014 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 66877009} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &66877015 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 66877009} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &73524539 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 73524540} + - 33: {fileID: 73524543} + - 65: {fileID: 73524542} + - 23: {fileID: 73524541} + - 114: {fileID: 73524545} + - 54: {fileID: 73524544} + m_Layer: 0 + m_Name: Cube (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &73524540 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 73524539} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1, y: -1.25, z: 2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 7 +--- !u!23 &73524541 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 73524539} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &73524542 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 73524539} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &73524543 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 73524539} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &73524544 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 73524539} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &73524545 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 73524539} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &81954963 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 81954964} + m_Layer: 0 + m_Name: Grabbables + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &81954964 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 81954963} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 +--- !u!1 &107656903 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 107656907} + - 33: {fileID: 107656906} + - 65: {fileID: 107656905} + - 23: {fileID: 107656904} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &107656904 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 107656903} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &107656905 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 107656903} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &107656906 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 107656903} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &107656907 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 107656903} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 5} + m_LocalScale: {x: 5, y: 5, z: 5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 537728712} + m_RootOrder: 2 +--- !u!1 &113500680 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 113500681} + - 33: {fileID: 113500684} + - 65: {fileID: 113500683} + - 23: {fileID: 113500682} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &113500681 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 113500680} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 11 +--- !u!23 &113500682 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 113500680} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &113500683 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 113500680} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &113500684 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 113500680} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &156189377 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 156189378} + - 33: {fileID: 156189381} + - 65: {fileID: 156189380} + - 23: {fileID: 156189379} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &156189378 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 156189377} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -2, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 12 +--- !u!23 &156189379 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 156189377} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &156189380 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 156189377} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &156189381 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 156189377} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &166120574 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 166120575} + m_Layer: 0 + m_Name: Counter + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &166120575 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 166120574} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1605028847} + - {fileID: 524771733} + - {fileID: 1519282573} + - {fileID: 1055723252} + - {fileID: 755868679} + - {fileID: 1962295111} + - {fileID: 243097430} + - {fileID: 261327897} + - {fileID: 383385450} + - {fileID: 1702096973} + - {fileID: 948387091} + - {fileID: 113500681} + - {fileID: 156189378} + - {fileID: 1500551998} + - {fileID: 907087224} + - {fileID: 580231891} + m_Father: {fileID: 346664030} + m_RootOrder: 1 +--- !u!1 &204679842 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 204679846} + - 33: {fileID: 204679845} + - 65: {fileID: 204679844} + - 23: {fileID: 204679843} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &204679843 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 204679842} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &204679844 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 204679842} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &204679845 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 204679842} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &204679846 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 204679842} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -5, z: 0} + m_LocalScale: {x: 5, y: 5, z: 5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 537728712} + m_RootOrder: 0 +--- !u!1 &206189564 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 206189565} + - 33: {fileID: 206189568} + - 65: {fileID: 206189567} + - 23: {fileID: 206189566} + - 114: {fileID: 206189570} + - 54: {fileID: 206189569} + m_Layer: 0 + m_Name: Cube (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &206189565 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 206189564} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -1.25, z: -2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 11 +--- !u!23 &206189566 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 206189564} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &206189567 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 206189564} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &206189568 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 206189564} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &206189569 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 206189564} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &206189570 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 206189564} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &210993500 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 210993504} + - 33: {fileID: 210993503} + - 65: {fileID: 210993502} + - 23: {fileID: 210993501} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &210993501 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 210993500} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &210993502 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 210993500} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &210993503 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 210993500} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &210993504 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 210993500} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5, y: 0, z: 0} + m_LocalScale: {x: 5, y: 5, z: 5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 537728712} + m_RootOrder: 4 +--- !u!1 &224673155 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 224673156} + - 33: {fileID: 224673159} + - 65: {fileID: 224673158} + - 23: {fileID: 224673157} + - 114: {fileID: 224673161} + - 54: {fileID: 224673160} + m_Layer: 0 + m_Name: Cube (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &224673156 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 224673155} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -1.25, z: 2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 10 +--- !u!23 &224673157 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 224673155} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &224673158 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 224673155} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &224673159 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 224673155} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &224673160 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 224673155} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &224673161 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 224673155} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &243097429 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 243097430} + - 33: {fileID: 243097433} + - 65: {fileID: 243097432} + - 23: {fileID: 243097431} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &243097430 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 243097429} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1, y: -2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 6 +--- !u!23 &243097431 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 243097429} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &243097432 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 243097429} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &243097433 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 243097429} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &261327896 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 261327897} + - 33: {fileID: 261327900} + - 65: {fileID: 261327899} + - 23: {fileID: 261327898} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &261327897 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 261327896} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 7 +--- !u!23 &261327898 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 261327896} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &261327899 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 261327896} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &261327900 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 261327896} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &329624603 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 329624604} + - 33: {fileID: 329624607} + - 65: {fileID: 329624606} + - 23: {fileID: 329624605} + - 114: {fileID: 329624609} + - 54: {fileID: 329624608} + m_Layer: 0 + m_Name: Cube (14) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &329624604 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 329624603} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -1.25, z: -2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 13 +--- !u!23 &329624605 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 329624603} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &329624606 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 329624603} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &329624607 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 329624603} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &329624608 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 329624603} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &329624609 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 329624603} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &346664029 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 346664030} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &346664030 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 346664029} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 537728712} + - {fileID: 166120575} + - {fileID: 1925469568} + m_Father: {fileID: 0} + m_RootOrder: 3 +--- !u!1 &358988759 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 358988760} + - 33: {fileID: 358988763} + - 65: {fileID: 358988762} + - 23: {fileID: 358988761} + - 114: {fileID: 358988765} + - 54: {fileID: 358988764} + m_Layer: 0 + m_Name: Cube (26) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &358988760 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358988759} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.75, z: 2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 25 +--- !u!23 &358988761 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358988759} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &358988762 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358988759} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &358988763 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358988759} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &358988764 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358988759} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &358988765 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 358988759} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &383385449 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 383385450} + - 33: {fileID: 383385453} + - 65: {fileID: 383385452} + - 23: {fileID: 383385451} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &383385450 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 383385449} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1, y: -2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 8 +--- !u!23 &383385451 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 383385449} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &383385452 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 383385449} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &383385453 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 383385449} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &383999543 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 383999547} + - 33: {fileID: 383999546} + - 65: {fileID: 383999545} + - 23: {fileID: 383999544} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &383999544 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 383999543} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &383999545 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 383999543} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &383999546 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 383999543} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &383999547 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 383999543} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 5, z: 0} + m_LocalScale: {x: 5, y: 5, z: 5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 537728712} + m_RootOrder: 1 +--- !u!1 &452902406 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 452902407} + - 33: {fileID: 452902410} + - 65: {fileID: 452902409} + - 23: {fileID: 452902408} + - 114: {fileID: 452902412} + - 54: {fileID: 452902411} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &452902407 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 452902406} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -1.25, z: 1} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 0 +--- !u!23 &452902408 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 452902406} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &452902409 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 452902406} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &452902410 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 452902406} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &452902411 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 452902406} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &452902412 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 452902406} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &467809853 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 467809857} + - 33: {fileID: 467809856} + - 65: {fileID: 467809855} + - 23: {fileID: 467809854} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &467809854 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 467809853} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &467809855 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 467809853} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &467809856 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 467809853} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &467809857 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 467809853} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5} + m_LocalScale: {x: 5, y: 5, z: 5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 537728712} + m_RootOrder: 5 +--- !u!1 &524771732 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 524771733} + - 33: {fileID: 524771736} + - 65: {fileID: 524771735} + - 23: {fileID: 524771734} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &524771733 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 524771732} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -2, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 1 +--- !u!23 &524771734 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 524771732} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &524771735 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 524771732} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &524771736 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 524771732} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &537728711 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 537728712} + m_Layer: 0 + m_Name: Room + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &537728712 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 537728711} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 204679846} + - {fileID: 383999547} + - {fileID: 107656907} + - {fileID: 2026317950} + - {fileID: 210993504} + - {fileID: 467809857} + m_Father: {fileID: 346664030} + m_RootOrder: 0 +--- !u!1 &568642233 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 568642234} + - 33: {fileID: 568642237} + - 65: {fileID: 568642236} + - 23: {fileID: 568642235} + - 114: {fileID: 568642239} + - 54: {fileID: 568642238} + m_Layer: 0 + m_Name: Cube (31) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &568642234 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 568642233} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -0.75, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 30 +--- !u!23 &568642235 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 568642233} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &568642236 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 568642233} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &568642237 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 568642233} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &568642238 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 568642233} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &568642239 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 568642233} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &575655890 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 575655891} + - 33: {fileID: 575655894} + - 65: {fileID: 575655893} + - 23: {fileID: 575655892} + - 114: {fileID: 575655896} + - 54: {fileID: 575655895} + m_Layer: 0 + m_Name: Cube (16) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &575655891 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 575655890} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -1.25, z: -2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 15 +--- !u!23 &575655892 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 575655890} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &575655893 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 575655890} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &575655894 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 575655890} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &575655895 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 575655890} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &575655896 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 575655890} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &580231890 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 580231891} + - 33: {fileID: 580231894} + - 65: {fileID: 580231893} + - 23: {fileID: 580231892} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &580231891 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580231890} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -2, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 15 +--- !u!23 &580231892 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580231890} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &580231893 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580231890} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &580231894 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 580231890} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &617808497 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 617808498} + - 33: {fileID: 617808501} + - 65: {fileID: 617808500} + - 23: {fileID: 617808499} + - 114: {fileID: 617808503} + - 54: {fileID: 617808502} + m_Layer: 0 + m_Name: Cube (32) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &617808498 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 617808497} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -0.75, z: 1} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 31 +--- !u!23 &617808499 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 617808497} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &617808500 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 617808497} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &617808501 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 617808497} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &617808502 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 617808497} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &617808503 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 617808497} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &663437231 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 663437232} + - 33: {fileID: 663437235} + - 65: {fileID: 663437234} + - 23: {fileID: 663437233} + - 114: {fileID: 663437237} + - 54: {fileID: 663437236} + m_Layer: 0 + m_Name: Cube (18) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &663437232 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 663437231} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1, y: -0.75, z: -2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 17 +--- !u!23 &663437233 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 663437231} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &663437234 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 663437231} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &663437235 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 663437231} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &663437236 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 663437231} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &663437237 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 663437231} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &684017681 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 684017682} + - 33: {fileID: 684017685} + - 65: {fileID: 684017684} + - 23: {fileID: 684017683} + - 114: {fileID: 684017687} + - 54: {fileID: 684017686} + m_Layer: 0 + m_Name: Cube (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &684017682 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 684017681} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -1.25, z: 2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 6 +--- !u!23 &684017683 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 684017681} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &684017684 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 684017681} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &684017685 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 684017681} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &684017686 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 684017681} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &684017687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 684017681} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &719105579 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 719105580} + - 33: {fileID: 719105583} + - 65: {fileID: 719105582} + - 23: {fileID: 719105581} + - 114: {fileID: 719105585} + - 54: {fileID: 719105584} + m_Layer: 0 + m_Name: Cube (19) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &719105580 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 719105579} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -0.75, z: -2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 18 +--- !u!23 &719105581 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 719105579} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &719105582 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 719105579} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &719105583 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 719105579} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &719105584 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 719105579} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &719105585 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 719105579} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &755868678 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 755868679} + - 33: {fileID: 755868682} + - 65: {fileID: 755868681} + - 23: {fileID: 755868680} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &755868679 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 755868678} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 4 +--- !u!23 &755868680 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 755868678} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &755868681 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 755868678} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &755868682 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 755868678} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &857705792 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 857705793} + - 33: {fileID: 857705796} + - 65: {fileID: 857705795} + - 23: {fileID: 857705794} + - 114: {fileID: 857705798} + - 54: {fileID: 857705797} + m_Layer: 0 + m_Name: Cube (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &857705793 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 857705792} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1, y: -1.25, z: 2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 9 +--- !u!23 &857705794 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 857705792} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &857705795 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 857705792} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &857705796 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 857705792} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &857705797 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 857705792} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &857705798 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 857705792} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &907087223 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 907087224} + - 33: {fileID: 907087227} + - 65: {fileID: 907087226} + - 23: {fileID: 907087225} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &907087224 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 907087223} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 14 +--- !u!23 &907087225 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 907087223} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &907087226 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 907087223} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &907087227 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 907087223} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &943102110 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 943102111} + - 33: {fileID: 943102114} + - 65: {fileID: 943102113} + - 23: {fileID: 943102112} + - 114: {fileID: 943102116} + - 54: {fileID: 943102115} + m_Layer: 0 + m_Name: Cube (27) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &943102111 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 943102110} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -0.75, z: 1} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 26 +--- !u!23 &943102112 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 943102110} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &943102113 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 943102110} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &943102114 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 943102110} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &943102115 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 943102110} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &943102116 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 943102110} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &948387090 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 948387091} + - 33: {fileID: 948387094} + - 65: {fileID: 948387093} + - 23: {fileID: 948387092} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &948387091 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 948387090} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -2, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 10 +--- !u!23 &948387092 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 948387090} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &948387093 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 948387090} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &948387094 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 948387090} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1055723251 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1055723252} + - 33: {fileID: 1055723255} + - 65: {fileID: 1055723254} + - 23: {fileID: 1055723253} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1055723252 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1055723251} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -2, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 3 +--- !u!23 &1055723253 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1055723251} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1055723254 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1055723251} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1055723255 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1055723251} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1065364693 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1065364694} + - 33: {fileID: 1065364697} + - 65: {fileID: 1065364696} + - 23: {fileID: 1065364695} + - 114: {fileID: 1065364699} + - 54: {fileID: 1065364698} + m_Layer: 0 + m_Name: Cube (28) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1065364694 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1065364693} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -0.75, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 27 +--- !u!23 &1065364695 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1065364693} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1065364696 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1065364693} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1065364697 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1065364693} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &1065364698 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1065364693} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1065364699 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1065364693} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &1107310626 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1107310627} + - 33: {fileID: 1107310630} + - 65: {fileID: 1107310629} + - 23: {fileID: 1107310628} + - 114: {fileID: 1107310632} + - 54: {fileID: 1107310631} + m_Layer: 0 + m_Name: Cube (17) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1107310627 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1107310626} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.75, z: -2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 16 +--- !u!23 &1107310628 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1107310626} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1107310629 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1107310626} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1107310630 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1107310626} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &1107310631 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1107310626} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1107310632 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1107310626} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &1206777512 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1206777513} + - 33: {fileID: 1206777516} + - 65: {fileID: 1206777515} + - 23: {fileID: 1206777514} + - 114: {fileID: 1206777518} + - 54: {fileID: 1206777517} + m_Layer: 0 + m_Name: Cube (23) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1206777513 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206777512} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1, y: -0.75, z: 2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 22 +--- !u!23 &1206777514 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206777512} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1206777515 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206777512} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1206777516 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206777512} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &1206777517 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206777512} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1206777518 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1206777512} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &1267950892 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1267950893} + - 33: {fileID: 1267950896} + - 65: {fileID: 1267950895} + - 23: {fileID: 1267950894} + - 114: {fileID: 1267950898} + - 54: {fileID: 1267950897} + m_Layer: 0 + m_Name: Cube (24) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1267950893 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1267950892} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -0.75, z: 2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 23 +--- !u!23 &1267950894 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1267950892} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1267950895 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1267950892} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1267950896 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1267950892} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &1267950897 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1267950892} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1267950898 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1267950892} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &1353144165 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1353144166} + - 33: {fileID: 1353144169} + - 65: {fileID: 1353144168} + - 23: {fileID: 1353144167} + - 114: {fileID: 1353144171} + - 54: {fileID: 1353144170} + m_Layer: 0 + m_Name: Cube (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1353144166 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1353144165} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1, y: -1.25, z: -2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 12 +--- !u!23 &1353144167 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1353144165} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1353144168 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1353144165} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1353144169 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1353144165} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &1353144170 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1353144165} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1353144171 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1353144165} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &1380377873 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1380377874} + - 33: {fileID: 1380377877} + - 65: {fileID: 1380377876} + - 23: {fileID: 1380377875} + - 114: {fileID: 1380377879} + - 54: {fileID: 1380377878} + m_Layer: 0 + m_Name: Cube (21) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1380377874 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380377873} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -0.75, z: -2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 20 +--- !u!23 &1380377875 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380377873} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1380377876 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380377873} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1380377877 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380377873} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &1380377878 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380377873} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1380377879 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380377873} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &1470509161 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1470509163} + - 108: {fileID: 1470509162} + m_Layer: 0 + m_Name: Directional light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1470509162 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1470509161} + m_Enabled: 1 + serializedVersion: 7 + m_Type: 2 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 1 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1470509163 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1470509161} + m_LocalRotation: {x: 0.40821794, y: -0.23456973, z: 0.10938166, w: 0.8754261} + m_LocalPosition: {x: 0.2, y: 0.61, z: 0.208} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1 &1500117049 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1500117050} + - 33: {fileID: 1500117053} + - 65: {fileID: 1500117052} + - 23: {fileID: 1500117051} + - 114: {fileID: 1500117055} + - 54: {fileID: 1500117054} + m_Layer: 0 + m_Name: Cube (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1500117050 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1500117049} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -1.25, z: 2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 8 +--- !u!23 &1500117051 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1500117049} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1500117052 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1500117049} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1500117053 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1500117049} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &1500117054 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1500117049} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1500117055 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1500117049} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &1500551997 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1500551998} + - 33: {fileID: 1500552001} + - 65: {fileID: 1500552000} + - 23: {fileID: 1500551999} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1500551998 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1500551997} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -2, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 13 +--- !u!23 &1500551999 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1500551997} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1500552000 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1500551997} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1500552001 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1500551997} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1519282572 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1519282573} + - 33: {fileID: 1519282576} + - 65: {fileID: 1519282575} + - 23: {fileID: 1519282574} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1519282573 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1519282572} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1, y: -2, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 2 +--- !u!23 &1519282574 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1519282572} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1519282575 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1519282572} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1519282576 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1519282572} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1525608981 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1525608982} + - 33: {fileID: 1525608985} + - 65: {fileID: 1525608984} + - 23: {fileID: 1525608983} + - 114: {fileID: 1525608987} + - 54: {fileID: 1525608986} + m_Layer: 0 + m_Name: Cube (30) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1525608982 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525608981} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -0.75, z: -1} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 29 +--- !u!23 &1525608983 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525608981} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1525608984 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525608981} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1525608985 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525608981} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &1525608986 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525608981} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1525608987 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1525608981} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &1605028846 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1605028847} + - 33: {fileID: 1605028850} + - 65: {fileID: 1605028849} + - 23: {fileID: 1605028848} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1605028847 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605028846} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1, y: -2, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 0 +--- !u!23 &1605028848 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605028846} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1605028849 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605028846} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1605028850 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1605028846} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1657719772 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1657719773} + - 33: {fileID: 1657719776} + - 65: {fileID: 1657719775} + - 23: {fileID: 1657719774} + - 114: {fileID: 1657719778} + - 54: {fileID: 1657719777} + m_Layer: 0 + m_Name: Cube (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1657719773 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1657719772} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -1.25, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 1 +--- !u!23 &1657719774 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1657719772} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1657719775 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1657719772} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1657719776 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1657719772} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &1657719777 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1657719772} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1657719778 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1657719772} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &1702096972 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1702096973} + - 33: {fileID: 1702096976} + - 65: {fileID: 1702096975} + - 23: {fileID: 1702096974} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1702096973 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1702096972} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 9 +--- !u!23 &1702096974 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1702096972} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1702096975 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1702096972} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1702096976 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1702096972} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1744811460 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1744811461} + - 33: {fileID: 1744811464} + - 65: {fileID: 1744811463} + - 23: {fileID: 1744811462} + - 114: {fileID: 1744811466} + - 54: {fileID: 1744811465} + m_Layer: 0 + m_Name: Cube (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1744811461 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1744811460} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -1.25, z: 1} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 5 +--- !u!23 &1744811462 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1744811460} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1744811463 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1744811460} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1744811464 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1744811460} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &1744811465 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1744811460} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1744811466 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1744811460} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &1840087110 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1840087111} + - 33: {fileID: 1840087114} + - 65: {fileID: 1840087113} + - 23: {fileID: 1840087112} + - 114: {fileID: 1840087116} + - 54: {fileID: 1840087115} + m_Layer: 0 + m_Name: Cube (15) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1840087111 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1840087110} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1, y: -1.25, z: -2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 14 +--- !u!23 &1840087112 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1840087110} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1840087113 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1840087110} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1840087114 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1840087110} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &1840087115 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1840087110} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1840087116 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1840087110} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &1908482354 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1908482355} + - 33: {fileID: 1908482358} + - 65: {fileID: 1908482357} + - 23: {fileID: 1908482356} + - 114: {fileID: 1908482360} + - 54: {fileID: 1908482359} + m_Layer: 0 + m_Name: Cube (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1908482355 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1908482354} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -1.25, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 4 +--- !u!23 &1908482356 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1908482354} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1908482357 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1908482354} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1908482358 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1908482354} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &1908482359 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1908482354} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1908482360 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1908482354} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &1925469567 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1925469568} + m_Layer: 0 + m_Name: Grabbables + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1925469568 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1925469567} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 452902407} + - {fileID: 1657719773} + - {fileID: 2013597838} + - {fileID: 2055358989} + - {fileID: 1908482355} + - {fileID: 1744811461} + - {fileID: 684017682} + - {fileID: 73524540} + - {fileID: 1500117050} + - {fileID: 857705793} + - {fileID: 224673156} + - {fileID: 206189565} + - {fileID: 1353144166} + - {fileID: 329624604} + - {fileID: 1840087111} + - {fileID: 575655891} + - {fileID: 1107310627} + - {fileID: 663437232} + - {fileID: 719105580} + - {fileID: 36454513} + - {fileID: 1380377874} + - {fileID: 2137937538} + - {fileID: 1206777513} + - {fileID: 1267950893} + - {fileID: 1967851989} + - {fileID: 358988760} + - {fileID: 943102111} + - {fileID: 1065364694} + - {fileID: 66877010} + - {fileID: 1525608982} + - {fileID: 568642234} + - {fileID: 617808498} + m_Father: {fileID: 346664030} + m_RootOrder: 2 +--- !u!1 &1931687996 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1931687997} + - 33: {fileID: 1931688002} + - 65: {fileID: 1931688001} + - 23: {fileID: 1931688000} + m_Layer: 0 + m_Name: R Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1931687997 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1931687996} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.2, z: 0.3} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 2080101483} + m_RootOrder: 0 +--- !u!23 &1931688000 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1931687996} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1931688001 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1931687996} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1931688002 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1931687996} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1962295110 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1962295111} + - 33: {fileID: 1962295114} + - 65: {fileID: 1962295113} + - 23: {fileID: 1962295112} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1962295111 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1962295110} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -2, z: 2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 166120575} + m_RootOrder: 5 +--- !u!23 &1962295112 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1962295110} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1962295113 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1962295110} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1962295114 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1962295110} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1967851988 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1967851989} + - 33: {fileID: 1967851992} + - 65: {fileID: 1967851991} + - 23: {fileID: 1967851990} + - 114: {fileID: 1967851994} + - 54: {fileID: 1967851993} + m_Layer: 0 + m_Name: Cube (25) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1967851989 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1967851988} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1, y: -0.75, z: 2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 24 +--- !u!23 &1967851990 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1967851988} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1967851991 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1967851988} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1967851992 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1967851988} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &1967851993 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1967851988} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1967851994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1967851988} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &2013597837 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2013597838} + - 33: {fileID: 2013597841} + - 65: {fileID: 2013597840} + - 23: {fileID: 2013597839} + - 114: {fileID: 2013597843} + - 54: {fileID: 2013597842} + m_Layer: 0 + m_Name: Cube (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2013597838 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2013597837} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -1.25, z: -1} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 2 +--- !u!23 &2013597839 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2013597837} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &2013597840 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2013597837} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2013597841 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2013597837} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &2013597842 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2013597837} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &2013597843 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2013597837} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1 &2026317946 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2026317950} + - 33: {fileID: 2026317949} + - 65: {fileID: 2026317948} + - 23: {fileID: 2026317947} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &2026317947 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2026317946} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &2026317948 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2026317946} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2026317949 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2026317946} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2026317950 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2026317946} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5, y: 0, z: 0} + m_LocalScale: {x: 5, y: 5, z: 5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 537728712} + m_RootOrder: 3 +--- !u!1 &2050042247 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2050042248} + - 33: {fileID: 2050042253} + - 65: {fileID: 2050042252} + - 23: {fileID: 2050042251} + m_Layer: 0 + m_Name: L Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2050042248 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2050042247} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.2, z: 0.3} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 2080101484} + m_RootOrder: 0 +--- !u!23 &2050042251 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2050042247} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &2050042252 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2050042247} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2050042253 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2050042247} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2055358988 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2055358989} + - 33: {fileID: 2055358992} + - 65: {fileID: 2055358991} + - 23: {fileID: 2055358990} + - 114: {fileID: 2055358994} + - 54: {fileID: 2055358993} + m_Layer: 0 + m_Name: Cube (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2055358989 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2055358988} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -1.25, z: -1} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 3 +--- !u!23 &2055358990 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2055358988} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &2055358991 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2055358988} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2055358992 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2055358988} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &2055358993 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2055358988} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &2055358994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2055358988} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] +--- !u!1001 &2080101472 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11400010, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: useProfileData + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalPosition.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalPosition.y + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &2080101473 stripped +GameObject: + m_PrefabParentObject: {fileID: 100014, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 2080101472} +--- !u!1 &2080101474 stripped +GameObject: + m_PrefabParentObject: {fileID: 100010, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 2080101472} +--- !u!20 &2080101475 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080101473} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 2 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!20 &2080101476 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080101474} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 1 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!1 &2080101477 stripped +GameObject: + m_PrefabParentObject: {fileID: 134650, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 2080101472} +--- !u!1 &2080101478 stripped +GameObject: + m_PrefabParentObject: {fileID: 168962, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 2080101472} +--- !u!114 &2080101479 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080101477} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fd425c2d06f39bf4899d07c05d0f10eb, type: 3} + m_Name: + m_EditorClassIdentifier: + grabBegin: 0.55 + grabEnd: 0.35 + m_parentHeldObject: 0 + m_gripTransform: {fileID: 1931687997} + m_grabVolumes: + - {fileID: 1931688001} + m_controller: 2 + m_parentTransform: {fileID: 0} +--- !u!54 &2080101480 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080101477} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &2080101481 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080101478} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fd425c2d06f39bf4899d07c05d0f10eb, type: 3} + m_Name: + m_EditorClassIdentifier: + grabBegin: 0.55 + grabEnd: 0.35 + m_parentHeldObject: 0 + m_gripTransform: {fileID: 2050042248} + m_grabVolumes: + - {fileID: 2050042252} + m_controller: 1 + m_parentTransform: {fileID: 0} +--- !u!54 &2080101482 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080101478} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!4 &2080101483 stripped +Transform: + m_PrefabParentObject: {fileID: 481164, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 2080101472} +--- !u!4 &2080101484 stripped +Transform: + m_PrefabParentObject: {fileID: 477154, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 2080101472} +--- !u!1 &2137937537 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 2137937538} + - 33: {fileID: 2137937541} + - 65: {fileID: 2137937540} + - 23: {fileID: 2137937539} + - 114: {fileID: 2137937543} + - 54: {fileID: 2137937542} + m_Layer: 0 + m_Name: Cube (22) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2137937538 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2137937537} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: -0.75, z: 2} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1925469568} + m_RootOrder: 21 +--- !u!23 &2137937539 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2137937537} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedWireframeHidden: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &2137937540 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2137937537} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2137937541 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2137937537} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!54 &2137937542 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2137937537} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &2137937543 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2137937537} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 02d61468f8b77ae4b92c344bc9a600fb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_allowOffhandGrab: 1 + m_snapPosition: 0 + m_snapOrientation: 0 + m_snapOffset: {fileID: 0} + m_grabPoints: [] diff --git a/Assets/Oculus/VR/Scenes/Room.unity.meta b/Assets/Oculus/VR/Scenes/Room.unity.meta new file mode 100644 index 0000000..767f617 --- /dev/null +++ b/Assets/Oculus/VR/Scenes/Room.unity.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 54445976c1dbf1c49bb38ba7eba558e8 +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Oculus/VR/Scenes/Trivial.unity b/Assets/Oculus/VR/Scenes/Trivial.unity new file mode 100644 index 0000000..7c08217 --- /dev/null +++ b/Assets/Oculus/VR/Scenes/Trivial.unity @@ -0,0 +1,306 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: .25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: .5, g: .5, b: .5, a: 1} + m_FogMode: 3 + m_FogDensity: .00999999978 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1} + m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1} + m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: .5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} +--- !u!127 &3 +LevelGameManager: + m_ObjectHideFlags: 0 +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_GIWorkflowMode: 0 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_LightmapSnapshot: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: .5 + agentHeight: 2 + agentSlope: 45 + agentClimb: .400000006 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: .166666672 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &97357214 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 97357218} + - 33: {fileID: 97357217} + - 65: {fileID: 97357216} + - 23: {fileID: 97357215} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &97357215 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 97357214} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_ImportantGI: 0 + m_AutoUVMaxDistance: .5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &97357216 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 97357214} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &97357217 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 97357214} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &97357218 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 97357214} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -8} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 +--- !u!1 &1437328436 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1437328441} + - 20: {fileID: 1437328440} + - 92: {fileID: 1437328439} + - 124: {fileID: 1437328438} + - 81: {fileID: 1437328437} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1437328437 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1437328436} + m_Enabled: 1 +--- !u!124 &1437328438 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1437328436} + m_Enabled: 1 +--- !u!92 &1437328439 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1437328436} + m_Enabled: 1 +--- !u!20 &1437328440 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1437328436} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: .300000012 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: .0219999999 +--- !u!4 &1437328441 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1437328436} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &1781452261 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1781452263} + - 108: {fileID: 1781452262} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1781452262 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1781452261} + m_Enabled: 1 + serializedVersion: 6 + m_Type: 1 + m_Color: {r: 1, g: .956862748, b: .839215696, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_Strength: 1 + m_Bias: .0500000007 + m_NormalBias: .400000006 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_BounceIntensity: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_AreaSize: {x: 1, y: 1} +--- !u!4 &1781452263 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1781452261} + m_LocalRotation: {x: .408217937, y: -.234569728, z: .109381676, w: .875426054} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 diff --git a/Assets/Oculus/VR/Scenes/Trivial.unity.meta b/Assets/Oculus/VR/Scenes/Trivial.unity.meta new file mode 100644 index 0000000..b4a1401 --- /dev/null +++ b/Assets/Oculus/VR/Scenes/Trivial.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d8d21f2460d13554780e4af04a9e0d6e +timeCreated: 1427350486 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scenes/UI.unity b/Assets/Oculus/VR/Scenes/UI.unity new file mode 100644 index 0000000..50c2078 --- /dev/null +++ b/Assets/Oculus/VR/Scenes/UI.unity @@ -0,0 +1,2773 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 8 + m_Resolution: 1 + m_BakeResolution: 1 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 0 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_LightingDataAsset: {fileID: 0} + m_ShadowMaskMode: 2 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666666 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &84518579 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1410866495189614, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 84518580} + - component: {fileID: 84518582} + - component: {fileID: 84518581} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &84518580 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224012455983107908, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 84518579} + 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_Children: [] + m_Father: {fileID: 666710796} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &84518581 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114149122066085498, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 84518579} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &84518582 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222168602258099800, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 84518579} +--- !u!1 &107656903 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 107656907} + - component: {fileID: 107656906} + - component: {fileID: 107656905} + - component: {fileID: 107656904} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &107656904 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 107656903} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &107656905 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 107656903} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &107656906 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 107656903} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &107656907 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 107656903} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 5} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 537728712} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &117158919 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1633363760512892, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 117158920} + - component: {fileID: 117158922} + - component: {fileID: 117158921} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &117158920 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224912351142567644, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 117158919} + 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_Children: [] + m_Father: {fileID: 1272495786} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &117158921 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114738334104451478, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 117158919} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &117158922 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222743391956064958, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 117158919} +--- !u!1 &154823736 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1793122948231964, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 154823737} + - component: {fileID: 154823739} + - component: {fileID: 154823738} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &154823737 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224627209805141530, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 154823736} + m_LocalRotation: {x: 0, y: 0.00000016048051, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.99972576, y: 0.99972415, z: 1} + m_Children: + - {fileID: 1484568472} + m_Father: {fileID: 314378549} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -51, y: 40} + m_SizeDelta: {x: 235.85, y: 69.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &154823738 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114237797550994276, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 154823736} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Strength +--- !u!222 &154823739 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222149160881046440, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 154823736} +--- !u!1 &204679842 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 204679846} + - component: {fileID: 204679845} + - component: {fileID: 204679844} + - component: {fileID: 204679843} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &204679843 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 204679842} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &204679844 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 204679842} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &204679845 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 204679842} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &204679846 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 204679842} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -5, z: 0} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 537728712} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &210993500 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 210993504} + - component: {fileID: 210993503} + - component: {fileID: 210993502} + - component: {fileID: 210993501} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &210993501 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 210993500} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &210993502 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 210993500} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &210993503 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 210993500} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &210993504 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 210993500} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5, y: 0, z: 0} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 537728712} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &232759347 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1951251448566104, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 232759348} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &232759348 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224877946070035678, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 232759347} + 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_Children: + - {fileID: 308838376} + m_Father: {fileID: 1484568472} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &308838375 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1631452936649066, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 308838376} + - component: {fileID: 308838378} + - component: {fileID: 308838377} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &308838376 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224844702304561420, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 308838375} + 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_Children: [] + m_Father: {fileID: 232759348} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &308838377 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114443175932622302, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 308838375} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &308838378 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222379095727919406, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 308838375} +--- !u!1 &314378541 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1286466568756620, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 314378549} + - component: {fileID: 314378548} + - component: {fileID: 314378547} + - component: {fileID: 314378546} + - component: {fileID: 314378544} + - component: {fileID: 314378543} + - component: {fileID: 314378542} + m_Layer: 5 + m_Name: LightCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &314378542 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114221050636851762, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314378541} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &314378543 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222790953300702258, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314378541} +--- !u!114 &314378544 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114079784262412058, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314378541} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 1 +--- !u!114 &314378546 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114055190907109370, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314378541} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7aaf960227867044282d921171d2d7ac, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 3 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 + pointer: {fileID: 0} + sortOrder: 0 +--- !u!114 &314378547 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114564601936112134, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314378541} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 10 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &314378548 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 223854308403297298, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314378541} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 2080101476} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: -100 + m_TargetDisplay: 0 +--- !u!224 &314378549 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224936707579750852, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314378541} + m_LocalRotation: {x: 0.30626857, y: 0, z: 0, w: 0.9519452} + m_LocalPosition: {x: 0, y: 0, z: 1.674} + m_LocalScale: {x: 0.0017944947, y: 0.0017944948, z: 2.0564146} + m_Children: + - {fileID: 1529239508} + - {fileID: 154823737} + - {fileID: 596084221} + - {fileID: 1211057214} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 35.669003, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0.4466219, y: -1.272} + m_SizeDelta: {x: 820.557, y: 350.614} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &346664029 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 346664030} + m_Layer: 0 + m_Name: Environment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &346664030 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 346664029} + 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_Children: + - {fileID: 537728712} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &383999543 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 383999547} + - component: {fileID: 383999546} + - component: {fileID: 383999545} + - component: {fileID: 383999544} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &383999544 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 383999543} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &383999545 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 383999543} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &383999546 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 383999543} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &383999547 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 383999543} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 5, z: 0} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 537728712} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &467809853 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 467809857} + - component: {fileID: 467809856} + - component: {fileID: 467809855} + - component: {fileID: 467809854} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &467809854 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 467809853} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &467809855 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 467809853} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &467809856 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 467809853} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &467809857 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 467809853} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 537728712} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &529157269 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1851142746248022, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 529157270} + - component: {fileID: 529157272} + - component: {fileID: 529157271} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &529157270 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224250314531179288, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 529157269} + 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_Children: [] + m_Father: {fileID: 1365315845} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &529157271 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114866530499855602, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 529157269} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &529157272 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222738096033492602, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 529157269} +--- !u!1 &537728711 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 537728712} + m_Layer: 0 + m_Name: Room + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &537728712 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 537728711} + 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_Children: + - {fileID: 204679846} + - {fileID: 383999547} + - {fileID: 107656907} + - {fileID: 2026317950} + - {fileID: 210993504} + - {fileID: 467809857} + m_Father: {fileID: 346664030} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &596084220 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1827637041739792, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 596084221} + - component: {fileID: 596084223} + - component: {fileID: 596084222} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &596084221 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224956884596539380, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 596084220} + m_LocalRotation: {x: 0, y: 0.00000016048051, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.99972576, y: 0.99972415, z: 1} + m_Children: + - {fileID: 1365315845} + m_Father: {fileID: 314378549} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -51, y: -10} + m_SizeDelta: {x: 235.85, y: 69.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &596084222 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114717215169091202, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 596084220} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Size +--- !u!222 &596084223 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222227348137726606, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 596084220} +--- !u!1 &666710795 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1702945931632494, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 666710796} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &666710796 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224699324860666886, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 666710795} + 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_Children: + - {fileID: 84518580} + m_Father: {fileID: 1365315845} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &671274187 stripped +GameObject: + m_PrefabParentObject: {fileID: 100004, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 2080101472} +--- !u!114 &671274191 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 671274187} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f8e7ff1cdf4c4e74db00c3684108bc9a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EventMask: + serializedVersion: 2 + m_Bits: 32 + sortOrder: 20 +--- !u!1 &746191968 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 168498, guid: b0528537cb83e274c845cae208d6f145, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 746191969} + - component: {fileID: 746191971} + - component: {fileID: 746191970} + - component: {fileID: 746191973} + m_Layer: 5 + m_Name: GazeIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &746191969 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 468498, guid: b0528537cb83e274c845cae208d6f145, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 746191968} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 3.5486445, y: 3.5486465, z: 3.5486465} + m_Children: [] + m_Father: {fileID: 851230874} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &746191970 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 2368498, guid: b0528537cb83e274c845cae208d6f145, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 746191968} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 3fac3b9744290eb4c89b0e4ffd5fe085, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!33 &746191971 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 3368498, guid: b0528537cb83e274c845cae208d6f145, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 746191968} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!114 &746191973 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 746191968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4444ce35d262aa648ad0c425a559b931, type: 3} + m_Name: + m_EditorClassIdentifier: + currentOverlayType: 2 + isDynamic: 0 + isProtectedContent: 0 + currentOverlayShape: 0 + textures: + - {fileID: 0} + - {fileID: 0} +--- !u!1 &851230871 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 168500, guid: b0528537cb83e274c845cae208d6f145, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 851230874} + - component: {fileID: 851230872} + m_Layer: 5 + m_Name: OVRGazePointer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &851230872 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11454254, guid: b0528537cb83e274c845cae208d6f145, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 851230871} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30530ad0e40d0a64ea26d753ee4996ea, type: 3} + m_Name: + m_EditorClassIdentifier: + hideByDefault: 1 + showTimeoutPeriod: 1 + hideTimeoutPeriod: 0.1 + dimOnHideRequest: 1 + depthScaleMultiplier: 0.03 + rayTransform: {fileID: 2080101479} + cursorRadius: 1 +--- !u!4 &851230874 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 468500, guid: b0528537cb83e274c845cae208d6f145, type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 851230871} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_Children: + - {fileID: 746191969} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &867158171 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1453575399696200, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 867158172} + - component: {fileID: 867158174} + - component: {fileID: 867158173} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &867158172 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224434444875997346, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 867158171} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.000000011789} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1211057214} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 23.4, y: -0.000056601} + m_SizeDelta: {x: -46.8, y: -0.000038147} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &867158173 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114327799110482470, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 867158171} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 27 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Enabled +--- !u!222 &867158174 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222319640404033962, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 867158171} +--- !u!1 &1035984978 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1211042071873416, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1035984979} + - component: {fileID: 1035984981} + - component: {fileID: 1035984980} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1035984979 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224934722846214142, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1035984978} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.000000039858} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1410257691} + m_Father: {fileID: 1211057214} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 17.5, y: -16.8} + m_SizeDelta: {x: 35, y: 33.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1035984980 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114950584601116014, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1035984978} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1035984981 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222146609727379898, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1035984978} +--- !u!1 &1211057213 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1425299501438858, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1211057214} + - component: {fileID: 1211057215} + m_Layer: 5 + m_Name: Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1211057214 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224921434058215820, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1211057213} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.0000000057843} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1035984979} + - {fileID: 867158172} + m_Father: {fileID: 314378549} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 30.4, y: -70.5} + m_SizeDelta: {x: 204, y: 33.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1211057215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114002572975853784, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1211057213} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1035984980} + toggleTransition: 1 + graphic: {fileID: 1410257692} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1335849532} + m_MethodName: set_enabled + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null + m_IsOn: 1 +--- !u!1 &1272495785 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1292208530939496, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1272495786} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1272495786 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224955942719613166, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1272495785} + 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_Children: + - {fileID: 117158920} + m_Father: {fileID: 1484568472} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1281705319 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1869557937274144, guid: 50d41190501b1584a932188c446c4e52, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1281705320} + - component: {fileID: 1281705323} + - component: {fileID: 1281705322} + - component: {fileID: 1281705321} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1281705320 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4798649009198828, guid: 50d41190501b1584a932188c446c4e52, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1281705319} + m_LocalRotation: {x: 0.7071065, y: -0.00000018956948, z: -0.000000086186304, w: 0.7071072} + m_LocalPosition: {x: -0, y: -0, z: -0.28399992} + m_LocalScale: {x: 0.18982275, y: 0.18982278, z: 0.18982276} + m_Children: [] + m_Father: {fileID: 1335849533} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1281705321 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 23864222582684130, guid: 50d41190501b1584a932188c446c4e52, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1281705319} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!136 &1281705322 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 136812717881118166, guid: 50d41190501b1584a932188c446c4e52, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1281705319} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1281705323 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 33104462263267660, guid: 50d41190501b1584a932188c446c4e52, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1281705319} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1335849531 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1502986616194404, guid: 50d41190501b1584a932188c446c4e52, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1335849533} + - component: {fileID: 1335849532} + m_Layer: 0 + m_Name: Spotlight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1335849532 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 108874713582670172, guid: 50d41190501b1584a932188c446c4e52, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1335849531} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 3.4098544 + m_Range: 6.54 + m_SpotAngle: 45 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 4 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1335849533 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 4853273549456900, guid: 50d41190501b1584a932188c446c4e52, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1335849531} + m_LocalRotation: {x: -0.085366644, y: -0.35873595, z: -0.032966625, w: 0.92894256} + m_LocalPosition: {x: 0.712, y: -0.37, z: -0.879} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1281705320} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: -10.501, y: -42.231003, z: 0} +--- !u!1 &1365315844 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1467887161863668, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1365315845} + - component: {fileID: 1365315846} + m_Layer: 5 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1365315845 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224991194268729776, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1365315844} + 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: 2.5706496} + m_Children: + - {fileID: 529157270} + - {fileID: 1476285672} + - {fileID: 666710796} + m_Father: {fileID: 596084221} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 113, y: 9} + m_SizeDelta: {x: 215.3, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1365315846 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114974080304098144, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1365315844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -113659843, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 84518581} + m_FillRect: {fileID: 1698888415} + m_HandleRect: {fileID: 84518580} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 180 + m_WholeNumbers: 0 + m_Value: 45 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1335849532} + m_MethodName: set_spotAngle + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!1 &1410257690 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1400426440437290, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1410257691} + - component: {fileID: 1410257693} + - component: {fileID: 1410257692} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1410257691 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224368407954141310, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1410257690} + 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_Children: [] + m_Father: {fileID: 1035984979} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 50, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1410257692 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114351293870195126, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1410257690} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1410257693 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222538107062299344, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1410257690} +--- !u!1 &1449092611 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1719239795085386, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1449092612} + - component: {fileID: 1449092614} + - component: {fileID: 1449092613} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1449092612 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224905620587183002, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1449092611} + 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_Children: [] + m_Father: {fileID: 1484568472} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1449092613 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114620956305824076, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1449092611} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1449092614 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222059916167625686, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1449092611} +--- !u!1 &1470509161 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1470509163} + - component: {fileID: 1470509162} + m_Layer: 0 + m_Name: Directional light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1470509162 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1470509161} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 2 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 1 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1470509163 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1470509161} + m_LocalRotation: {x: 0.40821794, y: -0.23456973, z: 0.10938166, w: 0.8754261} + m_LocalPosition: {x: 0.2, y: 0.61, z: 0.208} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1476285671 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1278096029339308, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1476285672} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1476285672 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224430737903737794, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1476285671} + 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_Children: + - {fileID: 1698888415} + m_Father: {fileID: 1365315845} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1484568471 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1332706582247612, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1484568472} + - component: {fileID: 1484568473} + m_Layer: 5 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1484568472 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224015012170540542, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1484568471} + 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: 2.5706496} + m_Children: + - {fileID: 1449092612} + - {fileID: 232759348} + - {fileID: 1272495786} + m_Father: {fileID: 154823737} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 113, y: 9} + m_SizeDelta: {x: 215.3, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1484568473 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114792581645112844, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1484568471} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -113659843, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 117158921} + m_FillRect: {fileID: 308838376} + m_HandleRect: {fileID: 117158920} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 8 + m_WholeNumbers: 0 + m_Value: 0.5 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1335849532} + m_MethodName: set_intensity + m_Mode: 0 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0.5 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!1 &1529239507 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1297614045655638, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1529239508} + - component: {fileID: 1529239510} + - component: {fileID: 1529239509} + m_Layer: 5 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1529239508 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224040488474665906, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1529239507} + 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_Children: [] + m_Father: {fileID: 314378549} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1529239509 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114857836229995698, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1529239507} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: a26663690a6580440963aa46e582c35b, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1529239510 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222447602114667058, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1529239507} +--- !u!1 &1698888414 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1165463738221572, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1698888415} + - component: {fileID: 1698888417} + - component: {fileID: 1698888416} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1698888415 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224512758831307302, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1698888414} + 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_Children: [] + m_Father: {fileID: 1476285672} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1698888416 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114871144349642598, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1698888414} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1698888417 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222546118480493458, guid: c2f8d110e56579842ac6367b607a04c1, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1698888414} +--- !u!1 &1764992132 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1764992135} + - component: {fileID: 1764992134} + - component: {fileID: 1764992133} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1764992133 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1764992132} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8f1a9a1d119a5944aacfb87d1ec283a2, type: 3} + m_Name: + m_EditorClassIdentifier: + rayTransform: {fileID: 2080101479} + joyPadClickButton: 1 + gazeClickKey: 32 + performSphereCastForGazepointer: 1 + matchNormalOnPhysicsColliders: 0 + useRightStickScroll: 1 + rightStickDeadZone: 0.15 + useSwipeScroll: 1 + swipeDragThreshold: 1 + swipeDragScale: 1 + InvertSwipeXAxis: 1 + angleDragThreshold: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_AllowActivationOnMobileDevice: 1 +--- !u!114 &1764992134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1764992132} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 0 + m_DragThreshold: 5 +--- !u!4 &1764992135 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1764992132} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.0750911, y: 0.6187066, z: -1.8188953} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2026317946 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2026317950} + - component: {fileID: 2026317949} + - component: {fileID: 2026317948} + - component: {fileID: 2026317947} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &2026317947 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2026317946} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 62db2d638434d5a488dfb1e789e34b37, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + 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 +--- !u!65 &2026317948 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2026317946} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &2026317949 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2026317946} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2026317950 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2026317946} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5, y: 0, z: 0} + m_LocalScale: {x: 5, y: 5, z: 5} + m_Children: [] + m_Father: {fileID: 537728712} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &2080101472 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400006, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11400010, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: useProfileData + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400008, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalPosition.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400002, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + propertyPath: m_LocalPosition.y + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &2080101473 stripped +GameObject: + m_PrefabParentObject: {fileID: 100014, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 2080101472} +--- !u!1 &2080101474 stripped +GameObject: + m_PrefabParentObject: {fileID: 100010, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 2080101472} +--- !u!20 &2080101475 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080101473} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 2 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!20 &2080101476 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080101474} + m_Enabled: 0 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 1 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!1 &2080101477 stripped +GameObject: + m_PrefabParentObject: {fileID: 134650, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 2080101472} +--- !u!1 &2080101478 stripped +GameObject: + m_PrefabParentObject: {fileID: 168962, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 2080101472} +--- !u!4 &2080101479 stripped +Transform: + m_PrefabParentObject: {fileID: 400012, guid: ce816f2e6abb0504092c23ed9b970dfd, type: 2} + m_PrefabInternal: {fileID: 2080101472} +--- !u!54 &2080101480 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080101477} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!54 &2080101482 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2080101478} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 diff --git a/Assets/Oculus/VR/Scenes/UI.unity.meta b/Assets/Oculus/VR/Scenes/UI.unity.meta new file mode 100644 index 0000000..93d9292 --- /dev/null +++ b/Assets/Oculus/VR/Scenes/UI.unity.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 1f4d3ae64a10d434db219de8b14348e1 +DefaultImporter: + userData: + assetBundleName: diff --git a/Assets/Oculus/VR/Scripts.meta b/Assets/Oculus/VR/Scripts.meta new file mode 100644 index 0000000..6a0ab8e --- /dev/null +++ b/Assets/Oculus/VR/Scripts.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 859d6d3fcffe1bb41ac06f93d267fc9d +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Oculus/VR/Scripts/Composition.meta b/Assets/Oculus/VR/Scripts/Composition.meta new file mode 100644 index 0000000..758acd7 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Composition.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1f92828e69374384b8cb197653871a6e +folderAsset: yes +timeCreated: 1502989983 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Composition/OVRCameraComposition.cs b/Assets/Oculus/VR/Scripts/Composition/OVRCameraComposition.cs new file mode 100644 index 0000000..c67d084 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Composition/OVRCameraComposition.cs @@ -0,0 +1,294 @@ +using UnityEngine; +using System.Collections; + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + +public abstract class OVRCameraComposition : OVRComposition { + protected GameObject cameraFramePlaneObject; + protected float cameraFramePlaneDistance; + + protected readonly bool hasCameraDeviceOpened = false; + protected readonly bool useDynamicLighting = false; + + internal readonly OVRPlugin.CameraDevice cameraDevice = OVRPlugin.CameraDevice.WebCamera0; + + private OVRCameraRig cameraRig; + + private Mesh boundaryMesh = null; + private float boundaryMeshTopY = 0.0f; + private float boundaryMeshBottomY = 0.0f; + private OVRManager.VirtualGreenScreenType boundaryMeshType = OVRManager.VirtualGreenScreenType.Off; + + protected OVRCameraComposition(OVRManager.CameraDevice inCameraDevice, bool inUseDynamicLighting, OVRManager.DepthQuality depthQuality) + { + cameraDevice = OVRCompositionUtil.ConvertCameraDevice(inCameraDevice); + + Debug.Assert(!hasCameraDeviceOpened); + Debug.Assert(!OVRPlugin.IsCameraDeviceAvailable(cameraDevice) || !OVRPlugin.HasCameraDeviceOpened(cameraDevice)); + hasCameraDeviceOpened = false; + useDynamicLighting = inUseDynamicLighting; + + bool cameraSupportsDepth = OVRPlugin.DoesCameraDeviceSupportDepth(cameraDevice); + if (useDynamicLighting && !cameraSupportsDepth) + { + Debug.LogWarning("The camera device doesn't support depth. The result of dynamic lighting might not be correct"); + } + + if (OVRPlugin.IsCameraDeviceAvailable(cameraDevice)) + { + OVRPlugin.CameraExtrinsics extrinsics; + OVRPlugin.CameraIntrinsics intrinsics; + if (OVRPlugin.GetExternalCameraCount() > 0 && OVRPlugin.GetMixedRealityCameraInfo(0, out extrinsics, out intrinsics)) + { + OVRPlugin.SetCameraDevicePreferredColorFrameSize(cameraDevice, intrinsics.ImageSensorPixelResolution.w, intrinsics.ImageSensorPixelResolution.h); + } + + if (useDynamicLighting) + { + OVRPlugin.SetCameraDeviceDepthSensingMode(cameraDevice, OVRPlugin.CameraDeviceDepthSensingMode.Fill); + OVRPlugin.CameraDeviceDepthQuality quality = OVRPlugin.CameraDeviceDepthQuality.Medium; + if (depthQuality == OVRManager.DepthQuality.Low) + { + quality = OVRPlugin.CameraDeviceDepthQuality.Low; + } + else if (depthQuality == OVRManager.DepthQuality.Medium) + { + quality = OVRPlugin.CameraDeviceDepthQuality.Medium; + } + else if (depthQuality == OVRManager.DepthQuality.High) + { + quality = OVRPlugin.CameraDeviceDepthQuality.High; + } + else + { + Debug.LogWarning("Unknown depth quality"); + } + OVRPlugin.SetCameraDevicePreferredDepthQuality(cameraDevice, quality); + } + + OVRPlugin.OpenCameraDevice(cameraDevice); + if (OVRPlugin.HasCameraDeviceOpened(cameraDevice)) + { + hasCameraDeviceOpened = true; + } + } + } + + public override void Cleanup() + { + OVRCompositionUtil.SafeDestroy(ref cameraFramePlaneObject); + if (hasCameraDeviceOpened) + { + OVRPlugin.CloseCameraDevice(cameraDevice); + } + } + + public override void RecenterPose() + { + boundaryMesh = null; + } + + protected void CreateCameraFramePlaneObject(GameObject parentObject, Camera mixedRealityCamera, bool useDynamicLighting) + { + Debug.Assert(cameraFramePlaneObject == null); + cameraFramePlaneObject = GameObject.CreatePrimitive(PrimitiveType.Quad); + cameraFramePlaneObject.name = "MRCameraFrame"; + cameraFramePlaneObject.transform.parent = parentObject.transform; + cameraFramePlaneObject.GetComponent().enabled = false; + cameraFramePlaneObject.GetComponent().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; + Material cameraFrameMaterial = new Material(Shader.Find(useDynamicLighting ? "Oculus/OVRMRCameraFrameLit" : "Oculus/OVRMRCameraFrame")); + cameraFramePlaneObject.GetComponent().material = cameraFrameMaterial; + cameraFrameMaterial.SetColor("_Color", Color.white); + cameraFrameMaterial.SetFloat("_Visible", 0.0f); + cameraFramePlaneObject.transform.localScale = new Vector3(4, 4, 4); + cameraFramePlaneObject.SetActive(true); + OVRCameraFrameCompositionManager cameraFrameCompositionManager = mixedRealityCamera.gameObject.AddComponent(); + cameraFrameCompositionManager.cameraFrameGameObj = cameraFramePlaneObject; + cameraFrameCompositionManager.composition = this; + } + + private bool nullcameraRigWarningDisplayed = false; + protected void UpdateCameraFramePlaneObject(Camera mainCamera, Camera mixedRealityCamera, RenderTexture boundaryMeshMaskTexture) + { + bool hasError = false; + Material cameraFrameMaterial = cameraFramePlaneObject.GetComponent().material; + Texture2D colorTexture = Texture2D.blackTexture; + Texture2D depthTexture = Texture2D.whiteTexture; + if (OVRPlugin.IsCameraDeviceColorFrameAvailable(cameraDevice)) + { + colorTexture = OVRPlugin.GetCameraDeviceColorFrameTexture(cameraDevice); + } + else + { + Debug.LogWarning("Camera: color frame not ready"); + hasError = true; + } + bool cameraSupportsDepth = OVRPlugin.DoesCameraDeviceSupportDepth(cameraDevice); + if (useDynamicLighting && cameraSupportsDepth) + { + if (OVRPlugin.IsCameraDeviceDepthFrameAvailable(cameraDevice)) + { + depthTexture = OVRPlugin.GetCameraDeviceDepthFrameTexture(cameraDevice); + } + else + { + Debug.LogWarning("Camera: depth frame not ready"); + hasError = true; + } + } + if (!hasError) + { + Vector3 offset = mainCamera.transform.position - mixedRealityCamera.transform.position; + float distance = Vector3.Dot(mixedRealityCamera.transform.forward, offset); + cameraFramePlaneDistance = distance; + + cameraFramePlaneObject.transform.position = mixedRealityCamera.transform.position + mixedRealityCamera.transform.forward * distance; + cameraFramePlaneObject.transform.rotation = mixedRealityCamera.transform.rotation; + + float tanFov = Mathf.Tan(mixedRealityCamera.fieldOfView * Mathf.Deg2Rad * 0.5f); + cameraFramePlaneObject.transform.localScale = new Vector3(distance * mixedRealityCamera.aspect * tanFov * 2.0f, distance * tanFov * 2.0f, 1.0f); + + float worldHeight = distance * tanFov * 2.0f; + float worldWidth = worldHeight * mixedRealityCamera.aspect; + + float cullingDistance = float.MaxValue; + + cameraRig = null; + if (OVRManager.instance.virtualGreenScreenType != OVRManager.VirtualGreenScreenType.Off) + { + cameraRig = mainCamera.GetComponentInParent(); + if (cameraRig != null) + { + if (cameraRig.centerEyeAnchor == null) + { + cameraRig = null; + } + } + RefreshBoundaryMesh(mixedRealityCamera, out cullingDistance); + } + + cameraFrameMaterial.mainTexture = colorTexture; + cameraFrameMaterial.SetTexture("_DepthTex", depthTexture); + cameraFrameMaterial.SetVector("_FlipParams", new Vector4((OVRManager.instance.flipCameraFrameHorizontally ? 1.0f : 0.0f), (OVRManager.instance.flipCameraFrameVertically ? 1.0f : 0.0f), 0.0f, 0.0f)); + cameraFrameMaterial.SetColor("_ChromaKeyColor", OVRManager.instance.chromaKeyColor); + cameraFrameMaterial.SetFloat("_ChromaKeySimilarity", OVRManager.instance.chromaKeySimilarity); + cameraFrameMaterial.SetFloat("_ChromaKeySmoothRange", OVRManager.instance.chromaKeySmoothRange); + cameraFrameMaterial.SetFloat("_ChromaKeySpillRange", OVRManager.instance.chromaKeySpillRange); + cameraFrameMaterial.SetVector("_TextureDimension", new Vector4(colorTexture.width, colorTexture.height, 1.0f / colorTexture.width, 1.0f / colorTexture.height)); + cameraFrameMaterial.SetVector("_TextureWorldSize", new Vector4(worldWidth, worldHeight, 0, 0)); + cameraFrameMaterial.SetFloat("_SmoothFactor", OVRManager.instance.dynamicLightingSmoothFactor); + cameraFrameMaterial.SetFloat("_DepthVariationClamp", OVRManager.instance.dynamicLightingDepthVariationClampingValue); + cameraFrameMaterial.SetFloat("_CullingDistance", cullingDistance); + if (OVRManager.instance.virtualGreenScreenType == OVRManager.VirtualGreenScreenType.Off || boundaryMesh == null || boundaryMeshMaskTexture == null) + { + cameraFrameMaterial.SetTexture("_MaskTex", Texture2D.whiteTexture); + } + else + { + if (cameraRig == null) + { + if (!nullcameraRigWarningDisplayed) + { + Debug.LogWarning("Could not find the OVRCameraRig/CenterEyeAnchor object. Please check if the OVRCameraRig has been setup properly. The virtual green screen has been temporarily disabled"); + nullcameraRigWarningDisplayed = true; + } + + cameraFrameMaterial.SetTexture("_MaskTex", Texture2D.whiteTexture); + } + else + { + if (nullcameraRigWarningDisplayed) + { + Debug.Log("OVRCameraRig/CenterEyeAnchor object found. Virtual green screen is activated"); + nullcameraRigWarningDisplayed = false; + } + + cameraFrameMaterial.SetTexture("_MaskTex", boundaryMeshMaskTexture); + } + } + } + } + + protected void RefreshBoundaryMesh(Camera camera, out float cullingDistance) + { + float depthTolerance = OVRManager.instance.virtualGreenScreenApplyDepthCulling ? OVRManager.instance.virtualGreenScreenDepthTolerance : float.PositiveInfinity; + cullingDistance = OVRCompositionUtil.GetMaximumBoundaryDistance(camera, OVRCompositionUtil.ToBoundaryType(OVRManager.instance.virtualGreenScreenType)) + depthTolerance; + if (boundaryMesh == null || boundaryMeshType != OVRManager.instance.virtualGreenScreenType || boundaryMeshTopY != OVRManager.instance.virtualGreenScreenTopY || boundaryMeshBottomY != OVRManager.instance.virtualGreenScreenBottomY) + { + boundaryMeshTopY = OVRManager.instance.virtualGreenScreenTopY; + boundaryMeshBottomY = OVRManager.instance.virtualGreenScreenBottomY; + boundaryMesh = OVRCompositionUtil.BuildBoundaryMesh(OVRCompositionUtil.ToBoundaryType(OVRManager.instance.virtualGreenScreenType), boundaryMeshTopY, boundaryMeshBottomY); + boundaryMeshType = OVRManager.instance.virtualGreenScreenType; + + // Creating GameObject for testing purpose only + //GameObject boundaryMeshObject = new GameObject("BoundaryMeshObject"); + //boundaryMeshObject.AddComponent().mesh = boundaryMesh; + //boundaryMeshObject.AddComponent(); + } + } + + public class OVRCameraFrameCompositionManager : MonoBehaviour + { + public GameObject cameraFrameGameObj; + public OVRCameraComposition composition; + public RenderTexture boundaryMeshMaskTexture; + private Material cameraFrameMaterial; + private Material whiteMaterial; + + void Start() + { + Shader shader = Shader.Find("Oculus/Unlit"); + if (!shader) + { + Debug.LogError("Oculus/Unlit shader does not exist"); + return; + } + whiteMaterial = new Material(shader); + whiteMaterial.color = Color.white; + } + + void OnPreRender() + { + if (OVRManager.instance.virtualGreenScreenType != OVRManager.VirtualGreenScreenType.Off && boundaryMeshMaskTexture != null && composition.boundaryMesh != null) + { + RenderTexture oldRT = RenderTexture.active; + RenderTexture.active = boundaryMeshMaskTexture; + + // The camera matrices haven't been setup when OnPreRender() is executed. Load the projection manually + GL.PushMatrix(); + GL.LoadProjectionMatrix(GetComponent().projectionMatrix); + + GL.Clear(false, true, Color.black); + + for (int i = 0; i < whiteMaterial.passCount; ++i) + { + if (whiteMaterial.SetPass(i)) + { + Graphics.DrawMeshNow(composition.boundaryMesh, composition.cameraRig.ComputeTrackReferenceMatrix()); + } + } + + GL.PopMatrix(); + RenderTexture.active = oldRT; + } + + if (cameraFrameGameObj) + { + if (cameraFrameMaterial == null) + cameraFrameMaterial = cameraFrameGameObj.GetComponent().material; + cameraFrameMaterial.SetFloat("_Visible", 1.0f); + } + } + void OnPostRender() + { + if (cameraFrameGameObj) + { + Debug.Assert(cameraFrameMaterial); + cameraFrameMaterial.SetFloat("_Visible", 0.0f); + } + } + } + +} + +#endif diff --git a/Assets/Oculus/VR/Scripts/Composition/OVRCameraComposition.cs.meta b/Assets/Oculus/VR/Scripts/Composition/OVRCameraComposition.cs.meta new file mode 100644 index 0000000..60b864f --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Composition/OVRCameraComposition.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 70818bad1fe6859439b190a61dfb6eb8 +timeCreated: 1503089686 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Composition/OVRComposition.cs b/Assets/Oculus/VR/Scripts/Composition/OVRComposition.cs new file mode 100644 index 0000000..179ca68 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Composition/OVRComposition.cs @@ -0,0 +1,56 @@ +using UnityEngine; +using System.Collections; + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + +public abstract class OVRComposition { + + public abstract OVRManager.CompositionMethod CompositionMethod(); + + public abstract void Update(Camera mainCamera); + public abstract void Cleanup(); + + public virtual void RecenterPose() { } + + protected bool usingLastAttachedNodePose = false; + protected OVRPose lastAttachedNodePose = new OVRPose(); // Sometimes the attach node pose is not readable (lose tracking, low battery, etc.) Use the last pose instead when it happens + + internal OVRPose ComputeCameraWorldSpacePose(OVRPlugin.CameraExtrinsics extrinsics) + { + OVRPose worldSpacePose = new OVRPose(); + OVRPose trackingSpacePose = new OVRPose(); + + OVRPose cameraTrackingSpacePose = extrinsics.RelativePose.ToOVRPose(); + trackingSpacePose = cameraTrackingSpacePose; + + if (extrinsics.AttachedToNode != OVRPlugin.Node.None && OVRPlugin.GetNodePresent(extrinsics.AttachedToNode)) + { + if (usingLastAttachedNodePose) + { + Debug.Log("The camera attached node get tracked"); + usingLastAttachedNodePose = false; + } + OVRPose attachedNodePose = OVRPlugin.GetNodePose(extrinsics.AttachedToNode, OVRPlugin.Step.Render).ToOVRPose(); + lastAttachedNodePose = attachedNodePose; + trackingSpacePose = attachedNodePose * trackingSpacePose; + } + else + { + if (extrinsics.AttachedToNode != OVRPlugin.Node.None) + { + if (!usingLastAttachedNodePose) + { + Debug.LogWarning("The camera attached node could not be tracked, using the last pose"); + usingLastAttachedNodePose = true; + } + trackingSpacePose = lastAttachedNodePose * trackingSpacePose; + } + } + + worldSpacePose = OVRExtensions.ToWorldSpacePose(trackingSpacePose); + return worldSpacePose; + } + +} + +#endif diff --git a/Assets/Oculus/VR/Scripts/Composition/OVRComposition.cs.meta b/Assets/Oculus/VR/Scripts/Composition/OVRComposition.cs.meta new file mode 100644 index 0000000..77ca9d0 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Composition/OVRComposition.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 829a382f3380d4b46ad9670463232a0b +timeCreated: 1502990005 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Composition/OVRCompositionUtil.cs b/Assets/Oculus/VR/Scripts/Composition/OVRCompositionUtil.cs new file mode 100644 index 0000000..2e4d61c --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Composition/OVRCompositionUtil.cs @@ -0,0 +1,149 @@ +using UnityEngine; +using System.Collections.Generic; + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + +internal class OVRCompositionUtil { + + public static void SafeDestroy(GameObject obj) + { + if (Application.isPlaying) + { + GameObject.Destroy(obj); + } + else + { + GameObject.DestroyImmediate(obj); + } + } + + public static void SafeDestroy(ref GameObject obj) + { + SafeDestroy(obj); + obj = null; + } + + public static OVRPlugin.CameraDevice ConvertCameraDevice(OVRManager.CameraDevice cameraDevice) + { + if (cameraDevice == OVRManager.CameraDevice.WebCamera0) + { + return OVRPlugin.CameraDevice.WebCamera0; + } + else if (cameraDevice == OVRManager.CameraDevice.WebCamera1) + { + return OVRPlugin.CameraDevice.WebCamera1; + } + else if (cameraDevice == OVRManager.CameraDevice.ZEDCamera) + { + return OVRPlugin.CameraDevice.ZEDCamera; + } + else + { + return OVRPlugin.CameraDevice.None; + } + } + + public static OVRBoundary.BoundaryType ToBoundaryType(OVRManager.VirtualGreenScreenType type) + { + if (type == OVRManager.VirtualGreenScreenType.OuterBoundary) + { + return OVRBoundary.BoundaryType.OuterBoundary; + } + else if (type == OVRManager.VirtualGreenScreenType.PlayArea) + { + return OVRBoundary.BoundaryType.PlayArea; + } + else + { + Debug.LogWarning("Unmatched VirtualGreenScreenType"); + return OVRBoundary.BoundaryType.OuterBoundary; + } + } + + public static Vector3 GetWorldPosition(Vector3 trackingSpacePosition) + { + OVRPose tsPose; + tsPose.position = trackingSpacePosition; + tsPose.orientation = Quaternion.identity; + OVRPose wsPose = OVRExtensions.ToWorldSpacePose(tsPose); + Vector3 pos = wsPose.position; + return pos; + } + + public static float GetMaximumBoundaryDistance(Camera camera, OVRBoundary.BoundaryType boundaryType) + { + if (!OVRManager.boundary.GetConfigured()) + { + return float.MaxValue; + } + + Vector3[] geometry = OVRManager.boundary.GetGeometry(boundaryType); + if (geometry.Length == 0) + { + return float.MaxValue; + } + + float maxDistance = -float.MaxValue; + foreach (Vector3 v in geometry) + { + Vector3 pos = GetWorldPosition(v); + float distance = Vector3.Dot(camera.transform.forward, pos); + if (maxDistance < distance) + { + maxDistance = distance; + } + } + return maxDistance; + } + + public static Mesh BuildBoundaryMesh(OVRBoundary.BoundaryType boundaryType, float topY, float bottomY) + { + if (!OVRManager.boundary.GetConfigured()) + { + return null; + } + + List geometry = new List(OVRManager.boundary.GetGeometry(boundaryType)); + if (geometry.Count == 0) + { + return null; + } + + geometry.Add(geometry[0]); + int numPoints = geometry.Count; + + Vector3[] vertices = new Vector3[numPoints * 2]; + Vector2[] uvs = new Vector2[numPoints * 2]; + for (int i = 0; i < numPoints; ++i) + { + Vector3 v = geometry[i]; + vertices[i] = new Vector3(v.x, bottomY, v.z); + vertices[i + numPoints] = new Vector3(v.x, topY, v.z); + uvs[i] = new Vector2((float)i / (numPoints - 1), 0.0f); + uvs[i + numPoints] = new Vector2(uvs[i].x, 1.0f); + } + + int[] triangles = new int[(numPoints - 1) * 2 * 3]; + for (int i = 0; i < numPoints - 1; ++i) + { + // the geometry is built clockwised. only the back faces should be rendered in the camera frame mask + + triangles[i * 6 + 0] = i; + triangles[i * 6 + 1] = i + numPoints; + triangles[i * 6 + 2] = i + 1 + numPoints; + + triangles[i * 6 + 3] = i; + triangles[i * 6 + 4] = i + 1 + numPoints; + triangles[i * 6 + 5] = i + 1; + } + + Mesh mesh = new Mesh(); + mesh.vertices = vertices; + mesh.uv = uvs; + mesh.triangles = triangles; + return mesh; + } + +} + +#endif diff --git a/Assets/Oculus/VR/Scripts/Composition/OVRCompositionUtil.cs.meta b/Assets/Oculus/VR/Scripts/Composition/OVRCompositionUtil.cs.meta new file mode 100644 index 0000000..e59ac18 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Composition/OVRCompositionUtil.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 43bf91d46b2eb874a842be95aee2cc9a +timeCreated: 1502992822 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Composition/OVRDirectComposition.cs b/Assets/Oculus/VR/Scripts/Composition/OVRDirectComposition.cs new file mode 100644 index 0000000..fbc4e46 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Composition/OVRDirectComposition.cs @@ -0,0 +1,118 @@ +using UnityEngine; +using System.Collections; + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + +public class OVRDirectComposition : OVRCameraComposition +{ + public GameObject directCompositionCameraGameObject; + public Camera directCompositionCamera; + public RenderTexture boundaryMeshMaskTexture = null; + + public override OVRManager.CompositionMethod CompositionMethod() { return OVRManager.CompositionMethod.Direct; } + + public OVRDirectComposition(GameObject parentObject, Camera mainCamera, OVRManager.CameraDevice cameraDevice, bool useDynamicLighting, OVRManager.DepthQuality depthQuality) + : base(cameraDevice, useDynamicLighting, depthQuality) + { + Debug.Assert(directCompositionCameraGameObject == null); + directCompositionCameraGameObject = new GameObject(); + directCompositionCameraGameObject.name = "MRDirectCompositionCamera"; + directCompositionCameraGameObject.transform.parent = parentObject.transform; + directCompositionCamera = directCompositionCameraGameObject.AddComponent(); + directCompositionCamera.stereoTargetEye = StereoTargetEyeMask.None; + directCompositionCamera.depth = float.MaxValue; + directCompositionCamera.rect = new Rect(0.0f, 0.0f, 1.0f, 1.0f); + directCompositionCamera.clearFlags = mainCamera.clearFlags; + directCompositionCamera.backgroundColor = mainCamera.backgroundColor; + directCompositionCamera.cullingMask = mainCamera.cullingMask & (~OVRManager.instance.extraHiddenLayers); + directCompositionCamera.nearClipPlane = mainCamera.nearClipPlane; + directCompositionCamera.farClipPlane = mainCamera.farClipPlane; + + + if (!hasCameraDeviceOpened) + { + Debug.LogError("Unable to open camera device " + cameraDevice); + } + else + { + Debug.Log("DirectComposition activated : useDynamicLighting " + (useDynamicLighting ? "ON" : "OFF")); + CreateCameraFramePlaneObject(parentObject, directCompositionCamera, useDynamicLighting); + } + } + + public override void Update(Camera mainCamera) + { + if (!hasCameraDeviceOpened) + { + return; + } + + if (!OVRPlugin.SetHandNodePoseStateLatency(OVRManager.instance.handPoseStateLatency)) + { + Debug.LogWarning("HandPoseStateLatency is invalid. Expect a value between 0.0 to 0.5, get " + OVRManager.instance.handPoseStateLatency); + } + + directCompositionCamera.clearFlags = mainCamera.clearFlags; + directCompositionCamera.backgroundColor = mainCamera.backgroundColor; + directCompositionCamera.cullingMask = mainCamera.cullingMask & (~OVRManager.instance.extraHiddenLayers); + directCompositionCamera.nearClipPlane = mainCamera.nearClipPlane; + directCompositionCamera.farClipPlane = mainCamera.farClipPlane; + + if (OVRMixedReality.useFakeExternalCamera || OVRPlugin.GetExternalCameraCount() == 0) + { + OVRPose worldSpacePose = new OVRPose(); + OVRPose trackingSpacePose = new OVRPose(); + trackingSpacePose.position = OVRMixedReality.fakeCameraPositon; + trackingSpacePose.orientation = OVRMixedReality.fakeCameraRotation; + worldSpacePose = OVRExtensions.ToWorldSpacePose(trackingSpacePose); + + directCompositionCamera.fieldOfView = OVRMixedReality.fakeCameraFov; + directCompositionCamera.aspect = OVRMixedReality.fakeCameraAspect; + directCompositionCamera.transform.FromOVRPose(worldSpacePose); + } + else + { + OVRPlugin.CameraExtrinsics extrinsics; + OVRPlugin.CameraIntrinsics intrinsics; + + // So far, only support 1 camera for MR and always use camera index 0 + if (OVRPlugin.GetMixedRealityCameraInfo(0, out extrinsics, out intrinsics)) + { + OVRPose worldSpacePose = ComputeCameraWorldSpacePose(extrinsics); + + float fovY = Mathf.Atan(intrinsics.FOVPort.UpTan) * Mathf.Rad2Deg * 2; + float aspect = intrinsics.FOVPort.LeftTan / intrinsics.FOVPort.UpTan; + directCompositionCamera.fieldOfView = fovY; + directCompositionCamera.aspect = aspect; + directCompositionCamera.transform.FromOVRPose(worldSpacePose); + } + else + { + Debug.LogWarning("Failed to get external camera information"); + } + } + + if (hasCameraDeviceOpened) + { + if (boundaryMeshMaskTexture == null || boundaryMeshMaskTexture.width != Screen.width || boundaryMeshMaskTexture.height != Screen.height) + { + boundaryMeshMaskTexture = new RenderTexture(Screen.width, Screen.height, 0, RenderTextureFormat.R8); + boundaryMeshMaskTexture.Create(); + } + UpdateCameraFramePlaneObject(mainCamera, directCompositionCamera, boundaryMeshMaskTexture); + directCompositionCamera.GetComponent().boundaryMeshMaskTexture = boundaryMeshMaskTexture; + } + } + + public override void Cleanup() + { + base.Cleanup(); + + OVRCompositionUtil.SafeDestroy(ref directCompositionCameraGameObject); + directCompositionCamera = null; + + Debug.Log("DirectComposition deactivated"); + } +} + +#endif diff --git a/Assets/Oculus/VR/Scripts/Composition/OVRDirectComposition.cs.meta b/Assets/Oculus/VR/Scripts/Composition/OVRDirectComposition.cs.meta new file mode 100644 index 0000000..5b7706c --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Composition/OVRDirectComposition.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8e9d1c62d6c68c7429ce265558cfd2b2 +timeCreated: 1502990248 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Composition/OVRExternalComposition.cs b/Assets/Oculus/VR/Scripts/Composition/OVRExternalComposition.cs new file mode 100644 index 0000000..5ed0997 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Composition/OVRExternalComposition.cs @@ -0,0 +1,165 @@ +using UnityEngine; +using System.Collections; + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + +public class OVRExternalComposition : OVRComposition +{ + private GameObject foregroundCameraGameObject; + private Camera foregroundCamera; + private GameObject backgroundCameraGameObject; + private Camera backgroundCamera; + private GameObject cameraProxyPlane; + + public override OVRManager.CompositionMethod CompositionMethod() { return OVRManager.CompositionMethod.External; } + + public OVRExternalComposition(GameObject parentObject, Camera mainCamera) + { + Debug.Assert(backgroundCameraGameObject == null); + backgroundCameraGameObject = new GameObject(); + backgroundCameraGameObject.name = "MRBackgroundCamera"; + backgroundCameraGameObject.transform.parent = parentObject.transform; + backgroundCamera = backgroundCameraGameObject.AddComponent(); + backgroundCamera.stereoTargetEye = StereoTargetEyeMask.None; + backgroundCamera.depth = float.MaxValue; + backgroundCamera.rect = new Rect(0.0f, 0.0f, 0.5f, 1.0f); + backgroundCamera.clearFlags = mainCamera.clearFlags; + backgroundCamera.backgroundColor = mainCamera.backgroundColor; + backgroundCamera.cullingMask = mainCamera.cullingMask & (~OVRManager.instance.extraHiddenLayers); + backgroundCamera.nearClipPlane = mainCamera.nearClipPlane; + backgroundCamera.farClipPlane = mainCamera.farClipPlane; + + Debug.Assert(foregroundCameraGameObject == null); + foregroundCameraGameObject = new GameObject(); + foregroundCameraGameObject.name = "MRForgroundCamera"; + foregroundCameraGameObject.transform.parent = parentObject.transform; + foregroundCamera = foregroundCameraGameObject.AddComponent(); + foregroundCamera.stereoTargetEye = StereoTargetEyeMask.None; + foregroundCamera.depth = float.MaxValue; + foregroundCamera.rect = new Rect(0.5f, 0.0f, 0.5f, 1.0f); + foregroundCamera.clearFlags = CameraClearFlags.Color; + foregroundCamera.backgroundColor = OVRMixedReality.chromaKeyColor; + foregroundCamera.cullingMask = mainCamera.cullingMask & (~OVRManager.instance.extraHiddenLayers); + foregroundCamera.nearClipPlane = mainCamera.nearClipPlane; + foregroundCamera.farClipPlane = mainCamera.farClipPlane; + + // Create cameraProxyPlane for clipping + Debug.Assert(cameraProxyPlane == null); + cameraProxyPlane = GameObject.CreatePrimitive(PrimitiveType.Quad); + cameraProxyPlane.name = "MRProxyClipPlane"; + cameraProxyPlane.transform.parent = parentObject.transform; + cameraProxyPlane.GetComponent().enabled = false; + cameraProxyPlane.GetComponent().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; + Material clipMaterial = new Material(Shader.Find("Oculus/OVRMRClipPlane")); + cameraProxyPlane.GetComponent().material = clipMaterial; + clipMaterial.SetColor("_Color", OVRMixedReality.chromaKeyColor); + clipMaterial.SetFloat("_Visible", 0.0f); + cameraProxyPlane.transform.localScale = new Vector3(1000, 1000, 1000); + cameraProxyPlane.SetActive(true); + OVRMRForegroundCameraManager foregroundCameraManager = foregroundCameraGameObject.AddComponent(); + foregroundCameraManager.clipPlaneGameObj = cameraProxyPlane; + } + + public override void Update(Camera mainCamera) + { + OVRPlugin.SetHandNodePoseStateLatency(0.0); // the HandNodePoseStateLatency doesn't apply to the external composition. Always enforce it to 0.0 + + backgroundCamera.clearFlags = mainCamera.clearFlags; + backgroundCamera.backgroundColor = mainCamera.backgroundColor; + backgroundCamera.cullingMask = mainCamera.cullingMask & (~OVRManager.instance.extraHiddenLayers); + backgroundCamera.nearClipPlane = mainCamera.nearClipPlane; + backgroundCamera.farClipPlane = mainCamera.farClipPlane; + + foregroundCamera.cullingMask = mainCamera.cullingMask & (~OVRManager.instance.extraHiddenLayers); + foregroundCamera.nearClipPlane = mainCamera.nearClipPlane; + foregroundCamera.farClipPlane = mainCamera.farClipPlane; + + if (OVRMixedReality.useFakeExternalCamera || OVRPlugin.GetExternalCameraCount() == 0) + { + OVRPose worldSpacePose = new OVRPose(); + OVRPose trackingSpacePose = new OVRPose(); + trackingSpacePose.position = OVRMixedReality.fakeCameraPositon; + trackingSpacePose.orientation = OVRMixedReality.fakeCameraRotation; + worldSpacePose = OVRExtensions.ToWorldSpacePose(trackingSpacePose); + + backgroundCamera.fieldOfView = OVRMixedReality.fakeCameraFov; + backgroundCamera.aspect = OVRMixedReality.fakeCameraAspect; + backgroundCamera.transform.FromOVRPose(worldSpacePose); + + foregroundCamera.fieldOfView = OVRMixedReality.fakeCameraFov; + foregroundCamera.aspect = OVRMixedReality.fakeCameraAspect; + foregroundCamera.transform.FromOVRPose(worldSpacePose); + } + else + { + OVRPlugin.CameraExtrinsics extrinsics; + OVRPlugin.CameraIntrinsics intrinsics; + + // So far, only support 1 camera for MR and always use camera index 0 + if (OVRPlugin.GetMixedRealityCameraInfo(0, out extrinsics, out intrinsics)) + { + OVRPose worldSpacePose = ComputeCameraWorldSpacePose(extrinsics); + + float fovY = Mathf.Atan(intrinsics.FOVPort.UpTan) * Mathf.Rad2Deg * 2; + float aspect = intrinsics.FOVPort.LeftTan / intrinsics.FOVPort.UpTan; + backgroundCamera.fieldOfView = fovY; + backgroundCamera.aspect = aspect; + backgroundCamera.transform.FromOVRPose(worldSpacePose); + foregroundCamera.fieldOfView = fovY; + foregroundCamera.aspect = intrinsics.FOVPort.LeftTan / intrinsics.FOVPort.UpTan; + foregroundCamera.transform.FromOVRPose(worldSpacePose); + } + else + { + Debug.LogError("Failed to get external camera information"); + return; + } + } + + // Assume player always standing straightly + Vector3 externalCameraToHeadXZ = mainCamera.transform.position - foregroundCamera.transform.position; + externalCameraToHeadXZ.y = 0; + cameraProxyPlane.transform.position = mainCamera.transform.position; + cameraProxyPlane.transform.LookAt(cameraProxyPlane.transform.position + externalCameraToHeadXZ); + } + + public override void Cleanup() + { + OVRCompositionUtil.SafeDestroy(ref backgroundCameraGameObject); + backgroundCamera = null; + OVRCompositionUtil.SafeDestroy(ref foregroundCameraGameObject); + foregroundCamera = null; + OVRCompositionUtil.SafeDestroy(ref cameraProxyPlane); + Debug.Log("ExternalComposition deactivated"); + } + +} + +/// +/// Helper internal class for foregroundCamera, don't call it outside +/// +internal class OVRMRForegroundCameraManager : MonoBehaviour +{ + public GameObject clipPlaneGameObj; + private Material clipPlaneMaterial; + void OnPreRender() + { + // the clipPlaneGameObj should be only visible to foreground camera + if (clipPlaneGameObj) + { + if (clipPlaneMaterial == null) + clipPlaneMaterial = clipPlaneGameObj.GetComponent().material; + clipPlaneGameObj.GetComponent().material.SetFloat("_Visible", 1.0f); + } + } + void OnPostRender() + { + if (clipPlaneGameObj) + { + Debug.Assert(clipPlaneMaterial); + clipPlaneGameObj.GetComponent().material.SetFloat("_Visible", 0.0f); + } + } +} + +#endif diff --git a/Assets/Oculus/VR/Scripts/Composition/OVRExternalComposition.cs.meta b/Assets/Oculus/VR/Scripts/Composition/OVRExternalComposition.cs.meta new file mode 100644 index 0000000..228eb67 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Composition/OVRExternalComposition.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2c109ff55176f71418ec2c06d1b5d28e +timeCreated: 1502990231 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Composition/OVRSandwichComposition.cs b/Assets/Oculus/VR/Scripts/Composition/OVRSandwichComposition.cs new file mode 100644 index 0000000..d951699 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Composition/OVRSandwichComposition.cs @@ -0,0 +1,373 @@ +using UnityEngine; +using UnityEngine.Rendering; + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + +public class OVRSandwichComposition : OVRCameraComposition +{ + public float frameRealtime; + + public Camera fgCamera; + public Camera bgCamera; + + public class HistoryRecord + { + public float timestamp = float.MinValue; + public RenderTexture fgRenderTexture; + public RenderTexture bgRenderTexture; + public RenderTexture boundaryMeshMaskTexture; + } + + public readonly int historyRecordCount = 8; // enough to compensate 88ms latency @ 90 fps + public readonly HistoryRecord[] historyRecordArray; + public int historyRecordCursorIndex = 0; + + public GameObject cameraProxyPlane; + + public Camera compositionCamera; + public OVRSandwichCompositionManager compositionManager; + + private int _cameraFramePlaneLayer = -1; + + // find an unnamed layer between 24..29 + public int cameraFramePlaneLayer + { + get + { + if (_cameraFramePlaneLayer < 0) + { + for (int i=24; i<=29; ++i) + { + string layerName = LayerMask.LayerToName(i); + if (layerName == null || layerName.Length == 0) + { + _cameraFramePlaneLayer = i; + break; + } + } + if (_cameraFramePlaneLayer == -1) + { + Debug.LogWarning("Unable to find an unnamed layer between 24 and 29."); + _cameraFramePlaneLayer = 25; + } + Debug.LogFormat("Set the CameraFramePlaneLayer in SandwichComposition to {0}. Please do NOT put any other gameobject in this layer.", _cameraFramePlaneLayer); + } + return _cameraFramePlaneLayer; + } + } + + public override OVRManager.CompositionMethod CompositionMethod() { return OVRManager.CompositionMethod.Sandwich; } + + public OVRSandwichComposition(GameObject parentObject, Camera mainCamera, OVRManager.CameraDevice cameraDevice, bool useDynamicLighting, OVRManager.DepthQuality depthQuality) + : base(cameraDevice, useDynamicLighting, depthQuality) + { + frameRealtime = Time.realtimeSinceStartup; + + historyRecordCount = OVRManager.instance.sandwichCompositionBufferedFrames; + if (historyRecordCount < 1) + { + Debug.LogWarning("Invalid sandwichCompositionBufferedFrames in OVRManager. It should be at least 1"); + historyRecordCount = 1; + } + if (historyRecordCount > 16) + { + Debug.LogWarning("The value of sandwichCompositionBufferedFrames in OVRManager is too big. It would consume a lot of memory. It has been override to 16"); + historyRecordCount = 16; + } + historyRecordArray = new HistoryRecord[historyRecordCount]; + for (int i=0; i(); + fgCamera.depth = 200; + fgCamera.clearFlags = CameraClearFlags.SolidColor; + fgCamera.backgroundColor = Color.clear; + fgCamera.cullingMask = mainCamera.cullingMask & (~OVRManager.instance.extraHiddenLayers); + fgCamera.nearClipPlane = mainCamera.nearClipPlane; + fgCamera.farClipPlane = mainCamera.farClipPlane; + + GameObject bgObject = new GameObject("MRSandwichBackgroundCamera"); + bgObject.transform.parent = parentObject.transform; + bgCamera = bgObject.AddComponent(); + bgCamera.depth = 100; + bgCamera.clearFlags = mainCamera.clearFlags; + bgCamera.backgroundColor = mainCamera.backgroundColor; + bgCamera.cullingMask = mainCamera.cullingMask & (~OVRManager.instance.extraHiddenLayers); + bgCamera.nearClipPlane = mainCamera.nearClipPlane; + bgCamera.farClipPlane = mainCamera.farClipPlane; + + // Create cameraProxyPlane for clipping + Debug.Assert(cameraProxyPlane == null); + cameraProxyPlane = GameObject.CreatePrimitive(PrimitiveType.Quad); + cameraProxyPlane.name = "MRProxyClipPlane"; + cameraProxyPlane.transform.parent = parentObject.transform; + cameraProxyPlane.GetComponent().enabled = false; + cameraProxyPlane.GetComponent().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; + Material clipMaterial = new Material(Shader.Find("Oculus/OVRMRClipPlane")); + cameraProxyPlane.GetComponent().material = clipMaterial; + clipMaterial.SetColor("_Color", Color.clear); + clipMaterial.SetFloat("_Visible", 0.0f); + cameraProxyPlane.transform.localScale = new Vector3(1000, 1000, 1000); + cameraProxyPlane.SetActive(true); + OVRMRForegroundCameraManager foregroundCameraManager = fgCamera.gameObject.AddComponent(); + foregroundCameraManager.clipPlaneGameObj = cameraProxyPlane; + + GameObject compositionCameraObject = new GameObject("MRSandwichCaptureCamera"); + compositionCameraObject.transform.parent = parentObject.transform; + compositionCamera = compositionCameraObject.AddComponent(); + compositionCamera.stereoTargetEye = StereoTargetEyeMask.None; + compositionCamera.depth = float.MaxValue; + compositionCamera.rect = new Rect(0.0f, 0.0f, 1.0f, 1.0f); + compositionCamera.clearFlags = CameraClearFlags.Depth; + compositionCamera.backgroundColor = mainCamera.backgroundColor; + compositionCamera.cullingMask = 1 << cameraFramePlaneLayer; + compositionCamera.nearClipPlane = mainCamera.nearClipPlane; + compositionCamera.farClipPlane = mainCamera.farClipPlane; + + if (!hasCameraDeviceOpened) + { + Debug.LogError("Unable to open camera device " + cameraDevice); + } + else + { + Debug.Log("SandwichComposition activated : useDynamicLighting " + (useDynamicLighting ? "ON" : "OFF")); + CreateCameraFramePlaneObject(parentObject, compositionCamera, useDynamicLighting); + cameraFramePlaneObject.layer = cameraFramePlaneLayer; + RefreshRenderTextures(mainCamera); + compositionManager = compositionCamera.gameObject.AddComponent(); + compositionManager.fgTexture = historyRecordArray[historyRecordCursorIndex].fgRenderTexture; + compositionManager.bgTexture = historyRecordArray[historyRecordCursorIndex].bgRenderTexture; + } + } + + public override void Update(Camera mainCamera) + { + if (!hasCameraDeviceOpened) + { + return; + } + + frameRealtime = Time.realtimeSinceStartup; + + ++historyRecordCursorIndex; + if (historyRecordCursorIndex >= historyRecordCount) + { + historyRecordCursorIndex = 0; + } + + if (!OVRPlugin.SetHandNodePoseStateLatency(OVRManager.instance.handPoseStateLatency)) + { + Debug.LogWarning("HandPoseStateLatency is invalid. Expect a value between 0.0 to 0.5, get " + OVRManager.instance.handPoseStateLatency); + } + + RefreshRenderTextures(mainCamera); + + bgCamera.clearFlags = mainCamera.clearFlags; + bgCamera.backgroundColor = mainCamera.backgroundColor; + bgCamera.cullingMask = mainCamera.cullingMask & (~OVRManager.instance.extraHiddenLayers); + + fgCamera.cullingMask = mainCamera.cullingMask & (~OVRManager.instance.extraHiddenLayers); + + if (OVRMixedReality.useFakeExternalCamera || OVRPlugin.GetExternalCameraCount() == 0) + { + OVRPose worldSpacePose = new OVRPose(); + OVRPose trackingSpacePose = new OVRPose(); + trackingSpacePose.position = OVRMixedReality.fakeCameraPositon; + trackingSpacePose.orientation = OVRMixedReality.fakeCameraRotation; + worldSpacePose = OVRExtensions.ToWorldSpacePose(trackingSpacePose); + + RefreshCameraPoses(OVRMixedReality.fakeCameraFov, OVRMixedReality.fakeCameraAspect, worldSpacePose); + } + else + { + OVRPlugin.CameraExtrinsics extrinsics; + OVRPlugin.CameraIntrinsics intrinsics; + + // So far, only support 1 camera for MR and always use camera index 0 + if (OVRPlugin.GetMixedRealityCameraInfo(0, out extrinsics, out intrinsics)) + { + OVRPose worldSpacePose = ComputeCameraWorldSpacePose(extrinsics); + + float fovY = Mathf.Atan(intrinsics.FOVPort.UpTan) * Mathf.Rad2Deg * 2; + float aspect = intrinsics.FOVPort.LeftTan / intrinsics.FOVPort.UpTan; + + RefreshCameraPoses(fovY, aspect, worldSpacePose); + } + else + { + Debug.LogWarning("Failed to get external camera information"); + } + } + + compositionCamera.GetComponent().boundaryMeshMaskTexture = historyRecordArray[historyRecordCursorIndex].boundaryMeshMaskTexture; + HistoryRecord record = GetHistoryRecordForComposition(); + UpdateCameraFramePlaneObject(mainCamera, compositionCamera, record.boundaryMeshMaskTexture); + OVRSandwichCompositionManager compositionManager = compositionCamera.gameObject.GetComponent(); + compositionManager.fgTexture = record.fgRenderTexture; + compositionManager.bgTexture = record.bgRenderTexture; + + cameraProxyPlane.transform.position = fgCamera.transform.position + fgCamera.transform.forward * cameraFramePlaneDistance; + cameraProxyPlane.transform.LookAt(cameraProxyPlane.transform.position + fgCamera.transform.forward); + } + + public override void Cleanup() + { + base.Cleanup(); + + Camera[] cameras = { fgCamera, bgCamera, compositionCamera }; + + foreach (Camera c in cameras) + { + OVRCompositionUtil.SafeDestroy(c.gameObject); + } + + fgCamera = null; + bgCamera = null; + compositionCamera = null; + + Debug.Log("SandwichComposition deactivated"); + } + + private RenderTextureFormat DesiredRenderTextureFormat(RenderTextureFormat originalFormat) + { + if (originalFormat == RenderTextureFormat.RGB565) + { + return RenderTextureFormat.ARGB1555; + } + else if (originalFormat == RenderTextureFormat.RGB111110Float) + { + return RenderTextureFormat.ARGBHalf; + } + else + { + return originalFormat; + } + } + + protected void RefreshRenderTextures(Camera mainCamera) + { + int width = Screen.width; + int height = Screen.height; + RenderTextureFormat format = mainCamera.targetTexture ? DesiredRenderTextureFormat(mainCamera.targetTexture.format) : RenderTextureFormat.ARGB32; + int depth = mainCamera.targetTexture ? mainCamera.targetTexture.depth : 24; + + Debug.Assert(fgCamera != null && bgCamera != null); + + HistoryRecord record = historyRecordArray[historyRecordCursorIndex]; + + record.timestamp = frameRealtime; + + if (record.fgRenderTexture == null || record.fgRenderTexture.width != width || record.fgRenderTexture.height != height || record.fgRenderTexture.format != format || record.fgRenderTexture.depth != depth) + { + record.fgRenderTexture = new RenderTexture(width, height, depth, format); + record.fgRenderTexture.name = "Sandwich FG " + historyRecordCursorIndex.ToString(); + } + fgCamera.targetTexture = record.fgRenderTexture; + + if (record.bgRenderTexture == null || record.bgRenderTexture.width != width || record.bgRenderTexture.height != height || record.bgRenderTexture.format != format || record.bgRenderTexture.depth != depth) + { + record.bgRenderTexture = new RenderTexture(width, height, depth, format); + record.bgRenderTexture.name = "Sandwich BG " + historyRecordCursorIndex.ToString(); + } + bgCamera.targetTexture = record.bgRenderTexture; + + if (OVRManager.instance.virtualGreenScreenType != OVRManager.VirtualGreenScreenType.Off) + { + if (record.boundaryMeshMaskTexture == null || record.boundaryMeshMaskTexture.width != width || record.boundaryMeshMaskTexture.height != height) + { + record.boundaryMeshMaskTexture = new RenderTexture(width, height, 0, RenderTextureFormat.R8); + record.boundaryMeshMaskTexture.name = "Boundary Mask " + historyRecordCursorIndex.ToString(); + record.boundaryMeshMaskTexture.Create(); + } + } + else + { + record.boundaryMeshMaskTexture = null; + } + + Debug.Assert(fgCamera.targetTexture != null && bgCamera.targetTexture != null && (OVRManager.instance.virtualGreenScreenType == OVRManager.VirtualGreenScreenType.Off || record.boundaryMeshMaskTexture != null)); + } + + protected HistoryRecord GetHistoryRecordForComposition() + { + float expectedTime = frameRealtime - OVRManager.instance.sandwichCompositionRenderLatency; + int currIndex = historyRecordCursorIndex; + int prevIndex = currIndex - 1; + if (prevIndex < 0) + { + prevIndex = historyRecordCount - 1; + } + while (prevIndex != historyRecordCursorIndex) + { + if (historyRecordArray[prevIndex].timestamp <= expectedTime) + { + float timeToCurrIndex = historyRecordArray[currIndex].timestamp - expectedTime; + float timeToPrevIndex = expectedTime - historyRecordArray[prevIndex].timestamp; + return timeToCurrIndex <= timeToPrevIndex ? historyRecordArray[currIndex] : historyRecordArray[prevIndex]; + } + currIndex = prevIndex; + prevIndex = currIndex - 1; + if (prevIndex < 0) prevIndex = historyRecordCount - 1; + } + // return the earliest frame + return historyRecordArray[currIndex]; + } + + protected void RefreshCameraPoses(float fovY, float aspect, OVRPose pose) + { + Camera[] cameras = { fgCamera, bgCamera, compositionCamera }; + foreach (Camera c in cameras) + { + c.fieldOfView = fovY; + c.aspect = aspect; + c.transform.FromOVRPose(pose); + } + } + + public class OVRSandwichCompositionManager : MonoBehaviour + { + public RenderTexture fgTexture; + public RenderTexture bgTexture; + public Material alphaBlendMaterial; + + void Start() + { + Shader alphaBlendShader = Shader.Find("Oculus/UnlitTransparent"); + if (alphaBlendShader == null) + { + Debug.LogError("Unable to create transparent shader"); + return; + } + alphaBlendMaterial = new Material(alphaBlendShader); + } + + private void OnPreRender() + { + if (fgTexture == null || bgTexture == null || alphaBlendMaterial == null) + { + Debug.LogError("OVRSandwichCompositionManager has not setup properly"); + return; + } + + Graphics.Blit(bgTexture, RenderTexture.active); + } + + void OnPostRender() + { + if (fgTexture == null || bgTexture == null || alphaBlendMaterial == null) + { + Debug.LogError("OVRSandwichCompositionManager has not setup properly"); + return; + } + + Graphics.Blit(fgTexture, RenderTexture.active, alphaBlendMaterial); + } + } +} + +#endif diff --git a/Assets/Oculus/VR/Scripts/Composition/OVRSandwichComposition.cs.meta b/Assets/Oculus/VR/Scripts/Composition/OVRSandwichComposition.cs.meta new file mode 100644 index 0000000..f998d77 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Composition/OVRSandwichComposition.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3c02efcdd3fb2aa4e9c641b0c2a54b9a +timeCreated: 1502990248 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Editor.meta b/Assets/Oculus/VR/Scripts/Editor.meta new file mode 100644 index 0000000..68c33e1 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e87d4bbdfc8d17445b4a41760b401026 +folderAsset: yes +timeCreated: 1510282190 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Editor/OVRManagerEditor.cs b/Assets/Oculus/VR/Scripts/Editor/OVRManagerEditor.cs new file mode 100644 index 0000000..9e692b5 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Editor/OVRManagerEditor.cs @@ -0,0 +1,204 @@ +using UnityEngine; +using UnityEditor; +using System.Collections; +using System.Reflection; + +[CustomEditor(typeof(OVRManager))] +public class OVRManagerEditor : Editor +{ + override public void OnInspectorGUI() + { + DrawDefaultInspector(); + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + OVRManager manager = (OVRManager)target; + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Mixed Reality Capture", EditorStyles.boldLabel); + SetupBoolField("Show Properties", ref manager.expandMixedRealityCapturePropertySheet); + if (manager.expandMixedRealityCapturePropertySheet) + { + string[] layerMaskOptions = new string[32]; + for (int i=0; i<32; ++i) + { + layerMaskOptions[i] = LayerMask.LayerToName(i); + if (layerMaskOptions[i].Length == 0) + { + layerMaskOptions[i] = ""; + } + } + + EditorGUI.indentLevel++; + + EditorGUILayout.Space(); + SetupBoolField("enableMixedReality", ref manager.enableMixedReality); + SetupCompositoinMethodField("compositionMethod", ref manager.compositionMethod); + SetupLayerMaskField("extraHiddenLayers", ref manager.extraHiddenLayers, layerMaskOptions); + + if (manager.compositionMethod == OVRManager.CompositionMethod.Direct || manager.compositionMethod == OVRManager.CompositionMethod.Sandwich) + { + EditorGUILayout.Space(); + if (manager.compositionMethod == OVRManager.CompositionMethod.Direct) + { + EditorGUILayout.LabelField("Direct Composition", EditorStyles.boldLabel); + } + else + { + EditorGUILayout.LabelField("Sandwich Composition", EditorStyles.boldLabel); + } + EditorGUI.indentLevel++; + + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Camera", EditorStyles.boldLabel); + SetupCameraDeviceField("capturingCameraDevice", ref manager.capturingCameraDevice); + SetupBoolField("flipCameraFrameHorizontally", ref manager.flipCameraFrameHorizontally); + SetupBoolField("flipCameraFrameVertically", ref manager.flipCameraFrameVertically); + + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Chroma Key", EditorStyles.boldLabel); + SetupColorField("chromaKeyColor", ref manager.chromaKeyColor); + SetupFloatField("chromaKeySimilarity", ref manager.chromaKeySimilarity); + SetupFloatField("chromaKeySmoothRange", ref manager.chromaKeySmoothRange); + SetupFloatField("chromaKeySpillRange", ref manager.chromaKeySpillRange); + + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Dynamic Lighting", EditorStyles.boldLabel); + SetupBoolField("useDynamicLighting", ref manager.useDynamicLighting); + SetupDepthQualityField("depthQuality", ref manager.depthQuality); + SetupFloatField("dynamicLightingSmoothFactor", ref manager.dynamicLightingSmoothFactor); + SetupFloatField("dynamicLightingDepthVariationClampingValue", ref manager.dynamicLightingDepthVariationClampingValue); + + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Virtual Green Screen", EditorStyles.boldLabel); + SetupVirtualGreenTypeField("virtualGreenScreenType", ref manager.virtualGreenScreenType); + SetupFloatField("virtualGreenScreenTopY", ref manager.virtualGreenScreenTopY); + SetupFloatField("virtualGreenScreenBottomY", ref manager.virtualGreenScreenBottomY); + SetupBoolField("virtualGreenScreenApplyDepthCulling", ref manager.virtualGreenScreenApplyDepthCulling); + SetupFloatField("virtualGreenScreenDepthTolerance", ref manager.virtualGreenScreenDepthTolerance); + + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Latency Control", EditorStyles.boldLabel); + SetupFloatField("handPoseStateLatency", ref manager.handPoseStateLatency); + if (manager.compositionMethod == OVRManager.CompositionMethod.Sandwich) + { + SetupFloatField("sandwichCompositionRenderLatency", ref manager.sandwichCompositionRenderLatency); + SetupIntField("sandwichCompositionBufferedFrames", ref manager.sandwichCompositionBufferedFrames); + } + EditorGUI.indentLevel--; + } + + EditorGUI.indentLevel--; + } +#endif + } + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + void SetupBoolField(string name, ref bool member) + { + EditorGUI.BeginChangeCheck(); + bool value = EditorGUILayout.Toggle(name, member); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(target, "Changed " + name); + member = value; + } + } + + void SetupIntField(string name, ref int member) + { + EditorGUI.BeginChangeCheck(); + int value = EditorGUILayout.IntField(name, member); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(target, "Changed " + name); + member = value; + } + } + + void SetupFloatField(string name, ref float member) + { + EditorGUI.BeginChangeCheck(); + float value = EditorGUILayout.FloatField(name, member); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(target, "Changed " + name); + member = value; + } + } + + void SetupDoubleField(string name, ref double member) + { + EditorGUI.BeginChangeCheck(); + double value = EditorGUILayout.DoubleField(name, member); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(target, "Changed " + name); + member = value; + } + } + void SetupColorField(string name, ref Color member) + { + EditorGUI.BeginChangeCheck(); + Color value = EditorGUILayout.ColorField(name, member); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(target, "Changed " + name); + member = value; + } + } + + void SetupLayerMaskField(string name, ref LayerMask layerMask, string[] layerMaskOptions) + { + EditorGUI.BeginChangeCheck(); + int value = EditorGUILayout.MaskField(name, layerMask, layerMaskOptions); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(target, "Changed " + name); + layerMask = value; + } + } + + void SetupCompositoinMethodField(string name, ref OVRManager.CompositionMethod method) + { + EditorGUI.BeginChangeCheck(); + OVRManager.CompositionMethod value = (OVRManager.CompositionMethod)EditorGUILayout.EnumPopup(name, method); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(target, "Changed " + name); + method = value; + } + } + + void SetupCameraDeviceField(string name, ref OVRManager.CameraDevice device) + { + EditorGUI.BeginChangeCheck(); + OVRManager.CameraDevice value = (OVRManager.CameraDevice)EditorGUILayout.EnumPopup(name, device); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(target, "Changed " + name); + device = value; + } + } + + void SetupDepthQualityField(string name, ref OVRManager.DepthQuality depthQuality) + { + EditorGUI.BeginChangeCheck(); + OVRManager.DepthQuality value = (OVRManager.DepthQuality)EditorGUILayout.EnumPopup(name, depthQuality); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(target, "Changed " + name); + depthQuality = value; + } + } + + void SetupVirtualGreenTypeField(string name, ref OVRManager.VirtualGreenScreenType virtualGreenScreenType) + { + EditorGUI.BeginChangeCheck(); + OVRManager.VirtualGreenScreenType value = (OVRManager.VirtualGreenScreenType)EditorGUILayout.EnumPopup(name, virtualGreenScreenType); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(target, "Changed " + name); + virtualGreenScreenType = value; + } + } +#endif +} diff --git a/Assets/Oculus/VR/Scripts/Editor/OVRManagerEditor.cs.meta b/Assets/Oculus/VR/Scripts/Editor/OVRManagerEditor.cs.meta new file mode 100644 index 0000000..4ed7ed0 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Editor/OVRManagerEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9b07d18088099f94fa00fc15e64b2b17 +timeCreated: 1502747851 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/OVRBoundary.cs b/Assets/Oculus/VR/Scripts/OVRBoundary.cs new file mode 100644 index 0000000..0442fe6 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRBoundary.cs @@ -0,0 +1,188 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using VR = UnityEngine.VR; +using System.Runtime.InteropServices; + +/// +/// Provides access to the Oculus boundary system. +/// +public class OVRBoundary +{ + /// + /// Specifies a tracked node that can be queried through the boundary system. + /// + public enum Node + { + HandLeft = OVRPlugin.Node.HandLeft, ///< Tracks the left hand node. + HandRight = OVRPlugin.Node.HandRight, ///< Tracks the right hand node. + Head = OVRPlugin.Node.Head, ///< Tracks the head node. + } + + /// + /// Specifies a boundary type surface. + /// + public enum BoundaryType + { + OuterBoundary = OVRPlugin.BoundaryType.OuterBoundary, ///< Outer boundary that closely matches the user's configured walls. + PlayArea = OVRPlugin.BoundaryType.PlayArea, ///< Smaller convex area inset within the outer boundary. + } + + /// + /// Provides test results of boundary system queries. + /// + public struct BoundaryTestResult + { + public bool IsTriggering; ///< Returns true if the queried test would violate and/or trigger the tested boundary types. + public float ClosestDistance; ///< Returns the distance between the queried test object and the closest tested boundary type. + public Vector3 ClosestPoint; ///< Returns the closest point to the queried test object. + public Vector3 ClosestPointNormal; ///< Returns the normal of the closest point to the queried test object. + } + + /// + /// Specifies the boundary system parameters that can be configured. Can be overridden by the system or user. + /// + public struct BoundaryLookAndFeel + { + public Color Color; + } + + /// + /// Returns true if the boundary system is currently configured with valid boundary data. + /// + public bool GetConfigured() + { + return OVRPlugin.GetBoundaryConfigured(); + } + + /// + /// Returns the results of testing a tracked node against the specified boundary type. + /// All points are returned in local tracking space shared by tracked nodes and accessible through OVRCameraRig's trackingSpace anchor. + /// + public OVRBoundary.BoundaryTestResult TestNode(OVRBoundary.Node node, OVRBoundary.BoundaryType boundaryType) + { + OVRPlugin.BoundaryTestResult ovrpRes = OVRPlugin.TestBoundaryNode((OVRPlugin.Node)node, (OVRPlugin.BoundaryType)boundaryType); + + OVRBoundary.BoundaryTestResult res = new OVRBoundary.BoundaryTestResult() + { + IsTriggering = (ovrpRes.IsTriggering == OVRPlugin.Bool.True), + ClosestDistance = ovrpRes.ClosestDistance, + ClosestPoint = ovrpRes.ClosestPoint.FromFlippedZVector3f(), + ClosestPointNormal = ovrpRes.ClosestPointNormal.FromFlippedZVector3f(), + }; + + return res; + } + + /// + /// Returns the results of testing a 3d point against the specified boundary type. + /// The test point is expected in local tracking space. + /// All points are returned in local tracking space shared by tracked nodes and accessible through OVRCameraRig's trackingSpace anchor. + /// + public OVRBoundary.BoundaryTestResult TestPoint(Vector3 point, OVRBoundary.BoundaryType boundaryType) + { + OVRPlugin.BoundaryTestResult ovrpRes = OVRPlugin.TestBoundaryPoint(point.ToFlippedZVector3f(), (OVRPlugin.BoundaryType)boundaryType); + + OVRBoundary.BoundaryTestResult res = new OVRBoundary.BoundaryTestResult() + { + IsTriggering = (ovrpRes.IsTriggering == OVRPlugin.Bool.True), + ClosestDistance = ovrpRes.ClosestDistance, + ClosestPoint = ovrpRes.ClosestPoint.FromFlippedZVector3f(), + ClosestPointNormal = ovrpRes.ClosestPointNormal.FromFlippedZVector3f(), + }; + + return res; + } + + /// + /// Requests that the visual look and feel of the boundary system be changed as specified. Can be overridden by the system or user. + /// + public void SetLookAndFeel(OVRBoundary.BoundaryLookAndFeel lookAndFeel) + { + OVRPlugin.BoundaryLookAndFeel lf = new OVRPlugin.BoundaryLookAndFeel() + { + Color = lookAndFeel.Color.ToColorf() + }; + + OVRPlugin.SetBoundaryLookAndFeel(lf); + } + + /// + /// Resets the visual look and feel of the boundary system to the initial system settings. + /// + public void ResetLookAndFeel() + { + OVRPlugin.ResetBoundaryLookAndFeel(); + } + + private static int cachedVector3fSize = Marshal.SizeOf(typeof(OVRPlugin.Vector3f)); + private static OVRNativeBuffer cachedGeometryNativeBuffer = new OVRNativeBuffer(0); + private static float[] cachedGeometryManagedBuffer = new float[0]; + /// + /// Returns an array of 3d points (in clockwise order) that define the specified boundary type. + /// All points are returned in local tracking space shared by tracked nodes and accessible through OVRCameraRig's trackingSpace anchor. + /// + public Vector3[] GetGeometry(OVRBoundary.BoundaryType boundaryType) + { + int pointsCount = 0; + if (OVRPlugin.GetBoundaryGeometry2((OVRPlugin.BoundaryType)boundaryType, IntPtr.Zero, ref pointsCount)) + { + if (pointsCount > 0) + { + int requiredNativeBufferCapacity = pointsCount * cachedVector3fSize; + if (cachedGeometryNativeBuffer.GetCapacity() < requiredNativeBufferCapacity) + cachedGeometryNativeBuffer.Reset(requiredNativeBufferCapacity); + + int requiredManagedBufferCapacity = pointsCount * 3; + if (cachedGeometryManagedBuffer.Length < requiredManagedBufferCapacity) + cachedGeometryManagedBuffer = new float[requiredManagedBufferCapacity]; + + if (OVRPlugin.GetBoundaryGeometry2((OVRPlugin.BoundaryType)boundaryType, cachedGeometryNativeBuffer.GetPointer(), ref pointsCount)) + { + Marshal.Copy(cachedGeometryNativeBuffer.GetPointer(), cachedGeometryManagedBuffer, 0, requiredManagedBufferCapacity); + + Vector3[] points = new Vector3[pointsCount]; + + for (int i = 0; i < pointsCount; i++) + { + points[i] = new OVRPlugin.Vector3f() + { + x = cachedGeometryManagedBuffer[3 * i + 0], + y = cachedGeometryManagedBuffer[3 * i + 1], + z = cachedGeometryManagedBuffer[3 * i + 2], + }.FromFlippedZVector3f(); + } + + return points; + } + } + } + + return new Vector3[0]; + } + + /// + /// Returns a vector that indicates the spatial dimensions of the specified boundary type. (x = width, y = height, z = depth) + /// + public Vector3 GetDimensions(OVRBoundary.BoundaryType boundaryType) + { + return OVRPlugin.GetBoundaryDimensions((OVRPlugin.BoundaryType)boundaryType).FromVector3f(); + } + + /// + /// Returns true if the boundary system is currently visible. + /// + public bool GetVisible() + { + return OVRPlugin.GetBoundaryVisible(); + } + + /// + /// Requests that the boundary system visibility be set to the specified value. + /// The actual visibility can be overridden by the system (i.e., proximity trigger) or by the user (boundary system disabled) + /// + public void SetVisible(bool value) + { + OVRPlugin.SetBoundaryVisible(value); + } +} diff --git a/Assets/Oculus/VR/Scripts/OVRBoundary.cs.meta b/Assets/Oculus/VR/Scripts/OVRBoundary.cs.meta new file mode 100644 index 0000000..186477c --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRBoundary.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 332b8e08854932543ba356eec601c0ef +timeCreated: 1470352252 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/OVRCameraRig.cs b/Assets/Oculus/VR/Scripts/OVRCameraRig.cs new file mode 100644 index 0000000..6641e99 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRCameraRig.cs @@ -0,0 +1,311 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections.Generic; +using UnityEngine; + +/// +/// A head-tracked stereoscopic virtual reality camera rig. +/// +[ExecuteInEditMode] +public class OVRCameraRig : MonoBehaviour +{ + /// + /// The left eye camera. + /// + public Camera leftEyeCamera { get { return (usePerEyeCameras) ? _leftEyeCamera : _centerEyeCamera; } } + /// + /// The right eye camera. + /// + public Camera rightEyeCamera { get { return (usePerEyeCameras) ? _rightEyeCamera : _centerEyeCamera; } } + /// + /// Provides a root transform for all anchors in tracking space. + /// + public Transform trackingSpace { get; private set; } + /// + /// Always coincides with the pose of the left eye. + /// + public Transform leftEyeAnchor { get; private set; } + /// + /// Always coincides with average of the left and right eye poses. + /// + public Transform centerEyeAnchor { get; private set; } + /// + /// Always coincides with the pose of the right eye. + /// + public Transform rightEyeAnchor { get; private set; } + /// + /// Always coincides with the pose of the left hand. + /// + public Transform leftHandAnchor { get; private set; } + /// + /// Always coincides with the pose of the right hand. + /// + public Transform rightHandAnchor { get; private set; } + /// + /// Always coincides with the pose of the sensor. + /// + public Transform trackerAnchor { get; private set; } + /// + /// Occurs when the eye pose anchors have been set. + /// + public event System.Action UpdatedAnchors; + /// + /// If true, separate cameras will be used for the left and right eyes. + /// + public bool usePerEyeCameras = false; + /// + /// If true, all tracked anchors are updated in FixedUpdate instead of Update to favor physics fidelity. + /// \note: If the fixed update rate doesn't match the rendering framerate (OVRManager.display.appFramerate), the anchors will visibly judder. + /// + public bool useFixedUpdateForTracking = false; + + protected bool _skipUpdate = false; + protected readonly string trackingSpaceName = "TrackingSpace"; + protected readonly string trackerAnchorName = "TrackerAnchor"; + protected readonly string leftEyeAnchorName = "LeftEyeAnchor"; + protected readonly string centerEyeAnchorName = "CenterEyeAnchor"; + protected readonly string rightEyeAnchorName = "RightEyeAnchor"; + protected readonly string leftHandAnchorName = "LeftHandAnchor"; + protected readonly string rightHandAnchorName = "RightHandAnchor"; + protected Camera _centerEyeCamera; + protected Camera _leftEyeCamera; + protected Camera _rightEyeCamera; + +#region Unity Messages + protected virtual void Awake() + { + _skipUpdate = true; + EnsureGameObjectIntegrity(); + } + + protected virtual void Start() + { + UpdateAnchors(); + } + + protected virtual void FixedUpdate() + { + if (useFixedUpdateForTracking) + UpdateAnchors(); + } + + protected virtual void Update() + { + _skipUpdate = false; + + if (!useFixedUpdateForTracking) + UpdateAnchors(); + } +#endregion + + protected virtual void UpdateAnchors() + { + EnsureGameObjectIntegrity(); + + if (!Application.isPlaying) + return; + + if (_skipUpdate) + { + centerEyeAnchor.FromOVRPose(OVRPose.identity, true); + leftEyeAnchor.FromOVRPose(OVRPose.identity, true); + rightEyeAnchor.FromOVRPose(OVRPose.identity, true); + + return; + } + + bool monoscopic = OVRManager.instance.monoscopic; + + OVRPose tracker = OVRManager.tracker.GetPose(); + + trackerAnchor.localRotation = tracker.orientation; +#if UNITY_2017_2_OR_NEWER + centerEyeAnchor.localRotation = UnityEngine.XR.InputTracking.GetLocalRotation(UnityEngine.XR.XRNode.CenterEye); + leftEyeAnchor.localRotation = monoscopic ? centerEyeAnchor.localRotation : UnityEngine.XR.InputTracking.GetLocalRotation(UnityEngine.XR.XRNode.LeftEye); + rightEyeAnchor.localRotation = monoscopic ? centerEyeAnchor.localRotation : UnityEngine.XR.InputTracking.GetLocalRotation(UnityEngine.XR.XRNode.RightEye); +#else + centerEyeAnchor.localRotation = UnityEngine.VR.InputTracking.GetLocalRotation(UnityEngine.VR.VRNode.CenterEye); + leftEyeAnchor.localRotation = monoscopic ? centerEyeAnchor.localRotation : UnityEngine.VR.InputTracking.GetLocalRotation(UnityEngine.VR.VRNode.LeftEye); + rightEyeAnchor.localRotation = monoscopic ? centerEyeAnchor.localRotation : UnityEngine.VR.InputTracking.GetLocalRotation(UnityEngine.VR.VRNode.RightEye); +#endif + leftHandAnchor.localRotation = OVRInput.GetLocalControllerRotation(OVRInput.Controller.LTouch); + rightHandAnchor.localRotation = OVRInput.GetLocalControllerRotation(OVRInput.Controller.RTouch); + + trackerAnchor.localPosition = tracker.position; +#if UNITY_2017_2_OR_NEWER + centerEyeAnchor.localPosition = UnityEngine.XR.InputTracking.GetLocalPosition(UnityEngine.XR.XRNode.CenterEye); + leftEyeAnchor.localPosition = monoscopic ? centerEyeAnchor.localPosition : UnityEngine.XR.InputTracking.GetLocalPosition(UnityEngine.XR.XRNode.LeftEye); + rightEyeAnchor.localPosition = monoscopic ? centerEyeAnchor.localPosition : UnityEngine.XR.InputTracking.GetLocalPosition(UnityEngine.XR.XRNode.RightEye); +#else + centerEyeAnchor.localPosition = UnityEngine.VR.InputTracking.GetLocalPosition(UnityEngine.VR.VRNode.CenterEye); + leftEyeAnchor.localPosition = monoscopic ? centerEyeAnchor.localPosition : UnityEngine.VR.InputTracking.GetLocalPosition(UnityEngine.VR.VRNode.LeftEye); + rightEyeAnchor.localPosition = monoscopic ? centerEyeAnchor.localPosition : UnityEngine.VR.InputTracking.GetLocalPosition(UnityEngine.VR.VRNode.RightEye); +#endif + leftHandAnchor.localPosition = OVRInput.GetLocalControllerPosition(OVRInput.Controller.LTouch); + rightHandAnchor.localPosition = OVRInput.GetLocalControllerPosition(OVRInput.Controller.RTouch); + + RaiseUpdatedAnchorsEvent(); + } + + protected virtual void RaiseUpdatedAnchorsEvent() + { + if (UpdatedAnchors != null) + { + UpdatedAnchors(this); + } + } + + public virtual void EnsureGameObjectIntegrity() + { + bool monoscopic = OVRManager.instance != null ? OVRManager.instance.monoscopic : false; + + if (trackingSpace == null) + trackingSpace = ConfigureAnchor(null, trackingSpaceName); + + if (leftEyeAnchor == null) + leftEyeAnchor = ConfigureAnchor(trackingSpace, leftEyeAnchorName); + + if (centerEyeAnchor == null) + centerEyeAnchor = ConfigureAnchor(trackingSpace, centerEyeAnchorName); + + if (rightEyeAnchor == null) + rightEyeAnchor = ConfigureAnchor(trackingSpace, rightEyeAnchorName); + + if (leftHandAnchor == null) + leftHandAnchor = ConfigureAnchor(trackingSpace, leftHandAnchorName); + + if (rightHandAnchor == null) + rightHandAnchor = ConfigureAnchor(trackingSpace, rightHandAnchorName); + + if (trackerAnchor == null) + trackerAnchor = ConfigureAnchor(trackingSpace, trackerAnchorName); + + if (_centerEyeCamera == null || _leftEyeCamera == null || _rightEyeCamera == null) + { + _centerEyeCamera = centerEyeAnchor.GetComponent(); + _leftEyeCamera = leftEyeAnchor.GetComponent(); + _rightEyeCamera = rightEyeAnchor.GetComponent(); + + if (_centerEyeCamera == null) + { + _centerEyeCamera = centerEyeAnchor.gameObject.AddComponent(); + _centerEyeCamera.tag = "MainCamera"; + } + + if (_leftEyeCamera == null) + { + _leftEyeCamera = leftEyeAnchor.gameObject.AddComponent(); + _leftEyeCamera.tag = "MainCamera"; + } + + if (_rightEyeCamera == null) + { + _rightEyeCamera = rightEyeAnchor.gameObject.AddComponent(); + _rightEyeCamera.tag = "MainCamera"; + } + + _centerEyeCamera.stereoTargetEye = StereoTargetEyeMask.Both; + _leftEyeCamera.stereoTargetEye = StereoTargetEyeMask.Left; + _rightEyeCamera.stereoTargetEye = StereoTargetEyeMask.Right; + } + + if (monoscopic && !OVRPlugin.EyeTextureArrayEnabled) + { + // Output to left eye only when in monoscopic mode + if (_centerEyeCamera.stereoTargetEye != StereoTargetEyeMask.Left) + { + _centerEyeCamera.stereoTargetEye = StereoTargetEyeMask.Left; + } + } + else + { + if (_centerEyeCamera.stereoTargetEye != StereoTargetEyeMask.Both) + { + _centerEyeCamera.stereoTargetEye = StereoTargetEyeMask.Both; + } + } + + // disable the right eye camera when in monoscopic mode + if (_centerEyeCamera.enabled == usePerEyeCameras || + _leftEyeCamera.enabled == !usePerEyeCameras || + _rightEyeCamera.enabled == !(usePerEyeCameras && (!monoscopic || OVRPlugin.EyeTextureArrayEnabled))) + { + _skipUpdate = true; + } + + _centerEyeCamera.enabled = !usePerEyeCameras; + _leftEyeCamera.enabled = usePerEyeCameras; + _rightEyeCamera.enabled = (usePerEyeCameras && (!monoscopic || OVRPlugin.EyeTextureArrayEnabled)); + } + + protected virtual Transform ConfigureAnchor(Transform root, string name) + { + Transform anchor = (root != null) ? transform.Find(root.name + "/" + name) : null; + + if (anchor == null) + { + anchor = transform.Find(name); + } + + if (anchor == null) + { + anchor = new GameObject(name).transform; + } + + anchor.name = name; + anchor.parent = (root != null) ? root : transform; + anchor.localScale = Vector3.one; + anchor.localPosition = Vector3.zero; + anchor.localRotation = Quaternion.identity; + + return anchor; + } + + public virtual Matrix4x4 ComputeTrackReferenceMatrix() + { + if (centerEyeAnchor == null) + { + Debug.LogError("centerEyeAnchor is required"); + return Matrix4x4.identity; + } + + // The ideal approach would be using UnityEngine.VR.VRNode.TrackingReference, then we would not have to depend on the OVRCameraRig. Unfortunately, it is not available in Unity 5.4.3 + + OVRPose headPose; +#if UNITY_2017_2_OR_NEWER + headPose.position = UnityEngine.XR.InputTracking.GetLocalPosition(UnityEngine.XR.XRNode.Head); + headPose.orientation = UnityEngine.XR.InputTracking.GetLocalRotation(UnityEngine.XR.XRNode.Head); +#else + headPose.position = UnityEngine.VR.InputTracking.GetLocalPosition(UnityEngine.VR.VRNode.Head); + headPose.orientation = UnityEngine.VR.InputTracking.GetLocalRotation(UnityEngine.VR.VRNode.Head); +#endif + + OVRPose invHeadPose = headPose.Inverse(); + Matrix4x4 invHeadMatrix = Matrix4x4.TRS(invHeadPose.position, invHeadPose.orientation, Vector3.one); + + Matrix4x4 ret = centerEyeAnchor.localToWorldMatrix * invHeadMatrix; + + return ret; + } +} diff --git a/Assets/Oculus/VR/Scripts/OVRCameraRig.cs.meta b/Assets/Oculus/VR/Scripts/OVRCameraRig.cs.meta new file mode 100644 index 0000000..9a03177 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRCameraRig.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df9f338034892c44ebb62d97894772f1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/OVRCommon.cs b/Assets/Oculus/VR/Scripts/OVRCommon.cs new file mode 100644 index 0000000..b8fbf85 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRCommon.cs @@ -0,0 +1,380 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; + +/// +/// Miscellaneous extension methods that any script can use. +/// +public static class OVRExtensions +{ + /// + /// Converts the given world-space transform to an OVRPose in tracking space. + /// + public static OVRPose ToTrackingSpacePose(this Transform transform, Camera camera) + { + OVRPose headPose; +#if UNITY_2017_2_OR_NEWER + headPose.position = UnityEngine.XR.InputTracking.GetLocalPosition(UnityEngine.XR.XRNode.Head); + headPose.orientation = UnityEngine.XR.InputTracking.GetLocalRotation(UnityEngine.XR.XRNode.Head); +#else + headPose.position = UnityEngine.VR.InputTracking.GetLocalPosition(UnityEngine.VR.VRNode.Head); + headPose.orientation = UnityEngine.VR.InputTracking.GetLocalRotation(UnityEngine.VR.VRNode.Head); +#endif + + var ret = headPose * transform.ToHeadSpacePose(camera); + + return ret; + } + + + /// + /// Converts the given pose from tracking-space to world-space. + /// + public static OVRPose ToWorldSpacePose(OVRPose trackingSpacePose) + { + OVRPose headPose; +#if UNITY_2017_2_OR_NEWER + headPose.position = UnityEngine.XR.InputTracking.GetLocalPosition(UnityEngine.XR.XRNode.Head); + headPose.orientation = UnityEngine.XR.InputTracking.GetLocalRotation(UnityEngine.XR.XRNode.Head); +#else + headPose.position = UnityEngine.VR.InputTracking.GetLocalPosition(UnityEngine.VR.VRNode.Head); + headPose.orientation = UnityEngine.VR.InputTracking.GetLocalRotation(UnityEngine.VR.VRNode.Head); +#endif + + // Transform from tracking-Space to head-Space + OVRPose poseInHeadSpace = headPose.Inverse() * trackingSpacePose; + + // Transform from head space to world space + OVRPose ret = Camera.main.transform.ToOVRPose() * poseInHeadSpace; + + return ret; + } + + /// + /// Converts the given world-space transform to an OVRPose in head space. + /// + public static OVRPose ToHeadSpacePose(this Transform transform, Camera camera) + { + return camera.transform.ToOVRPose().Inverse() * transform.ToOVRPose(); + } + + internal static OVRPose ToOVRPose(this Transform t, bool isLocal = false) + { + OVRPose pose; + pose.orientation = (isLocal) ? t.localRotation : t.rotation; + pose.position = (isLocal) ? t.localPosition : t.position; + return pose; + } + + internal static void FromOVRPose(this Transform t, OVRPose pose, bool isLocal = false) + { + if (isLocal) + { + t.localRotation = pose.orientation; + t.localPosition = pose.position; + } + else + { + t.rotation = pose.orientation; + t.position = pose.position; + } + } + + internal static OVRPose ToOVRPose(this OVRPlugin.Posef p) + { + return new OVRPose() + { + position = new Vector3(p.Position.x, p.Position.y, -p.Position.z), + orientation = new Quaternion(-p.Orientation.x, -p.Orientation.y, p.Orientation.z, p.Orientation.w) + }; + } + + internal static OVRTracker.Frustum ToFrustum(this OVRPlugin.Frustumf f) + { + return new OVRTracker.Frustum() + { + nearZ = f.zNear, + farZ = f.zFar, + + fov = new Vector2() + { + x = Mathf.Rad2Deg * f.fovX, + y = Mathf.Rad2Deg * f.fovY + } + }; + } + + internal static Color FromColorf(this OVRPlugin.Colorf c) + { + return new Color() { r = c.r, g = c.g, b = c.b, a = c.a }; + } + + internal static OVRPlugin.Colorf ToColorf(this Color c) + { + return new OVRPlugin.Colorf() { r = c.r, g = c.g, b = c.b, a = c.a }; + } + + internal static Vector3 FromVector3f(this OVRPlugin.Vector3f v) + { + return new Vector3() { x = v.x, y = v.y, z = v.z }; + } + + internal static Vector3 FromFlippedZVector3f(this OVRPlugin.Vector3f v) + { + return new Vector3() { x = v.x, y = v.y, z = -v.z }; + } + + internal static OVRPlugin.Vector3f ToVector3f(this Vector3 v) + { + return new OVRPlugin.Vector3f() { x = v.x, y = v.y, z = v.z }; + } + + internal static OVRPlugin.Vector3f ToFlippedZVector3f(this Vector3 v) + { + return new OVRPlugin.Vector3f() { x = v.x, y = v.y, z = -v.z }; + } + + internal static Quaternion FromQuatf(this OVRPlugin.Quatf q) + { + return new Quaternion() { x = q.x, y = q.y, z = q.z, w = q.w }; + } + + internal static Quaternion FromFlippedZQuatf(this OVRPlugin.Quatf q) + { + return new Quaternion() { x = -q.x, y = -q.y, z = q.z, w = q.w }; + } + + internal static OVRPlugin.Quatf ToQuatf(this Quaternion q) + { + return new OVRPlugin.Quatf() { x = q.x, y = q.y, z = q.z, w = q.w }; + } + + internal static OVRPlugin.Quatf ToFlippedZQuatf(this Quaternion q) + { + return new OVRPlugin.Quatf() { x = -q.x, y = -q.y, z = q.z, w = q.w }; + } +} + +/// +/// An affine transformation built from a Unity position and orientation. +/// +[System.Serializable] +public struct OVRPose +{ + /// + /// A pose with no translation or rotation. + /// + public static OVRPose identity + { + get { + return new OVRPose() + { + position = Vector3.zero, + orientation = Quaternion.identity + }; + } + } + + public override bool Equals(System.Object obj) + { + return obj is OVRPose && this == (OVRPose)obj; + } + + public override int GetHashCode() + { + return position.GetHashCode() ^ orientation.GetHashCode(); + } + + public static bool operator ==(OVRPose x, OVRPose y) + { + return x.position == y.position && x.orientation == y.orientation; + } + + public static bool operator !=(OVRPose x, OVRPose y) + { + return !(x == y); + } + + /// + /// The position. + /// + public Vector3 position; + + /// + /// The orientation. + /// + public Quaternion orientation; + + /// + /// Multiplies two poses. + /// + public static OVRPose operator*(OVRPose lhs, OVRPose rhs) + { + var ret = new OVRPose(); + ret.position = lhs.position + lhs.orientation * rhs.position; + ret.orientation = lhs.orientation * rhs.orientation; + return ret; + } + + /// + /// Computes the inverse of the given pose. + /// + public OVRPose Inverse() + { + OVRPose ret; + ret.orientation = Quaternion.Inverse(orientation); + ret.position = ret.orientation * -position; + return ret; + } + + /// + /// Converts the pose from left- to right-handed or vice-versa. + /// + internal OVRPose flipZ() + { + var ret = this; + ret.position.z = -ret.position.z; + ret.orientation.z = -ret.orientation.z; + ret.orientation.w = -ret.orientation.w; + return ret; + } + + internal OVRPlugin.Posef ToPosef() + { + return new OVRPlugin.Posef() + { + Position = position.ToVector3f(), + Orientation = orientation.ToQuatf() + }; + } +} + +/// +/// Encapsulates an 8-byte-aligned of unmanaged memory. +/// +public class OVRNativeBuffer : IDisposable +{ + private bool disposed = false; + private int m_numBytes = 0; + private IntPtr m_ptr = IntPtr.Zero; + + /// + /// Creates a buffer of the specified size. + /// + public OVRNativeBuffer(int numBytes) + { + Reallocate(numBytes); + } + + /// + /// Releases unmanaged resources and performs other cleanup operations before the is + /// reclaimed by garbage collection. + /// + ~OVRNativeBuffer() + { + Dispose(false); + } + + /// + /// Reallocates the buffer with the specified new size. + /// + public void Reset(int numBytes) + { + Reallocate(numBytes); + } + + /// + /// The current number of bytes in the buffer. + /// + public int GetCapacity() + { + return m_numBytes; + } + + /// + /// A pointer to the unmanaged memory in the buffer, starting at the given offset in bytes. + /// + public IntPtr GetPointer(int byteOffset = 0) + { + if (byteOffset < 0 || byteOffset >= m_numBytes) + return IntPtr.Zero; + return (byteOffset == 0) ? m_ptr : new IntPtr(m_ptr.ToInt64() + byteOffset); + } + + /// + /// Releases all resource used by the object. + /// + /// Call when you are finished using the . The + /// method leaves the in an unusable state. After calling , you must + /// release all references to the so the garbage collector can reclaim the memory that + /// the was occupying. + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + private void Dispose(bool disposing) + { + if (disposed) + return; + + if (disposing) + { + // dispose managed resources + } + + // dispose unmanaged resources + Release(); + + disposed = true; + } + + private void Reallocate(int numBytes) + { + Release(); + + if (numBytes > 0) + { + m_ptr = Marshal.AllocHGlobal(numBytes); + m_numBytes = numBytes; + } + else + { + m_ptr = IntPtr.Zero; + m_numBytes = 0; + } + } + + private void Release() + { + if (m_ptr != IntPtr.Zero) + { + Marshal.FreeHGlobal(m_ptr); + m_ptr = IntPtr.Zero; + m_numBytes = 0; + } + } +} diff --git a/Assets/Oculus/VR/Scripts/OVRCommon.cs.meta b/Assets/Oculus/VR/Scripts/OVRCommon.cs.meta new file mode 100644 index 0000000..7e0dfeb --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRCommon.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 176f8d665b1d78048b1e87956698df6b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/OVRDebugHeadController.cs b/Assets/Oculus/VR/Scripts/OVRDebugHeadController.cs new file mode 100644 index 0000000..8d0cb36 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRDebugHeadController.cs @@ -0,0 +1,124 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections; + +/// +/// This is a simple behavior that can be attached to a parent of the CameraRig in order +/// to provide movement via the gamepad. This is useful when testing an application in +/// the Unity editor without the HMD. +/// To use it, create a game object in your scene and drag your CameraRig to be a child +/// of the game object. Then, add the OVRDebugHeadController behavior to the game object. +/// Alternatively, this behavior can be placed directly on the OVRCameraRig object, but +/// that is not guaranteed to work if OVRCameraRig functionality changes in the future. +/// In the parent case, the object with OVRDebugHeadController can be thougt of as a +/// platform that your camera is attached to. When the platform moves or rotates, the +/// camera moves or rotates, but the camera can still move independently while "on" the +/// platform. +/// In general, this behavior should be disabled when not debugging. +/// +public class OVRDebugHeadController : MonoBehaviour +{ + [SerializeField] + public bool AllowPitchLook = false; + [SerializeField] + public bool AllowYawLook = true; + [SerializeField] + public bool InvertPitch = false; + [SerializeField] + public float GamePad_PitchDegreesPerSec = 90.0f; + [SerializeField] + public float GamePad_YawDegreesPerSec = 90.0f; + [SerializeField] + public bool AllowMovement = false; + [SerializeField] + public float ForwardSpeed = 2.0f; + [SerializeField] + public float StrafeSpeed = 2.0f; + + protected OVRCameraRig CameraRig = null; + + void Awake() + { + // locate the camera rig so we can use it to get the current camera transform each frame + OVRCameraRig[] CameraRigs = gameObject.GetComponentsInChildren(); + + if( CameraRigs.Length == 0 ) + Debug.LogWarning("OVRCamParent: No OVRCameraRig attached."); + else if (CameraRigs.Length > 1) + Debug.LogWarning("OVRCamParent: More then 1 OVRCameraRig attached."); + else + CameraRig = CameraRigs[0]; + } + + // Use this for initialization + void Start () + { + + } + + // Update is called once per frame + void Update () + { + if ( AllowMovement ) + { + float gamePad_FwdAxis = OVRInput.Get(OVRInput.RawAxis2D.LThumbstick).y; + float gamePad_StrafeAxis = OVRInput.Get(OVRInput.RawAxis2D.LThumbstick).x; + + Vector3 fwdMove = ( CameraRig.centerEyeAnchor.rotation * Vector3.forward ) * gamePad_FwdAxis * Time.deltaTime * ForwardSpeed; + Vector3 strafeMove = ( CameraRig.centerEyeAnchor.rotation * Vector3.right ) * gamePad_StrafeAxis * Time.deltaTime * StrafeSpeed; + transform.position += fwdMove + strafeMove; + } + +#if UNITY_2017_2_OR_NEWER + if ( !UnityEngine.XR.XRDevice.isPresent && ( AllowYawLook || AllowPitchLook ) ) +#else + if ( !UnityEngine.VR.VRDevice.isPresent && ( AllowYawLook || AllowPitchLook ) ) +#endif + { + Quaternion r = transform.rotation; + if ( AllowYawLook ) + { + float gamePadYaw = OVRInput.Get(OVRInput.RawAxis2D.RThumbstick).x; + float yawAmount = gamePadYaw * Time.deltaTime * GamePad_YawDegreesPerSec; + Quaternion yawRot = Quaternion.AngleAxis( yawAmount, Vector3.up ); + r = yawRot * r; + } + if ( AllowPitchLook ) + { + float gamePadPitch = OVRInput.Get(OVRInput.RawAxis2D.RThumbstick).y; + if ( Mathf.Abs( gamePadPitch ) > 0.0001f ) + { + if ( InvertPitch ) + { + gamePadPitch *= -1.0f; + } + float pitchAmount = gamePadPitch * Time.deltaTime * GamePad_PitchDegreesPerSec; + Quaternion pitchRot = Quaternion.AngleAxis( pitchAmount, Vector3.left ); + r = r * pitchRot; + } + } + + transform.rotation = r; + } + } +} diff --git a/Assets/Oculus/VR/Scripts/OVRDebugHeadController.cs.meta b/Assets/Oculus/VR/Scripts/OVRDebugHeadController.cs.meta new file mode 100644 index 0000000..f90a79d --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRDebugHeadController.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 563681618daa71b4c89f979b1fd7170b +timeCreated: 1433450365 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/OVRDisplay.cs b/Assets/Oculus/VR/Scripts/OVRDisplay.cs new file mode 100644 index 0000000..baa65fe --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRDisplay.cs @@ -0,0 +1,355 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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.Runtime.InteropServices; +using System.Text.RegularExpressions; +using UnityEngine; + +/// +/// Manages an Oculus Rift head-mounted display (HMD). +/// +public class OVRDisplay +{ + /// + /// Contains full fov information per eye + /// Under Symmetric Fov mode, UpFov == DownFov and LeftFov == RightFov. + /// + public struct EyeFov + { + public float UpFov; + public float DownFov; + public float LeftFov; + public float RightFov; + } + + /// + /// Specifies the size and field-of-view for one eye texture. + /// + public struct EyeRenderDesc + { + /// + /// The horizontal and vertical size of the texture. + /// + public Vector2 resolution; + + /// + /// The angle of the horizontal and vertical field of view in degrees. + /// For Symmetric FOV interface compatibility + /// Note this includes the fov angle from both sides + /// + public Vector2 fov; + + /// + /// The full information of field of view in degrees. + /// When Asymmetric FOV isn't enabled, this returns the maximum fov angle + /// + public EyeFov fullFov; + } + + /// + /// Contains latency measurements for a single frame of rendering. + /// + public struct LatencyData + { + /// + /// The time it took to render both eyes in seconds. + /// + public float render; + + /// + /// The time it took to perform TimeWarp in seconds. + /// + public float timeWarp; + + /// + /// The time between the end of TimeWarp and scan-out in seconds. + /// + public float postPresent; + public float renderError; + public float timeWarpError; + } + + private bool needsConfigureTexture; + private EyeRenderDesc[] eyeDescs = new EyeRenderDesc[2]; + private bool recenterRequested = false; + private int recenterRequestedFrameCount = int.MaxValue; + + /// + /// Creates an instance of OVRDisplay. Called by OVRManager. + /// + public OVRDisplay() + { + UpdateTextures(); + } + + /// + /// Updates the internal state of the OVRDisplay. Called by OVRManager. + /// + public void Update() + { + UpdateTextures(); + + if (recenterRequested && Time.frameCount > recenterRequestedFrameCount) + { + if (RecenteredPose != null) + { + RecenteredPose(); + } + recenterRequested = false; + recenterRequestedFrameCount = int.MaxValue; + } + } + + /// + /// Occurs when the head pose is reset. + /// + public event System.Action RecenteredPose; + + /// + /// Recenters the head pose. + /// + public void RecenterPose() + { +#if UNITY_2017_2_OR_NEWER + UnityEngine.XR.InputTracking.Recenter(); +#else + UnityEngine.VR.InputTracking.Recenter(); +#endif + + // The current poses are cached for the current frame and won't be updated immediately + // after UnityEngine.VR.InputTracking.Recenter(). So we need to wait until next frame + // to trigger the RecenteredPose delegate. The application could expect the correct pose + // when the RecenteredPose delegate get called. + recenterRequested = true; + recenterRequestedFrameCount = Time.frameCount; + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + OVRMixedReality.RecenterPose(); +#endif + } + + /// + /// Gets the current linear acceleration of the head. + /// + public Vector3 acceleration + { + get { + if (!OVRManager.isHmdPresent) + return Vector3.zero; + + return OVRPlugin.GetNodeAcceleration(OVRPlugin.Node.Head, OVRPlugin.Step.Render).FromFlippedZVector3f(); + } + } + + /// + /// Gets the current angular acceleration of the head. + /// + public Vector3 angularAcceleration + { + get + { + if (!OVRManager.isHmdPresent) + return Vector3.zero; + + return OVRPlugin.GetNodeAngularAcceleration(OVRPlugin.Node.Head, OVRPlugin.Step.Render).FromFlippedZVector3f() * Mathf.Rad2Deg; + } + } + + /// + /// Gets the current linear velocity of the head. + /// + public Vector3 velocity + { + get + { + if (!OVRManager.isHmdPresent) + return Vector3.zero; + + return OVRPlugin.GetNodeVelocity(OVRPlugin.Node.Head, OVRPlugin.Step.Render).FromFlippedZVector3f(); + } + } + + /// + /// Gets the current angular velocity of the head. + /// + public Vector3 angularVelocity + { + get { + if (!OVRManager.isHmdPresent) + return Vector3.zero; + + return OVRPlugin.GetNodeAngularVelocity(OVRPlugin.Node.Head, OVRPlugin.Step.Render).FromFlippedZVector3f() * Mathf.Rad2Deg; + } + } + + /// + /// Gets the resolution and field of view for the given eye. + /// +#if UNITY_2017_2_OR_NEWER + public EyeRenderDesc GetEyeRenderDesc(UnityEngine.XR.XRNode eye) +#else + public EyeRenderDesc GetEyeRenderDesc(UnityEngine.VR.VRNode eye) +#endif + { + return eyeDescs[(int)eye]; + } + + /// + /// Gets the current measured latency values. + /// + public LatencyData latency + { + get { + if (!OVRManager.isHmdPresent) + return new LatencyData(); + + string latency = OVRPlugin.latency; + + var r = new Regex("Render: ([0-9]+[.][0-9]+)ms, TimeWarp: ([0-9]+[.][0-9]+)ms, PostPresent: ([0-9]+[.][0-9]+)ms", RegexOptions.None); + + var ret = new LatencyData(); + + Match match = r.Match(latency); + if (match.Success) + { + ret.render = float.Parse(match.Groups[1].Value); + ret.timeWarp = float.Parse(match.Groups[2].Value); + ret.postPresent = float.Parse(match.Groups[3].Value); + } + + return ret; + } + } + + /// + /// Gets application's frame rate reported by oculus plugin + /// + public float appFramerate + { + get + { + if (!OVRManager.isHmdPresent) + return 0; + + return OVRPlugin.GetAppFramerate(); + } + } + + /// + /// Gets the recommended MSAA level for optimal quality/performance the current device. + /// + public int recommendedMSAALevel + { + get + { + int result = OVRPlugin.recommendedMSAALevel; + + if (result == 1) + result = 0; + + return result; + } + } + + /// + /// Gets the list of available display frequencies supported by this hardware. + /// + public float[] displayFrequenciesAvailable + { + get { return OVRPlugin.systemDisplayFrequenciesAvailable; } + } + + /// + /// Gets and sets the current display frequency. + /// + public float displayFrequency + { + get + { + return OVRPlugin.systemDisplayFrequency; + } + set + { + OVRPlugin.systemDisplayFrequency = value; + } + } + + private void UpdateTextures() + { +#if UNITY_2017_2_OR_NEWER + ConfigureEyeDesc(UnityEngine.XR.XRNode.LeftEye); + ConfigureEyeDesc(UnityEngine.XR.XRNode.RightEye); +#else + ConfigureEyeDesc(UnityEngine.VR.VRNode.LeftEye); + ConfigureEyeDesc(UnityEngine.VR.VRNode.RightEye); +#endif + } + +#if UNITY_2017_2_OR_NEWER + private void ConfigureEyeDesc(UnityEngine.XR.XRNode eye) +#else + private void ConfigureEyeDesc(UnityEngine.VR.VRNode eye) +#endif + { + if (!OVRManager.isHmdPresent) + return; + + OVRPlugin.Sizei size = OVRPlugin.GetEyeTextureSize((OVRPlugin.Eye)eye); + + eyeDescs[(int)eye] = new EyeRenderDesc(); + eyeDescs[(int)eye].resolution = new Vector2(size.w, size.h); + + OVRPlugin.Frustumf2 frust; + if (OVRPlugin.GetNodeFrustum2((OVRPlugin.Node)eye, out frust)) + { + eyeDescs[(int)eye].fullFov.LeftFov = Mathf.Rad2Deg * Mathf.Atan(frust.Fov.LeftTan); + eyeDescs[(int)eye].fullFov.RightFov = Mathf.Rad2Deg * Mathf.Atan(frust.Fov.RightTan); + eyeDescs[(int)eye].fullFov.UpFov = Mathf.Rad2Deg * Mathf.Atan(frust.Fov.UpTan); + eyeDescs[(int)eye].fullFov.DownFov = Mathf.Rad2Deg * Mathf.Atan(frust.Fov.DownTan); + } + else + { + OVRPlugin.Frustumf frustOld = OVRPlugin.GetEyeFrustum((OVRPlugin.Eye)eye); + eyeDescs[(int)eye].fullFov.LeftFov = Mathf.Rad2Deg * frustOld.fovX * 0.5f; + eyeDescs[(int)eye].fullFov.RightFov = Mathf.Rad2Deg * frustOld.fovX * 0.5f; + eyeDescs[(int)eye].fullFov.UpFov = Mathf.Rad2Deg * frustOld.fovY * 0.5f; + eyeDescs[(int)eye].fullFov.DownFov = Mathf.Rad2Deg * frustOld.fovY * 0.5f; + } + + // Symmetric Fov uses the maximum fov angle + float maxFovX = Mathf.Max(eyeDescs[(int)eye].fullFov.LeftFov, eyeDescs[(int)eye].fullFov.RightFov); + float maxFovY = Mathf.Max(eyeDescs[(int)eye].fullFov.UpFov, eyeDescs[(int)eye].fullFov.DownFov); + eyeDescs[(int)eye].fov.x = maxFovX * 2.0f; + eyeDescs[(int)eye].fov.y = maxFovY * 2.0f; + + if (!OVRPlugin.AsymmetricFovEnabled) + { + eyeDescs[(int)eye].fullFov.LeftFov = maxFovX; + eyeDescs[(int)eye].fullFov.RightFov = maxFovX; + + eyeDescs[(int)eye].fullFov.UpFov = maxFovY; + eyeDescs[(int)eye].fullFov.DownFov = maxFovY; + } + + + } +} diff --git a/Assets/Oculus/VR/Scripts/OVRDisplay.cs.meta b/Assets/Oculus/VR/Scripts/OVRDisplay.cs.meta new file mode 100644 index 0000000..83e0aae --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRDisplay.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bb365ebe8e821fc4e81e9dca9d704357 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/OVRHaptics.cs b/Assets/Oculus/VR/Scripts/OVRHaptics.cs new file mode 100644 index 0000000..22a81c0 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRHaptics.cs @@ -0,0 +1,373 @@ +using UnityEngine; +using System; +using System.IO; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.InteropServices; + +/// +/// Plays tactile effects on a tracked VR controller. +/// +public static class OVRHaptics +{ + public readonly static OVRHapticsChannel[] Channels; + public readonly static OVRHapticsChannel LeftChannel; + public readonly static OVRHapticsChannel RightChannel; + + private readonly static OVRHapticsOutput[] m_outputs; + + static OVRHaptics() + { + Config.Load(); + + m_outputs = new OVRHapticsOutput[] + { + new OVRHapticsOutput((uint)OVRPlugin.Controller.LTouch), + new OVRHapticsOutput((uint)OVRPlugin.Controller.RTouch), + }; + + Channels = new OVRHapticsChannel[] + { + LeftChannel = new OVRHapticsChannel(0), + RightChannel = new OVRHapticsChannel(1), + }; + } + + /// + /// Determines the target format for haptics data on a specific device. + /// + public static class Config + { + public static int SampleRateHz { get; private set; } + public static int SampleSizeInBytes { get; private set; } + public static int MinimumSafeSamplesQueued { get; private set; } + public static int MinimumBufferSamplesCount { get; private set; } + public static int OptimalBufferSamplesCount { get; private set; } + public static int MaximumBufferSamplesCount { get; private set; } + + static Config() + { + Load(); + } + + public static void Load() + { + OVRPlugin.HapticsDesc desc = OVRPlugin.GetControllerHapticsDesc((uint)OVRPlugin.Controller.RTouch); + + SampleRateHz = desc.SampleRateHz; + SampleSizeInBytes = desc.SampleSizeInBytes; + MinimumSafeSamplesQueued = desc.MinimumSafeSamplesQueued; + MinimumBufferSamplesCount = desc.MinimumBufferSamplesCount; + OptimalBufferSamplesCount = desc.OptimalBufferSamplesCount; + MaximumBufferSamplesCount = desc.MaximumBufferSamplesCount; + } + } + + /// + /// A track of haptics data that can be mixed or sequenced with another track. + /// + public class OVRHapticsChannel + { + private OVRHapticsOutput m_output; + + /// + /// Constructs a channel targeting the specified output. + /// + public OVRHapticsChannel(uint outputIndex) + { + m_output = m_outputs[outputIndex]; + } + + /// + /// Cancels any currently-playing clips and immediatly plays the specified clip instead. + /// + public void Preempt(OVRHapticsClip clip) + { + m_output.Preempt(clip); + } + + /// + /// Enqueues the specified clip to play after any currently-playing clips finish. + /// + public void Queue(OVRHapticsClip clip) + { + m_output.Queue(clip); + } + + /// + /// Adds the specified clip to play simultaneously to the currently-playing clip(s). + /// + public void Mix(OVRHapticsClip clip) + { + m_output.Mix(clip); + } + + /// + /// Cancels any currently-playing clips. + /// + public void Clear() + { + m_output.Clear(); + } + } + + private class OVRHapticsOutput + { + private class ClipPlaybackTracker + { + public int ReadCount { get; set; } + public OVRHapticsClip Clip { get; set; } + + public ClipPlaybackTracker(OVRHapticsClip clip) + { + Clip = clip; + } + } + + private bool m_lowLatencyMode = true; + private bool m_paddingEnabled = true; + private int m_prevSamplesQueued = 0; + private float m_prevSamplesQueuedTime = 0; + private int m_numPredictionHits = 0; + private int m_numPredictionMisses = 0; + private int m_numUnderruns = 0; + private List m_pendingClips = new List(); + private uint m_controller = 0; + private OVRNativeBuffer m_nativeBuffer = new OVRNativeBuffer(OVRHaptics.Config.MaximumBufferSamplesCount * OVRHaptics.Config.SampleSizeInBytes); + private OVRHapticsClip m_paddingClip = new OVRHapticsClip(); + + public OVRHapticsOutput(uint controller) + { +#if UNITY_ANDROID + m_paddingEnabled = false; +#endif + m_controller = controller; + } + + /// + /// The system calls this each frame to update haptics playback. + /// + public void Process() + { + var hapticsState = OVRPlugin.GetControllerHapticsState(m_controller); + + float elapsedTime = Time.realtimeSinceStartup - m_prevSamplesQueuedTime; + if (m_prevSamplesQueued > 0) + { + int expectedSamples = m_prevSamplesQueued - (int)(elapsedTime * OVRHaptics.Config.SampleRateHz + 0.5f); + if (expectedSamples < 0) + expectedSamples = 0; + + if ((hapticsState.SamplesQueued - expectedSamples) == 0) + m_numPredictionHits++; + else + m_numPredictionMisses++; + + //Debug.Log(hapticsState.SamplesAvailable + "a " + hapticsState.SamplesQueued + "q " + expectedSamples + "e " + //+ "Prediction Accuracy: " + m_numPredictionHits / (float)(m_numPredictionMisses + m_numPredictionHits)); + + if ((expectedSamples > 0) && (hapticsState.SamplesQueued == 0)) + { + m_numUnderruns++; + //Debug.LogError("Samples Underrun (" + m_controller + " #" + m_numUnderruns + ") -" + // + " Expected: " + expectedSamples + // + " Actual: " + hapticsState.SamplesQueued); + } + + m_prevSamplesQueued = hapticsState.SamplesQueued; + m_prevSamplesQueuedTime = Time.realtimeSinceStartup; + } + + int desiredSamplesCount = OVRHaptics.Config.OptimalBufferSamplesCount; + if (m_lowLatencyMode) + { + float sampleRateMs = 1000.0f / (float)OVRHaptics.Config.SampleRateHz; + float elapsedMs = elapsedTime * 1000.0f; + int samplesNeededPerFrame = (int)Mathf.Ceil(elapsedMs / sampleRateMs); + int lowLatencySamplesCount = OVRHaptics.Config.MinimumSafeSamplesQueued + samplesNeededPerFrame; + + if (lowLatencySamplesCount < desiredSamplesCount) + desiredSamplesCount = lowLatencySamplesCount; + } + + if (hapticsState.SamplesQueued > desiredSamplesCount) + return; + + if (desiredSamplesCount > OVRHaptics.Config.MaximumBufferSamplesCount) + desiredSamplesCount = OVRHaptics.Config.MaximumBufferSamplesCount; + if (desiredSamplesCount > hapticsState.SamplesAvailable) + desiredSamplesCount = hapticsState.SamplesAvailable; + + int acquiredSamplesCount = 0; + int clipIndex = 0; + while(acquiredSamplesCount < desiredSamplesCount && clipIndex < m_pendingClips.Count) + { + int numSamplesToCopy = desiredSamplesCount - acquiredSamplesCount; + int remainingSamplesInClip = m_pendingClips[clipIndex].Clip.Count - m_pendingClips[clipIndex].ReadCount; + if (numSamplesToCopy > remainingSamplesInClip) + numSamplesToCopy = remainingSamplesInClip; + + if (numSamplesToCopy > 0) + { + int numBytes = numSamplesToCopy * OVRHaptics.Config.SampleSizeInBytes; + int dstOffset = acquiredSamplesCount * OVRHaptics.Config.SampleSizeInBytes; + int srcOffset = m_pendingClips[clipIndex].ReadCount * OVRHaptics.Config.SampleSizeInBytes; + Marshal.Copy(m_pendingClips[clipIndex].Clip.Samples, srcOffset, m_nativeBuffer.GetPointer(dstOffset), numBytes); + + m_pendingClips[clipIndex].ReadCount += numSamplesToCopy; + acquiredSamplesCount += numSamplesToCopy; + } + + clipIndex++; + } + + for (int i = m_pendingClips.Count - 1; i >= 0 && m_pendingClips.Count > 0; i--) + { + if (m_pendingClips[i].ReadCount >= m_pendingClips[i].Clip.Count) + m_pendingClips.RemoveAt(i); + } + + if (m_paddingEnabled) + { + int desiredPadding = desiredSamplesCount - (hapticsState.SamplesQueued + acquiredSamplesCount); + if (desiredPadding < (OVRHaptics.Config.MinimumBufferSamplesCount - acquiredSamplesCount)) + desiredPadding = (OVRHaptics.Config.MinimumBufferSamplesCount - acquiredSamplesCount); + if (desiredPadding > hapticsState.SamplesAvailable) + desiredPadding = hapticsState.SamplesAvailable; + + if (desiredPadding > 0) + { + int numBytes = desiredPadding * OVRHaptics.Config.SampleSizeInBytes; + int dstOffset = acquiredSamplesCount * OVRHaptics.Config.SampleSizeInBytes; + int srcOffset = 0; + Marshal.Copy(m_paddingClip.Samples, srcOffset, m_nativeBuffer.GetPointer(dstOffset), numBytes); + + acquiredSamplesCount += desiredPadding; + } + } + + if (acquiredSamplesCount > 0) + { + OVRPlugin.HapticsBuffer hapticsBuffer; + hapticsBuffer.Samples = m_nativeBuffer.GetPointer(); + hapticsBuffer.SamplesCount = acquiredSamplesCount; + + OVRPlugin.SetControllerHaptics(m_controller, hapticsBuffer); + + hapticsState = OVRPlugin.GetControllerHapticsState(m_controller); + m_prevSamplesQueued = hapticsState.SamplesQueued; + m_prevSamplesQueuedTime = Time.realtimeSinceStartup; + } + } + + /// + /// Immediately plays the specified clip without waiting for any currently-playing clip to finish. + /// + public void Preempt(OVRHapticsClip clip) + { + m_pendingClips.Clear(); + m_pendingClips.Add(new ClipPlaybackTracker(clip)); + } + + /// + /// Enqueues the specified clip to play after any currently-playing clip finishes. + /// + public void Queue(OVRHapticsClip clip) + { + m_pendingClips.Add(new ClipPlaybackTracker(clip)); + } + + /// + /// Adds the samples from the specified clip to the ones in the currently-playing clip(s). + /// + public void Mix(OVRHapticsClip clip) + { + int numClipsToMix = 0; + int numSamplesToMix = 0; + int numSamplesRemaining = clip.Count; + + while (numSamplesRemaining > 0 && numClipsToMix < m_pendingClips.Count) + { + int numSamplesRemainingInClip = m_pendingClips[numClipsToMix].Clip.Count - m_pendingClips[numClipsToMix].ReadCount; + numSamplesRemaining -= numSamplesRemainingInClip; + numSamplesToMix += numSamplesRemainingInClip; + numClipsToMix++; + } + + if (numSamplesRemaining > 0) + { + numSamplesToMix += numSamplesRemaining; + numSamplesRemaining = 0; + } + + if (numClipsToMix > 0) + { + OVRHapticsClip mixClip = new OVRHapticsClip(numSamplesToMix); + + OVRHapticsClip a = clip; + int aReadCount = 0; + + for (int i = 0; i < numClipsToMix; i++) + { + OVRHapticsClip b = m_pendingClips[i].Clip; + for(int bReadCount = m_pendingClips[i].ReadCount; bReadCount < b.Count; bReadCount++) + { + if (OVRHaptics.Config.SampleSizeInBytes == 1) + { + byte sample = 0; // TODO support multi-byte samples + if ((aReadCount < a.Count) && (bReadCount < b.Count)) + { + sample = (byte)(Mathf.Clamp(a.Samples[aReadCount] + b.Samples[bReadCount], 0, System.Byte.MaxValue)); // TODO support multi-byte samples + aReadCount++; + } + else if (bReadCount < b.Count) + { + sample = b.Samples[bReadCount]; // TODO support multi-byte samples + } + + mixClip.WriteSample(sample); // TODO support multi-byte samples + } + } + } + + while (aReadCount < a.Count) + { + if (OVRHaptics.Config.SampleSizeInBytes == 1) + { + mixClip.WriteSample(a.Samples[aReadCount]); // TODO support multi-byte samples + } + aReadCount++; + } + + m_pendingClips[0] = new ClipPlaybackTracker(mixClip); + for (int i = 1; i < numClipsToMix; i++) + { + m_pendingClips.RemoveAt(1); + } + } + else + { + m_pendingClips.Add(new ClipPlaybackTracker(clip)); + } + } + + public void Clear() + { + m_pendingClips.Clear(); + } + } + + /// + /// The system calls this each frame to update haptics playback. + /// + public static void Process() + { + Config.Load(); + + for (int i = 0; i < m_outputs.Length; i++) + { + m_outputs[i].Process(); + } + } +} + diff --git a/Assets/Oculus/VR/Scripts/OVRHaptics.cs.meta b/Assets/Oculus/VR/Scripts/OVRHaptics.cs.meta new file mode 100644 index 0000000..bffc538 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRHaptics.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d3b22b858e27329498781f145fa42610 +timeCreated: 1463018541 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/OVRHapticsClip.cs b/Assets/Oculus/VR/Scripts/OVRHapticsClip.cs new file mode 100644 index 0000000..21c2d27 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRHapticsClip.cs @@ -0,0 +1,149 @@ +using UnityEngine; +using System.Collections; + +/// +/// A PCM buffer of data for a haptics effect. +/// +public class OVRHapticsClip +{ + /// + /// The current number of samples in the clip. + /// + public int Count { get; private set; } + + /// + /// The maximum number of samples the clip can store. + /// + public int Capacity { get; private set; } + + /// + /// The raw haptics data. + /// + public byte[] Samples { get; private set; } + + public OVRHapticsClip() + { + Capacity = OVRHaptics.Config.MaximumBufferSamplesCount; + Samples = new byte[Capacity * OVRHaptics.Config.SampleSizeInBytes]; + } + + /// + /// Creates a clip with the specified capacity. + /// + public OVRHapticsClip(int capacity) + { + Capacity = (capacity >= 0) ? capacity : 0; + Samples = new byte[Capacity * OVRHaptics.Config.SampleSizeInBytes]; + } + + /// + /// Creates a clip with the specified data. + /// + public OVRHapticsClip(byte[] samples, int samplesCount) + { + Samples = samples; + Capacity = Samples.Length / OVRHaptics.Config.SampleSizeInBytes; + Count = (samplesCount >= 0) ? samplesCount : 0; + } + + /// + /// Creates a clip by mixing the specified clips. + /// + public OVRHapticsClip(OVRHapticsClip a, OVRHapticsClip b) + { + int maxCount = a.Count; + if (b.Count > maxCount) + maxCount = b.Count; + + Capacity = maxCount; + Samples = new byte[Capacity * OVRHaptics.Config.SampleSizeInBytes]; + + for (int i = 0; i < a.Count || i < b.Count; i++) + { + if (OVRHaptics.Config.SampleSizeInBytes == 1) + { + byte sample = 0; // TODO support multi-byte samples + if ((i < a.Count) && (i < b.Count)) + sample = (byte)(Mathf.Clamp(a.Samples[i] + b.Samples[i], 0, System.Byte.MaxValue)); // TODO support multi-byte samples + else if (i < a.Count) + sample = a.Samples[i]; // TODO support multi-byte samples + else if (i < b.Count) + sample = b.Samples[i]; // TODO support multi-byte samples + + WriteSample(sample); // TODO support multi-byte samples + } + } + } + + /// + /// Creates a haptics clip from the specified audio clip. + /// + public OVRHapticsClip(AudioClip audioClip, int channel = 0) + { + float[] audioData = new float[audioClip.samples * audioClip.channels]; + audioClip.GetData(audioData, 0); + + InitializeFromAudioFloatTrack(audioData, audioClip.frequency, audioClip.channels, channel); + } + + /// + /// Adds the specified sample to the end of the clip. + /// + public void WriteSample(byte sample) // TODO support multi-byte samples + { + if (Count >= Capacity) + { + //Debug.LogError("Attempted to write OVRHapticsClip sample out of range - Count:" + Count + " Capacity:" + Capacity); + return; + } + + if (OVRHaptics.Config.SampleSizeInBytes == 1) + { + Samples[Count * OVRHaptics.Config.SampleSizeInBytes] = sample; // TODO support multi-byte samples + } + + Count++; + } + + /// + /// Clears the clip and resets its size to 0. + /// + public void Reset() + { + Count = 0; + } + + private void InitializeFromAudioFloatTrack(float[] sourceData, double sourceFrequency, int sourceChannelCount, int sourceChannel) + { + double stepSizePrecise = (sourceFrequency + 1e-6) / OVRHaptics.Config.SampleRateHz; + + if (stepSizePrecise < 1.0) + return; + + int stepSize = (int)stepSizePrecise; + double stepSizeError = stepSizePrecise - stepSize; + double accumulatedStepSizeError = 0.0f; + int length = sourceData.Length; + + Count = 0; + Capacity = length / sourceChannelCount / stepSize + 1; + Samples = new byte[Capacity * OVRHaptics.Config.SampleSizeInBytes]; + + int i = sourceChannel % sourceChannelCount; + while (i < length) + { + if (OVRHaptics.Config.SampleSizeInBytes == 1) + { + WriteSample((byte)(Mathf.Clamp01(Mathf.Abs(sourceData[i])) * System.Byte.MaxValue)); // TODO support multi-byte samples + } + i+= stepSize * sourceChannelCount; + accumulatedStepSizeError += stepSizeError; + if ((int)accumulatedStepSizeError > 0) + { + i+= (int)accumulatedStepSizeError * sourceChannelCount; + accumulatedStepSizeError = accumulatedStepSizeError - (int)accumulatedStepSizeError; + } + } + } +} + diff --git a/Assets/Oculus/VR/Scripts/OVRHapticsClip.cs.meta b/Assets/Oculus/VR/Scripts/OVRHapticsClip.cs.meta new file mode 100644 index 0000000..c893687 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRHapticsClip.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c123270a848515b458069b5242866451 +timeCreated: 1467575852 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/OVRInput.cs b/Assets/Oculus/VR/Scripts/OVRInput.cs new file mode 100644 index 0000000..96e3e9f --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRInput.cs @@ -0,0 +1,2993 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using UnityEngine; + +/// +/// Provides a unified input system for Oculus controllers and gamepads. +/// +public static class OVRInput +{ + [Flags] + /// Virtual button mappings that allow the same input bindings to work across different controllers. + public enum Button + { + None = 0, ///< Maps to RawButton: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + One = 0x00000001, ///< Maps to RawButton: [Gamepad, Touch, RTouch: A], [LTouch: X], [LTrackedRemote: LTouchpad], [RTrackedRemote: RTouchpad], [Touchpad, Remote: Start] + Two = 0x00000002, ///< Maps to RawButton: [Gamepad, Touch, RTouch: B], [LTouch: Y], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: Back] + Three = 0x00000004, ///< Maps to RawButton: [Gamepad, Touch: X], [LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Four = 0x00000008, ///< Maps to RawButton: [Gamepad, Touch: Y], [LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Start = 0x00000100, ///< Maps to RawButton: [Gamepad: Start], [Touch, LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: Start], [RTouch: None] + Back = 0x00000200, ///< Maps to RawButton: [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: Back], [Touch, LTouch, RTouch: None] + PrimaryShoulder = 0x00001000, ///< Maps to RawButton: [Gamepad: LShoulder], [Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryIndexTrigger = 0x00002000, ///< Maps to RawButton: [Gamepad, Touch, LTouch, LTrackedRemote: LIndexTrigger], [RTouch, RTrackedRemote: RIndexTrigger], [Touchpad, Remote: None] + PrimaryHandTrigger = 0x00004000, ///< Maps to RawButton: [Touch, LTouch: LHandTrigger], [RTouch: RHandTrigger], [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryThumbstick = 0x00008000, ///< Maps to RawButton: [Gamepad, Touch, LTouch: LThumbstick], [RTouch: RThumbstick], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryThumbstickUp = 0x00010000, ///< Maps to RawButton: [Gamepad, Touch, LTouch: LThumbstickUp], [RTouch: RThumbstickUp], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryThumbstickDown = 0x00020000, ///< Maps to RawButton: [Gamepad, Touch, LTouch: LThumbstickDown], [RTouch: RThumbstickDown], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryThumbstickLeft = 0x00040000, ///< Maps to RawButton: [Gamepad, Touch, LTouch: LThumbstickLeft], [RTouch: RThumbstickLeft], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryThumbstickRight = 0x00080000, ///< Maps to RawButton: [Gamepad, Touch, LTouch: LThumbstickRight], [RTouch: RThumbstickRight], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryTouchpad = 0x00000400, ///< Maps to RawButton: [LTrackedRemote, Touchpad: LTouchpad], [RTrackedRemote: RTouchpad], [Gamepad, Touch, LTouch, RTouch, Remote: None] + SecondaryShoulder = 0x00100000, ///< Maps to RawButton: [Gamepad: RShoulder], [Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryIndexTrigger = 0x00200000, ///< Maps to RawButton: [Gamepad, Touch: RIndexTrigger], [LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryHandTrigger = 0x00400000, ///< Maps to RawButton: [Touch: RHandTrigger], [Gamepad, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryThumbstick = 0x00800000, ///< Maps to RawButton: [Gamepad, Touch: RThumbstick], [LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryThumbstickUp = 0x01000000, ///< Maps to RawButton: [Gamepad, Touch: RThumbstickUp], [LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryThumbstickDown = 0x02000000, ///< Maps to RawButton: [Gamepad, Touch: RThumbstickDown], [LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryThumbstickLeft = 0x04000000, ///< Maps to RawButton: [Gamepad, Touch: RThumbstickLeft], [LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryThumbstickRight = 0x08000000, ///< Maps to RawButton: [Gamepad, Touch: RThumbstickRight], [LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryTouchpad = 0x00000800, ///< Maps to RawButton: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + DpadUp = 0x00000010, ///< Maps to RawButton: [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: DpadUp], [Touch, LTouch, RTouch: None] + DpadDown = 0x00000020, ///< Maps to RawButton: [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: DpadDown], [Touch, LTouch, RTouch: None] + DpadLeft = 0x00000040, ///< Maps to RawButton: [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: DpadLeft], [Touch, LTouch, RTouch: None] + DpadRight = 0x00000080, ///< Maps to RawButton: [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: DpadRight], [Touch, LTouch, RTouch: None] + Up = 0x10000000, ///< Maps to RawButton: [Gamepad, Touch, LTouch: LThumbstickUp], [RTouch: RThumbstickUp], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: DpadUp] + Down = 0x20000000, ///< Maps to RawButton: [Gamepad, Touch, LTouch: LThumbstickDown], [RTouch: RThumbstickDown], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: DpadDown] + Left = 0x40000000, ///< Maps to RawButton: [Gamepad, Touch, LTouch: LThumbstickLeft], [RTouch: RThumbstickLeft], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: DpadLeft] + Right = unchecked((int)0x80000000),///< Maps to RawButton: [Gamepad, Touch, LTouch: LThumbstickRight], [RTouch: RThumbstickRight], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: DpadRight] + Any = ~None, ///< Maps to RawButton: [Gamepad, Touch, LTouch, RTouch: Any] + } + + [Flags] + /// Raw button mappings that can be used to directly query the state of a controller. + public enum RawButton + { + None = 0, ///< Maps to Physical Button: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + A = 0x00000001, ///< Maps to Physical Button: [Gamepad, Touch, RTouch: A], [LTrackedRemote: LIndexTrigger], [RTrackedRemote: RIndexTrigger], [LTouch, Touchpad, Remote: None] + B = 0x00000002, ///< Maps to Physical Button: [Gamepad, Touch, RTouch: B], [LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + X = 0x00000100, ///< Maps to Physical Button: [Gamepad, Touch, LTouch: X], [RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Y = 0x00000200, ///< Maps to Physical Button: [Gamepad, Touch, LTouch: Y], [RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Start = 0x00100000, ///< Maps to Physical Button: [Gamepad, Touch, LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: Start], [RTouch: None] + Back = 0x00200000, ///< Maps to Physical Button: [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: Back], [Touch, LTouch, RTouch: None] + LShoulder = 0x00000800, ///< Maps to Physical Button: [Gamepad: LShoulder], [Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LIndexTrigger = 0x10000000, ///< Maps to Physical Button: [Gamepad, Touch, LTouch, LTrackedRemote: LIndexTrigger], [RTouch, RTrackedRemote, Touchpad, Remote: None] + LHandTrigger = 0x20000000, ///< Maps to Physical Button: [Touch, LTouch: LHandTrigger], [Gamepad, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LThumbstick = 0x00000400, ///< Maps to Physical Button: [Gamepad, Touch, LTouch: LThumbstick], [RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LThumbstickUp = 0x00000010, ///< Maps to Physical Button: [Gamepad, Touch, LTouch: LThumbstickUp], [RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LThumbstickDown = 0x00000020, ///< Maps to Physical Button: [Gamepad, Touch, LTouch: LThumbstickDown], [RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LThumbstickLeft = 0x00000040, ///< Maps to Physical Button: [Gamepad, Touch, LTouch: LThumbstickLeft], [RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LThumbstickRight = 0x00000080, ///< Maps to Physical Button: [Gamepad, Touch, LTouch: LThumbstickRight], [RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LTouchpad = 0x40000000, ///< Maps to Physical Button: [LTrackedRemote: LTouchpad], [Gamepad, Touch, LTouch, RTouch, RTrackedRemote, Touchpad, Remote: None] + RShoulder = 0x00000008, ///< Maps to Physical Button: [Gamepad: RShoulder], [Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RIndexTrigger = 0x04000000, ///< Maps to Physical Button: [Gamepad, Touch, RTouch, RTrackedRemote: RIndexTrigger], [LTouch, LTrackedRemote, Touchpad, Remote: None] + RHandTrigger = 0x08000000, ///< Maps to Physical Button: [Touch, RTouch: RHandTrigger], [Gamepad, LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RThumbstick = 0x00000004, ///< Maps to Physical Button: [Gamepad, Touch, RTouch: RThumbstick], [LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RThumbstickUp = 0x00001000, ///< Maps to Physical Button: [Gamepad, Touch, RTouch: RThumbstickUp], [LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RThumbstickDown = 0x00002000, ///< Maps to Physical Button: [Gamepad, Touch, RTouch: RThumbstickDown], [LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RThumbstickLeft = 0x00004000, ///< Maps to Physical Button: [Gamepad, Touch, RTouch: RThumbstickLeft], [LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RThumbstickRight = 0x00008000, ///< Maps to Physical Button: [Gamepad, Touch, RTouch: RThumbstickRight], [LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RTouchpad = unchecked((int)0x80000000),///< Maps to Physical Button: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + DpadUp = 0x00010000, ///< Maps to Physical Button: [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: DpadUp], [Touch, LTouch, RTouch: None] + DpadDown = 0x00020000, ///< Maps to Physical Button: [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: DpadDown], [Touch, LTouch, RTouch: None] + DpadLeft = 0x00040000, ///< Maps to Physical Button: [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: DpadLeft], [Touch, LTouch, RTouch: None] + DpadRight = 0x00080000, ///< Maps to Physical Button: [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: DpadRight], [Touch, LTouch, RTouch: None] + Any = ~None, ///< Maps to Physical Button: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: Any] + } + + [Flags] + /// Virtual capacitive touch mappings that allow the same input bindings to work across different controllers with capacitive touch support. + public enum Touch + { + None = 0, ///< Maps to RawTouch: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + One = Button.One, ///< Maps to RawTouch: [Touch, RTouch: A], [LTouch: X], [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Two = Button.Two, ///< Maps to RawTouch: [Touch, RTouch: B], [LTouch: Y], [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Three = Button.Three, ///< Maps to RawTouch: [Touch: X], [Gamepad, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Four = Button.Four, ///< Maps to RawTouch: [Touch: Y], [Gamepad, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryIndexTrigger = Button.PrimaryIndexTrigger, ///< Maps to RawTouch: [Touch, LTouch: LIndexTrigger], [RTouch: RIndexTrigger], [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryThumbstick = Button.PrimaryThumbstick, ///< Maps to RawTouch: [Touch, LTouch: LThumbstick], [RTouch: RThumbstick], [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryThumbRest = 0x00001000, ///< Maps to RawTouch: [Touch, LTouch: LThumbRest], [RTouch: RThumbRest], [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryTouchpad = Button.PrimaryTouchpad, ///< Maps to RawTouch: [LTrackedRemote, Touchpad: LTouchpad], [RTrackedRemote: RTouchpad], [Gamepad, Touch, LTouch, RTouch, Remote: None] + SecondaryIndexTrigger = Button.SecondaryIndexTrigger, ///< Maps to RawTouch: [Touch: RIndexTrigger], [Gamepad, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryThumbstick = Button.SecondaryThumbstick, ///< Maps to RawTouch: [Touch: RThumbstick], [Gamepad, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryThumbRest = 0x00100000, ///< Maps to RawTouch: [Touch: RThumbRest], [Gamepad, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryTouchpad = Button.SecondaryTouchpad, ///< Maps to RawTouch: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Any = ~None, ///< Maps to RawTouch: [Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad: Any], [Gamepad, Remote: None] + } + + [Flags] + /// Raw capacitive touch mappings that can be used to directly query the state of a controller. + public enum RawTouch + { + None = 0, ///< Maps to Physical Touch: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + A = RawButton.A, ///< Maps to Physical Touch: [Touch, RTouch: A], [Gamepad, LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + B = RawButton.B, ///< Maps to Physical Touch: [Touch, RTouch: B], [Gamepad, LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + X = RawButton.X, ///< Maps to Physical Touch: [Touch, LTouch: X], [Gamepad, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Y = RawButton.Y, ///< Maps to Physical Touch: [Touch, LTouch: Y], [Gamepad, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LIndexTrigger = 0x00001000, ///< Maps to Physical Touch: [Touch, LTouch: LIndexTrigger], [Gamepad, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LThumbstick = RawButton.LThumbstick, ///< Maps to Physical Touch: [Touch, LTouch: LThumbstick], [Gamepad, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LThumbRest = 0x00000800, ///< Maps to Physical Touch: [Touch, LTouch: LThumbRest], [Gamepad, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LTouchpad = RawButton.LTouchpad, ///< Maps to Physical Touch: [LTrackedRemote, Touchpad: LTouchpad], [Gamepad, Touch, LTouch, RTouch, RTrackedRemote, Remote: None] + RIndexTrigger = 0x00000010, ///< Maps to Physical Touch: [Touch, RTouch: RIndexTrigger], [Gamepad, LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RThumbstick = RawButton.RThumbstick, ///< Maps to Physical Touch: [Touch, RTouch: RThumbstick], [Gamepad, LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RThumbRest = 0x00000008, ///< Maps to Physical Touch: [Touch, RTouch: RThumbRest], [Gamepad, LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RTouchpad = RawButton.RTouchpad, ///< Maps to Physical Touch: [RTrackedRemote: RTouchpad], [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, Touchpad, Remote: None] + Any = ~None, ///< Maps to Physical Touch: [Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad: Any], [Gamepad, Remote: None] + } + + [Flags] + /// Virtual near touch mappings that allow the same input bindings to work across different controllers with near touch support. + /// A near touch uses the capacitive touch sensors of a controller to detect approximate finger proximity prior to a full touch being reported. + public enum NearTouch + { + None = 0, ///< Maps to RawNearTouch: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryIndexTrigger = 0x00000001, ///< Maps to RawNearTouch: [Touch, LTouch: LIndexTrigger], [RTouch: RIndexTrigger], [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryThumbButtons = 0x00000002, ///< Maps to RawNearTouch: [Touch, LTouch: LThumbButtons], [RTouch: RThumbButtons], [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryIndexTrigger = 0x00000004, ///< Maps to RawNearTouch: [Touch: RIndexTrigger], [Gamepad, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryThumbButtons = 0x00000008, ///< Maps to RawNearTouch: [Touch: RThumbButtons], [Gamepad, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Any = ~None, ///< Maps to RawNearTouch: [Touch, LTouch, RTouch: Any], [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + } + + [Flags] + /// Raw near touch mappings that can be used to directly query the state of a controller. + public enum RawNearTouch + { + None = 0, ///< Maps to Physical NearTouch: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LIndexTrigger = 0x00000001, ///< Maps to Physical NearTouch: [Touch, LTouch: Implies finger is in close proximity to LIndexTrigger.], [Gamepad, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LThumbButtons = 0x00000002, ///< Maps to Physical NearTouch: [Touch, LTouch: Implies thumb is in close proximity to LThumbstick OR X/Y buttons.], [Gamepad, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RIndexTrigger = 0x00000004, ///< Maps to Physical NearTouch: [Touch, RTouch: Implies finger is in close proximity to RIndexTrigger.], [Gamepad, LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RThumbButtons = 0x00000008, ///< Maps to Physical NearTouch: [Touch, RTouch: Implies thumb is in close proximity to RThumbstick OR A/B buttons.], [Gamepad, LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Any = ~None, ///< Maps to Physical NearTouch: [Touch, LTouch, RTouch: Any], [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + } + + [Flags] + /// Virtual 1-dimensional axis (float) mappings that allow the same input bindings to work across different controllers. + public enum Axis1D + { + None = 0, ///< Maps to RawAxis1D: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryIndexTrigger = 0x01, ///< Maps to RawAxis1D: [Gamepad, Touch, LTouch: LIndexTrigger], [RTouch: RIndexTrigger], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryHandTrigger = 0x04, ///< Maps to RawAxis1D: [Touch, LTouch: LHandTrigger], [RTouch: RHandTrigger], [Gamepad, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryIndexTrigger = 0x02, ///< Maps to RawAxis1D: [Gamepad, Touch: RIndexTrigger], [LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryHandTrigger = 0x08, ///< Maps to RawAxis1D: [Touch: RHandTrigger], [Gamepad, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Any = ~None, ///< Maps to RawAxis1D: [Gamepad, Touch, LTouch, RTouch: Any], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + } + + [Flags] + /// Raw 1-dimensional axis (float) mappings that can be used to directly query the state of a controller. + public enum RawAxis1D + { + None = 0, ///< Maps to Physical Axis1D: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LIndexTrigger = 0x01, ///< Maps to Physical Axis1D: [Gamepad, Touch, LTouch: LIndexTrigger], [RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LHandTrigger = 0x04, ///< Maps to Physical Axis1D: [Touch, LTouch: LHandTrigger], [Gamepad, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RIndexTrigger = 0x02, ///< Maps to Physical Axis1D: [Gamepad, Touch, RTouch: RIndexTrigger], [LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RHandTrigger = 0x08, ///< Maps to Physical Axis1D: [Touch, RTouch: RHandTrigger], [Gamepad, LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Any = ~None, ///< Maps to Physical Axis1D: [Gamepad, Touch, LTouch, RTouch: Any], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + } + + [Flags] + /// Virtual 2-dimensional axis (Vector2) mappings that allow the same input bindings to work across different controllers. + public enum Axis2D + { + None = 0, ///< Maps to RawAxis2D: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryThumbstick = 0x01, ///< Maps to RawAxis2D: [Gamepad, Touch, LTouch: LThumbstick], [RTouch: RThumbstick], [LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + PrimaryTouchpad = 0x04, ///< Maps to RawAxis2D: [LTrackedRemote, Touchpad: LTouchpad], RTrackedRemote: RTouchpad], [Gamepad, Touch, LTouch, RTouch, Remote: None] + SecondaryThumbstick = 0x02, ///< Maps to RawAxis2D: [Gamepad, Touch: RThumbstick], [LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + SecondaryTouchpad = 0x08, ///< Maps to RawAxis2D: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + Any = ~None, ///< Maps to RawAxis2D: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad: Any], [Remote: None] + } + + [Flags] + /// Raw 2-dimensional axis (Vector2) mappings that can be used to directly query the state of a controller. + public enum RawAxis2D + { + None = 0, ///< Maps to Physical Axis2D: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LThumbstick = 0x01, ///< Maps to Physical Axis2D: [Gamepad, Touch, LTouch: LThumbstick], [RTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + LTouchpad = 0x04, ///< Maps to Physical Axis2D: [LTrackedRemote, Touchpad: LTouchpad], [Gamepad, Touch, LTouch, RTouch, RTrackedRemote, Remote: None] + RThumbstick = 0x02, ///< Maps to Physical Axis2D: [Gamepad, Touch, RTouch: RThumbstick], [LTouch, LTrackedRemote, RTrackedRemote, Touchpad, Remote: None] + RTouchpad = 0x08, ///< Maps to Physical Axis2D: [RTrackedRemote: RTouchpad], [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, Touchpad, Remote: None] + Any = ~None, ///< Maps to Physical Axis2D: [Gamepad, Touch, LTouch, RTouch, LTrackedRemote, RTrackedRemote: Any], [Touchpad, Remote: None] + } + + [Flags] + /// Identifies a controller which can be used to query the virtual or raw input state. + public enum Controller + { + None = OVRPlugin.Controller.None, ///< Null controller. + LTouch = OVRPlugin.Controller.LTouch, ///< Left Oculus Touch controller. Virtual input mapping differs from the combined L/R Touch mapping. + RTouch = OVRPlugin.Controller.RTouch, ///< Right Oculus Touch controller. Virtual input mapping differs from the combined L/R Touch mapping. + Touch = OVRPlugin.Controller.Touch, ///< Combined Left/Right pair of Oculus Touch controllers. + Remote = OVRPlugin.Controller.Remote, ///< Oculus Remote controller. + Gamepad = OVRPlugin.Controller.Gamepad, ///< Xbox 360 or Xbox One gamepad on PC. Generic gamepad on Android. + Touchpad = OVRPlugin.Controller.Touchpad, ///< GearVR touchpad on Android. + LTrackedRemote = OVRPlugin.Controller.LTrackedRemote, ///< Left GearVR tracked remote on Android. + RTrackedRemote = OVRPlugin.Controller.RTrackedRemote, ///< Right GearVR tracked remote on Android. + Active = OVRPlugin.Controller.Active, ///< Default controller. Represents the controller that most recently registered a button press from the user. + All = OVRPlugin.Controller.All, ///< Represents the logical OR of all controllers. + } + + public enum Handedness + { + Unsupported = OVRPlugin.Handedness.Unsupported, + LeftHanded = OVRPlugin.Handedness.LeftHanded, + RightHanded = OVRPlugin.Handedness.RightHanded, + } + + private static readonly float AXIS_AS_BUTTON_THRESHOLD = 0.5f; + private static readonly float AXIS_DEADZONE_THRESHOLD = 0.2f; + private static List controllers; + private static Controller activeControllerType = Controller.None; + private static Controller connectedControllerTypes = Controller.None; + private static OVRPlugin.Step stepType = OVRPlugin.Step.Render; + private static int fixedUpdateCount = 0; + + + private static bool _pluginSupportsActiveController = false; + private static bool _pluginSupportsActiveControllerCached = false; + private static System.Version _pluginSupportsActiveControllerMinVersion = new System.Version(1, 9, 0); + private static bool pluginSupportsActiveController + { + get + { + if (!_pluginSupportsActiveControllerCached) + { + bool isSupportedPlatform = true; +#if (UNITY_ANDROID && !UNITY_EDITOR) || UNITY_STANDALONE_OSX || UNITY_EDITOR_OSX + isSupportedPlatform = false; +#endif + _pluginSupportsActiveController = isSupportedPlatform && (OVRPlugin.version >= _pluginSupportsActiveControllerMinVersion); + _pluginSupportsActiveControllerCached = true; + } + + return _pluginSupportsActiveController; + } + } + + /// + /// Creates an instance of OVRInput. + /// + static OVRInput() + { + controllers = new List + { +#if UNITY_ANDROID && !UNITY_EDITOR + new OVRControllerGamepadAndroid(), + new OVRControllerTouchpad(), + new OVRControllerLTrackedRemote(), + new OVRControllerRTrackedRemote(), + new OVRControllerTouch(), + new OVRControllerLTouch(), + new OVRControllerRTouch(), +#elif UNITY_STANDALONE_OSX || UNITY_EDITOR_OSX + new OVRControllerGamepadMac(), +#else + new OVRControllerGamepadPC(), + new OVRControllerTouch(), + new OVRControllerLTouch(), + new OVRControllerRTouch(), + new OVRControllerRemote(), +#endif + }; + } + + /// + /// Updates the internal state of OVRInput. Must be called manually if used independently from OVRManager. + /// + public static void Update() + { + connectedControllerTypes = Controller.None; + stepType = OVRPlugin.Step.Render; + fixedUpdateCount = 0; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + connectedControllerTypes |= controller.Update(); + + if ((connectedControllerTypes & controller.controllerType) != 0) + { + RawButton rawButtonMask = RawButton.Any; + RawTouch rawTouchMask = RawTouch.Any; + + if (Get(rawButtonMask, controller.controllerType) + || Get(rawTouchMask, controller.controllerType)) + { + activeControllerType = controller.controllerType; + } + } + } + + if ((activeControllerType == Controller.LTouch) || (activeControllerType == Controller.RTouch)) + { + if ((connectedControllerTypes & Controller.Touch) == Controller.Touch) + { + // If either Touch controller is Active and both Touch controllers are connected, set both to Active. + activeControllerType = Controller.Touch; + } + } + + if ((connectedControllerTypes & activeControllerType) == 0) + { + activeControllerType = Controller.None; + } + + // Promote TrackedRemote to Active if one is connected and no other controller is active + if (activeControllerType == Controller.None) + { + if ((connectedControllerTypes & Controller.RTrackedRemote) != 0) + { + activeControllerType = Controller.RTrackedRemote; + } + else if ((connectedControllerTypes & Controller.LTrackedRemote) != 0) + { + activeControllerType = Controller.LTrackedRemote; + } + } + + if (pluginSupportsActiveController) + { + // override locally derived active and connected controllers if plugin provides more accurate data + connectedControllerTypes = (OVRInput.Controller)OVRPlugin.GetConnectedControllers(); + activeControllerType = (OVRInput.Controller)OVRPlugin.GetActiveController(); + } + } + + /// + /// Updates the internal physics state of OVRInput. Must be called manually if used independently from OVRManager. + /// + public static void FixedUpdate() + { + stepType = OVRPlugin.Step.Physics; + + double predictionSeconds = (double)fixedUpdateCount * Time.fixedDeltaTime / Mathf.Max(Time.timeScale, 1e-6f); + fixedUpdateCount++; + + OVRPlugin.UpdateNodePhysicsPoses(0, predictionSeconds); + } + + /// + /// Returns true if the given Controller's orientation is currently tracked. + /// Only supported for Oculus LTouch and RTouch controllers. Non-tracked controllers will return false. + /// + public static bool GetControllerOrientationTracked(OVRInput.Controller controllerType) + { + switch (controllerType) + { + case Controller.LTouch: + case Controller.LTrackedRemote: + return OVRPlugin.GetNodeOrientationTracked(OVRPlugin.Node.HandLeft); + case Controller.RTouch: + case Controller.RTrackedRemote: + return OVRPlugin.GetNodeOrientationTracked(OVRPlugin.Node.HandRight); + default: + return false; + } + } + + /// + /// Returns true if the given Controller's position is currently tracked. + /// Only supported for Oculus LTouch and RTouch controllers. Non-tracked controllers will return false. + /// + public static bool GetControllerPositionTracked(OVRInput.Controller controllerType) + { + switch (controllerType) + { + case Controller.LTouch: + case Controller.LTrackedRemote: + return OVRPlugin.GetNodePositionTracked(OVRPlugin.Node.HandLeft); + case Controller.RTouch: + case Controller.RTrackedRemote: + return OVRPlugin.GetNodePositionTracked(OVRPlugin.Node.HandRight); + default: + return false; + } + } + + /// + /// Gets the position of the given Controller local to its tracking space. + /// Only supported for Oculus LTouch and RTouch controllers. Non-tracked controllers will return Vector3.zero. + /// + public static Vector3 GetLocalControllerPosition(OVRInput.Controller controllerType) + { + switch (controllerType) + { + case Controller.LTouch: + case Controller.LTrackedRemote: + return OVRPlugin.GetNodePose(OVRPlugin.Node.HandLeft, stepType).ToOVRPose().position; + case Controller.RTouch: + case Controller.RTrackedRemote: + return OVRPlugin.GetNodePose(OVRPlugin.Node.HandRight, stepType).ToOVRPose().position; + default: + return Vector3.zero; + } + } + + /// + /// Gets the linear velocity of the given Controller local to its tracking space. + /// Only supported for Oculus LTouch and RTouch controllers. Non-tracked controllers will return Vector3.zero. + /// + public static Vector3 GetLocalControllerVelocity(OVRInput.Controller controllerType) + { + switch (controllerType) + { + case Controller.LTouch: + case Controller.LTrackedRemote: + return OVRPlugin.GetNodeVelocity(OVRPlugin.Node.HandLeft, stepType).FromFlippedZVector3f(); + case Controller.RTouch: + case Controller.RTrackedRemote: + return OVRPlugin.GetNodeVelocity(OVRPlugin.Node.HandRight, stepType).FromFlippedZVector3f(); + default: + return Vector3.zero; + } + } + + /// + /// Gets the linear acceleration of the given Controller local to its tracking space. + /// Only supported for Oculus LTouch and RTouch controllers. Non-tracked controllers will return Vector3.zero. + /// + public static Vector3 GetLocalControllerAcceleration(OVRInput.Controller controllerType) + { + switch (controllerType) + { + case Controller.LTouch: + case Controller.LTrackedRemote: + return OVRPlugin.GetNodeAcceleration(OVRPlugin.Node.HandLeft, stepType).FromFlippedZVector3f(); + case Controller.RTouch: + case Controller.RTrackedRemote: + return OVRPlugin.GetNodeAcceleration(OVRPlugin.Node.HandRight, stepType).FromFlippedZVector3f(); + default: + return Vector3.zero; + } + } + + /// + /// Gets the rotation of the given Controller local to its tracking space. + /// Only supported for Oculus LTouch and RTouch controllers. Non-tracked controllers will return Quaternion.identity. + /// + public static Quaternion GetLocalControllerRotation(OVRInput.Controller controllerType) + { + switch (controllerType) + { + case Controller.LTouch: + case Controller.LTrackedRemote: + return OVRPlugin.GetNodePose(OVRPlugin.Node.HandLeft, stepType).ToOVRPose().orientation; + case Controller.RTouch: + case Controller.RTrackedRemote: + return OVRPlugin.GetNodePose(OVRPlugin.Node.HandRight, stepType).ToOVRPose().orientation; + default: + return Quaternion.identity; + } + } + + /// + /// Gets the angular velocity of the given Controller local to its tracking space in radians per second around each axis. + /// Only supported for Oculus LTouch and RTouch controllers. Non-tracked controllers will return Quaternion.identity. + /// + public static Vector3 GetLocalControllerAngularVelocity(OVRInput.Controller controllerType) + { + switch (controllerType) + { + case Controller.LTouch: + case Controller.LTrackedRemote: + return OVRPlugin.GetNodeAngularVelocity(OVRPlugin.Node.HandLeft, stepType).FromFlippedZVector3f(); + case Controller.RTouch: + case Controller.RTrackedRemote: + return OVRPlugin.GetNodeAngularVelocity(OVRPlugin.Node.HandRight, stepType).FromFlippedZVector3f(); + default: + return Vector3.zero; + } + } + + /// + /// Gets the angular acceleration of the given Controller local to its tracking space in radians per second per second around each axis. + /// Only supported for Oculus LTouch and RTouch controllers. Non-tracked controllers will return Quaternion.identity. + /// + public static Vector3 GetLocalControllerAngularAcceleration(OVRInput.Controller controllerType) + { + switch (controllerType) + { + case Controller.LTouch: + case Controller.LTrackedRemote: + return OVRPlugin.GetNodeAngularAcceleration(OVRPlugin.Node.HandLeft, stepType).FromFlippedZVector3f(); + case Controller.RTouch: + case Controller.RTrackedRemote: + return OVRPlugin.GetNodeAngularAcceleration(OVRPlugin.Node.HandRight, stepType).FromFlippedZVector3f(); + default: + return Vector3.zero; + } + } + + /// + /// Gets the dominant hand that the user has specified in settings, for mobile devices. + /// + public static Handedness GetDominantHand() + { + return (Handedness) OVRPlugin.GetDominantHand(); + } + + /// + /// Gets the current state of the given virtual button mask with the given controller mask. + /// Returns true if any masked button is down on any masked controller. + /// + public static bool Get(Button virtualMask, Controller controllerMask = Controller.Active) + { + return GetResolvedButton(virtualMask, RawButton.None, controllerMask); + } + + /// + /// Gets the current state of the given raw button mask with the given controller mask. + /// Returns true if any masked button is down on any masked controllers. + /// + public static bool Get(RawButton rawMask, Controller controllerMask = Controller.Active) + { + return GetResolvedButton(Button.None, rawMask, controllerMask); + } + + private static bool GetResolvedButton(Button virtualMask, RawButton rawMask, Controller controllerMask) + { + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + RawButton resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); + + if (((RawButton)controller.currentState.Buttons & resolvedMask) != 0) + { + return true; + } + } + } + + return false; + } + + /// + /// Gets the current down state of the given virtual button mask with the given controller mask. + /// Returns true if any masked button was pressed this frame on any masked controller and no masked button was previously down last frame. + /// + public static bool GetDown(Button virtualMask, Controller controllerMask = Controller.Active) + { + return GetResolvedButtonDown(virtualMask, RawButton.None, controllerMask); + } + + /// + /// Gets the current down state of the given raw button mask with the given controller mask. + /// Returns true if any masked button was pressed this frame on any masked controller and no masked button was previously down last frame. + /// + public static bool GetDown(RawButton rawMask, Controller controllerMask = Controller.Active) + { + return GetResolvedButtonDown(Button.None, rawMask, controllerMask); + } + + private static bool GetResolvedButtonDown(Button virtualMask, RawButton rawMask, Controller controllerMask) + { + bool down = false; + + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + RawButton resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); + + if (((RawButton)controller.previousState.Buttons & resolvedMask) != 0) + { + return false; + } + + if ((((RawButton)controller.currentState.Buttons & resolvedMask) != 0) + && (((RawButton)controller.previousState.Buttons & resolvedMask) == 0)) + { + down = true; + } + } + } + + return down; + } + + /// + /// Gets the current up state of the given virtual button mask with the given controller mask. + /// Returns true if any masked button was released this frame on any masked controller and no other masked button is still down this frame. + /// + public static bool GetUp(Button virtualMask, Controller controllerMask = Controller.Active) + { + return GetResolvedButtonUp(virtualMask, RawButton.None, controllerMask); + } + + /// + /// Gets the current up state of the given raw button mask with the given controller mask. + /// Returns true if any masked button was released this frame on any masked controller and no other masked button is still down this frame. + /// + public static bool GetUp(RawButton rawMask, Controller controllerMask = Controller.Active) + { + return GetResolvedButtonUp(Button.None, rawMask, controllerMask); + } + + private static bool GetResolvedButtonUp(Button virtualMask, RawButton rawMask, Controller controllerMask) + { + bool up = false; + + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + RawButton resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); + + if (((RawButton)controller.currentState.Buttons & resolvedMask) != 0) + { + return false; + } + + if ((((RawButton)controller.currentState.Buttons & resolvedMask) == 0) + && (((RawButton)controller.previousState.Buttons & resolvedMask) != 0)) + { + up = true; + } + } + } + + return up; + } + + /// + /// Gets the current state of the given virtual touch mask with the given controller mask. + /// Returns true if any masked touch is down on any masked controller. + /// + public static bool Get(Touch virtualMask, Controller controllerMask = Controller.Active) + { + return GetResolvedTouch(virtualMask, RawTouch.None, controllerMask); + } + + /// + /// Gets the current state of the given raw touch mask with the given controller mask. + /// Returns true if any masked touch is down on any masked controllers. + /// + public static bool Get(RawTouch rawMask, Controller controllerMask = Controller.Active) + { + return GetResolvedTouch(Touch.None, rawMask, controllerMask); + } + + private static bool GetResolvedTouch(Touch virtualMask, RawTouch rawMask, Controller controllerMask) + { + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + RawTouch resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); + + if (((RawTouch)controller.currentState.Touches & resolvedMask) != 0) + { + return true; + } + } + } + + return false; + } + + /// + /// Gets the current down state of the given virtual touch mask with the given controller mask. + /// Returns true if any masked touch was pressed this frame on any masked controller and no masked touch was previously down last frame. + /// + public static bool GetDown(Touch virtualMask, Controller controllerMask = Controller.Active) + { + return GetResolvedTouchDown(virtualMask, RawTouch.None, controllerMask); + } + + /// + /// Gets the current down state of the given raw touch mask with the given controller mask. + /// Returns true if any masked touch was pressed this frame on any masked controller and no masked touch was previously down last frame. + /// + public static bool GetDown(RawTouch rawMask, Controller controllerMask = Controller.Active) + { + return GetResolvedTouchDown(Touch.None, rawMask, controllerMask); + } + + private static bool GetResolvedTouchDown(Touch virtualMask, RawTouch rawMask, Controller controllerMask) + { + bool down = false; + + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + RawTouch resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); + + if (((RawTouch)controller.previousState.Touches & resolvedMask) != 0) + { + return false; + } + + if ((((RawTouch)controller.currentState.Touches & resolvedMask) != 0) + && (((RawTouch)controller.previousState.Touches & resolvedMask) == 0)) + { + down = true; + } + } + } + + return down; + } + + /// + /// Gets the current up state of the given virtual touch mask with the given controller mask. + /// Returns true if any masked touch was released this frame on any masked controller and no other masked touch is still down this frame. + /// + public static bool GetUp(Touch virtualMask, Controller controllerMask = Controller.Active) + { + return GetResolvedTouchUp(virtualMask, RawTouch.None, controllerMask); + } + + /// + /// Gets the current up state of the given raw touch mask with the given controller mask. + /// Returns true if any masked touch was released this frame on any masked controller and no other masked touch is still down this frame. + /// + public static bool GetUp(RawTouch rawMask, Controller controllerMask = Controller.Active) + { + return GetResolvedTouchUp(Touch.None, rawMask, controllerMask); + } + + private static bool GetResolvedTouchUp(Touch virtualMask, RawTouch rawMask, Controller controllerMask) + { + bool up = false; + + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + RawTouch resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); + + if (((RawTouch)controller.currentState.Touches & resolvedMask) != 0) + { + return false; + } + + if ((((RawTouch)controller.currentState.Touches & resolvedMask) == 0) + && (((RawTouch)controller.previousState.Touches & resolvedMask) != 0)) + { + up = true; + } + } + } + + return up; + } + + /// + /// Gets the current state of the given virtual near touch mask with the given controller mask. + /// Returns true if any masked near touch is down on any masked controller. + /// + public static bool Get(NearTouch virtualMask, Controller controllerMask = Controller.Active) + { + return GetResolvedNearTouch(virtualMask, RawNearTouch.None, controllerMask); + } + + /// + /// Gets the current state of the given raw near touch mask with the given controller mask. + /// Returns true if any masked near touch is down on any masked controllers. + /// + public static bool Get(RawNearTouch rawMask, Controller controllerMask = Controller.Active) + { + return GetResolvedNearTouch(NearTouch.None, rawMask, controllerMask); + } + + private static bool GetResolvedNearTouch(NearTouch virtualMask, RawNearTouch rawMask, Controller controllerMask) + { + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + RawNearTouch resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); + + if (((RawNearTouch)controller.currentState.NearTouches & resolvedMask) != 0) + { + return true; + } + } + } + + return false; + } + + /// + /// Gets the current down state of the given virtual near touch mask with the given controller mask. + /// Returns true if any masked near touch was pressed this frame on any masked controller and no masked near touch was previously down last frame. + /// + public static bool GetDown(NearTouch virtualMask, Controller controllerMask = Controller.Active) + { + return GetResolvedNearTouchDown(virtualMask, RawNearTouch.None, controllerMask); + } + + /// + /// Gets the current down state of the given raw near touch mask with the given controller mask. + /// Returns true if any masked near touch was pressed this frame on any masked controller and no masked near touch was previously down last frame. + /// + public static bool GetDown(RawNearTouch rawMask, Controller controllerMask = Controller.Active) + { + return GetResolvedNearTouchDown(NearTouch.None, rawMask, controllerMask); + } + + private static bool GetResolvedNearTouchDown(NearTouch virtualMask, RawNearTouch rawMask, Controller controllerMask) + { + bool down = false; + + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + RawNearTouch resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); + + if (((RawNearTouch)controller.previousState.NearTouches & resolvedMask) != 0) + { + return false; + } + + if ((((RawNearTouch)controller.currentState.NearTouches & resolvedMask) != 0) + && (((RawNearTouch)controller.previousState.NearTouches & resolvedMask) == 0)) + { + down = true; + } + } + } + + return down; + } + + /// + /// Gets the current up state of the given virtual near touch mask with the given controller mask. + /// Returns true if any masked near touch was released this frame on any masked controller and no other masked near touch is still down this frame. + /// + public static bool GetUp(NearTouch virtualMask, Controller controllerMask = Controller.Active) + { + return GetResolvedNearTouchUp(virtualMask, RawNearTouch.None, controllerMask); + } + + /// + /// Gets the current up state of the given raw near touch mask with the given controller mask. + /// Returns true if any masked near touch was released this frame on any masked controller and no other masked near touch is still down this frame. + /// + public static bool GetUp(RawNearTouch rawMask, Controller controllerMask = Controller.Active) + { + return GetResolvedNearTouchUp(NearTouch.None, rawMask, controllerMask); + } + + private static bool GetResolvedNearTouchUp(NearTouch virtualMask, RawNearTouch rawMask, Controller controllerMask) + { + bool up = false; + + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + RawNearTouch resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); + + if (((RawNearTouch)controller.currentState.NearTouches & resolvedMask) != 0) + { + return false; + } + + if ((((RawNearTouch)controller.currentState.NearTouches & resolvedMask) == 0) + && (((RawNearTouch)controller.previousState.NearTouches & resolvedMask) != 0)) + { + up = true; + } + } + } + + return up; + } + + /// + /// Gets the current state of the given virtual 1-dimensional axis mask on the given controller mask. + /// Returns the value of the largest masked axis across all masked controllers. Values range from 0 to 1. + /// + public static float Get(Axis1D virtualMask, Controller controllerMask = Controller.Active) + { + return GetResolvedAxis1D(virtualMask, RawAxis1D.None, controllerMask); + } + + /// + /// Gets the current state of the given raw 1-dimensional axis mask on the given controller mask. + /// Returns the value of the largest masked axis across all masked controllers. Values range from 0 to 1. + /// + public static float Get(RawAxis1D rawMask, Controller controllerMask = Controller.Active) + { + return GetResolvedAxis1D(Axis1D.None, rawMask, controllerMask); + } + + private static float GetResolvedAxis1D(Axis1D virtualMask, RawAxis1D rawMask, Controller controllerMask) + { + float maxAxis = 0.0f; + + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + RawAxis1D resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); + + if ((RawAxis1D.LIndexTrigger & resolvedMask) != 0) + { + float axis = controller.currentState.LIndexTrigger; + + if (controller.shouldApplyDeadzone) + axis = CalculateDeadzone(axis, AXIS_DEADZONE_THRESHOLD); + + maxAxis = CalculateAbsMax(maxAxis, axis); + } + if ((RawAxis1D.RIndexTrigger & resolvedMask) != 0) + { + float axis = controller.currentState.RIndexTrigger; + + if (controller.shouldApplyDeadzone) + axis = CalculateDeadzone(axis, AXIS_DEADZONE_THRESHOLD); + + maxAxis = CalculateAbsMax(maxAxis, axis); + } + if ((RawAxis1D.LHandTrigger & resolvedMask) != 0) + { + float axis = controller.currentState.LHandTrigger; + + if (controller.shouldApplyDeadzone) + axis = CalculateDeadzone(axis, AXIS_DEADZONE_THRESHOLD); + + maxAxis = CalculateAbsMax(maxAxis, axis); + } + if ((RawAxis1D.RHandTrigger & resolvedMask) != 0) + { + float axis = controller.currentState.RHandTrigger; + + if (controller.shouldApplyDeadzone) + axis = CalculateDeadzone(axis, AXIS_DEADZONE_THRESHOLD); + + maxAxis = CalculateAbsMax(maxAxis, axis); + } + } + } + + return maxAxis; + } + + /// + /// Gets the current state of the given virtual 2-dimensional axis mask on the given controller mask. + /// Returns the vector of the largest masked axis across all masked controllers. Values range from -1 to 1. + /// + public static Vector2 Get(Axis2D virtualMask, Controller controllerMask = Controller.Active) + { + return GetResolvedAxis2D(virtualMask, RawAxis2D.None, controllerMask); + } + + /// + /// Gets the current state of the given raw 2-dimensional axis mask on the given controller mask. + /// Returns the vector of the largest masked axis across all masked controllers. Values range from -1 to 1. + /// + public static Vector2 Get(RawAxis2D rawMask, Controller controllerMask = Controller.Active) + { + return GetResolvedAxis2D(Axis2D.None, rawMask, controllerMask); + } + + private static Vector2 GetResolvedAxis2D(Axis2D virtualMask, RawAxis2D rawMask, Controller controllerMask) + { + Vector2 maxAxis = Vector2.zero; + + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + RawAxis2D resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); + + if ((RawAxis2D.LThumbstick & resolvedMask) != 0) + { + Vector2 axis = new Vector2( + controller.currentState.LThumbstick.x, + controller.currentState.LThumbstick.y); + + if (controller.shouldApplyDeadzone) + axis = CalculateDeadzone(axis, AXIS_DEADZONE_THRESHOLD); + + maxAxis = CalculateAbsMax(maxAxis, axis); + } + if ((RawAxis2D.LTouchpad & resolvedMask) != 0) + { + Vector2 axis = new Vector2( + controller.currentState.LTouchpad.x, + controller.currentState.LTouchpad.y); + + //if (controller.shouldApplyDeadzone) + // axis = CalculateDeadzone(axis, AXIS_DEADZONE_THRESHOLD); + + maxAxis = CalculateAbsMax(maxAxis, axis); + } + if ((RawAxis2D.RThumbstick & resolvedMask) != 0) + { + Vector2 axis = new Vector2( + controller.currentState.RThumbstick.x, + controller.currentState.RThumbstick.y); + + if (controller.shouldApplyDeadzone) + axis = CalculateDeadzone(axis, AXIS_DEADZONE_THRESHOLD); + + maxAxis = CalculateAbsMax(maxAxis, axis); + } + if ((RawAxis2D.RTouchpad & resolvedMask) != 0) + { + Vector2 axis = new Vector2( + controller.currentState.RTouchpad.x, + controller.currentState.RTouchpad.y); + + //if (controller.shouldApplyDeadzone) + // axis = CalculateDeadzone(axis, AXIS_DEADZONE_THRESHOLD); + + maxAxis = CalculateAbsMax(maxAxis, axis); + } + } + } + + return maxAxis; + } + + /// + /// Returns a mask of all currently connected controller types. + /// + public static Controller GetConnectedControllers() + { + return connectedControllerTypes; + } + + /// + /// Returns true if the specified controller type is currently connected. + /// + public static bool IsControllerConnected(Controller controller) + { + return (connectedControllerTypes & controller) == controller; + } + + /// + /// Returns the current active controller type. + /// + public static Controller GetActiveController() + { + return activeControllerType; + } + + /// + /// Activates vibration with the given frequency and amplitude with the given controller mask. + /// Ignored on controllers that do not support vibration. Expected values range from 0 to 1. + /// + public static void SetControllerVibration(float frequency, float amplitude, Controller controllerMask = Controller.Active) + { + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + controller.SetControllerVibration(frequency, amplitude); + } + } + } + + /// + /// Triggers a recenter to realign the specified controller's virtual pose with the user's real-world pose. + /// Only applicable to controllers that require recentering, such as the GearVR Controller. + /// Ignored for controllers that do not require recentering. + /// + public static void RecenterController(Controller controllerMask = Controller.Active) + { + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + controller.RecenterController(); + } + } + } + + /// + /// Returns true if the specified controller was recentered this frame. + /// Only applicable to controllers that require recentering, such as the GearVR Controller. + /// Returns false for controllers that do not require recentering. + /// + public static bool GetControllerWasRecentered(Controller controllerMask = Controller.Active) + { + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + bool wasRecentered = false; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + wasRecentered |= controller.WasRecentered(); + } + } + + return wasRecentered; + } + + /// + /// Returns the number of times the controller has been recentered this session. + /// Useful for detecting recenter events and resetting state such as arm model simulations, etc. + /// Wraps around to 0 after 255. + /// Only applicable to controllers that require recentering, such as the GearVR Controller. + /// Returns 0 for controllers that do not require recentering. + /// + public static byte GetControllerRecenterCount(Controller controllerMask = Controller.Active) + { + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + byte recenterCount = 0; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + recenterCount = controller.GetRecenterCount(); + break; + } + } + + return recenterCount; + } + + /// + /// Returns the battery percentage remaining for the specified controller. Values range from 0 to 100. + /// Only applicable to controllers that report battery level, such as the GearVR Controller. + /// Returns 0 for controllers that do not report battery level. + /// + public static byte GetControllerBatteryPercentRemaining(Controller controllerMask = Controller.Active) + { + if ((controllerMask & Controller.Active) != 0) + controllerMask |= activeControllerType; + + byte battery = 0; + + for (int i = 0; i < controllers.Count; i++) + { + OVRControllerBase controller = controllers[i]; + + if (ShouldResolveController(controller.controllerType, controllerMask)) + { + battery = controller.GetBatteryPercentRemaining(); + break; + } + } + + return battery; + } + + private static Vector2 CalculateAbsMax(Vector2 a, Vector2 b) + { + float absA = a.sqrMagnitude; + float absB = b.sqrMagnitude; + + if (absA >= absB) + return a; + return b; + } + + private static float CalculateAbsMax(float a, float b) + { + float absA = (a >= 0) ? a : -a; + float absB = (b >= 0) ? b : -b; + + if (absA >= absB) + return a; + return b; + } + + private static Vector2 CalculateDeadzone(Vector2 a, float deadzone) + { + if (a.sqrMagnitude <= (deadzone * deadzone)) + return Vector2.zero; + + a *= ((a.magnitude - deadzone) / (1.0f - deadzone)); + + if (a.sqrMagnitude > 1.0f) + return a.normalized; + return a; + } + + private static float CalculateDeadzone(float a, float deadzone) + { + float mag = (a >= 0) ? a : -a; + + if (mag <= deadzone) + return 0.0f; + + a *= (mag - deadzone) / (1.0f - deadzone); + + if ((a * a) > 1.0f) + return (a >= 0) ? 1.0f : -1.0f; + return a; + } + + private static bool ShouldResolveController(Controller controllerType, Controller controllerMask) + { + bool isValid = false; + + if ((controllerType & controllerMask) == controllerType) + { + isValid = true; + } + + // If the mask requests both Touch controllers, reject the individual touch controllers. + if (((controllerMask & Controller.Touch) == Controller.Touch) + && ((controllerType & Controller.Touch) != 0) + && ((controllerType & Controller.Touch) != Controller.Touch)) + { + isValid = false; + } + + return isValid; + } + + private abstract class OVRControllerBase + { + public class VirtualButtonMap + { + public RawButton None = RawButton.None; + public RawButton One = RawButton.None; + public RawButton Two = RawButton.None; + public RawButton Three = RawButton.None; + public RawButton Four = RawButton.None; + public RawButton Start = RawButton.None; + public RawButton Back = RawButton.None; + public RawButton PrimaryShoulder = RawButton.None; + public RawButton PrimaryIndexTrigger = RawButton.None; + public RawButton PrimaryHandTrigger = RawButton.None; + public RawButton PrimaryThumbstick = RawButton.None; + public RawButton PrimaryThumbstickUp = RawButton.None; + public RawButton PrimaryThumbstickDown = RawButton.None; + public RawButton PrimaryThumbstickLeft = RawButton.None; + public RawButton PrimaryThumbstickRight = RawButton.None; + public RawButton PrimaryTouchpad = RawButton.None; + public RawButton SecondaryShoulder = RawButton.None; + public RawButton SecondaryIndexTrigger = RawButton.None; + public RawButton SecondaryHandTrigger = RawButton.None; + public RawButton SecondaryThumbstick = RawButton.None; + public RawButton SecondaryThumbstickUp = RawButton.None; + public RawButton SecondaryThumbstickDown = RawButton.None; + public RawButton SecondaryThumbstickLeft = RawButton.None; + public RawButton SecondaryThumbstickRight = RawButton.None; + public RawButton SecondaryTouchpad = RawButton.None; + public RawButton DpadUp = RawButton.None; + public RawButton DpadDown = RawButton.None; + public RawButton DpadLeft = RawButton.None; + public RawButton DpadRight = RawButton.None; + public RawButton Up = RawButton.None; + public RawButton Down = RawButton.None; + public RawButton Left = RawButton.None; + public RawButton Right = RawButton.None; + + public RawButton ToRawMask(Button virtualMask) + { + RawButton rawMask = 0; + + if (virtualMask == Button.None) + return RawButton.None; + + if ((virtualMask & Button.One) != 0) + rawMask |= One; + if ((virtualMask & Button.Two) != 0) + rawMask |= Two; + if ((virtualMask & Button.Three) != 0) + rawMask |= Three; + if ((virtualMask & Button.Four) != 0) + rawMask |= Four; + if ((virtualMask & Button.Start) != 0) + rawMask |= Start; + if ((virtualMask & Button.Back) != 0) + rawMask |= Back; + if ((virtualMask & Button.PrimaryShoulder) != 0) + rawMask |= PrimaryShoulder; + if ((virtualMask & Button.PrimaryIndexTrigger) != 0) + rawMask |= PrimaryIndexTrigger; + if ((virtualMask & Button.PrimaryHandTrigger) != 0) + rawMask |= PrimaryHandTrigger; + if ((virtualMask & Button.PrimaryThumbstick) != 0) + rawMask |= PrimaryThumbstick; + if ((virtualMask & Button.PrimaryThumbstickUp) != 0) + rawMask |= PrimaryThumbstickUp; + if ((virtualMask & Button.PrimaryThumbstickDown) != 0) + rawMask |= PrimaryThumbstickDown; + if ((virtualMask & Button.PrimaryThumbstickLeft) != 0) + rawMask |= PrimaryThumbstickLeft; + if ((virtualMask & Button.PrimaryThumbstickRight) != 0) + rawMask |= PrimaryThumbstickRight; + if ((virtualMask & Button.PrimaryTouchpad) != 0) + rawMask |= PrimaryTouchpad; + if ((virtualMask & Button.SecondaryShoulder) != 0) + rawMask |= SecondaryShoulder; + if ((virtualMask & Button.SecondaryIndexTrigger) != 0) + rawMask |= SecondaryIndexTrigger; + if ((virtualMask & Button.SecondaryHandTrigger) != 0) + rawMask |= SecondaryHandTrigger; + if ((virtualMask & Button.SecondaryThumbstick) != 0) + rawMask |= SecondaryThumbstick; + if ((virtualMask & Button.SecondaryThumbstickUp) != 0) + rawMask |= SecondaryThumbstickUp; + if ((virtualMask & Button.SecondaryThumbstickDown) != 0) + rawMask |= SecondaryThumbstickDown; + if ((virtualMask & Button.SecondaryThumbstickLeft) != 0) + rawMask |= SecondaryThumbstickLeft; + if ((virtualMask & Button.SecondaryThumbstickRight) != 0) + rawMask |= SecondaryThumbstickRight; + if ((virtualMask & Button.SecondaryTouchpad) != 0) + rawMask |= SecondaryTouchpad; + if ((virtualMask & Button.DpadUp) != 0) + rawMask |= DpadUp; + if ((virtualMask & Button.DpadDown) != 0) + rawMask |= DpadDown; + if ((virtualMask & Button.DpadLeft) != 0) + rawMask |= DpadLeft; + if ((virtualMask & Button.DpadRight) != 0) + rawMask |= DpadRight; + if ((virtualMask & Button.Up) != 0) + rawMask |= Up; + if ((virtualMask & Button.Down) != 0) + rawMask |= Down; + if ((virtualMask & Button.Left) != 0) + rawMask |= Left; + if ((virtualMask & Button.Right) != 0) + rawMask |= Right; + + return rawMask; + } + } + + public class VirtualTouchMap + { + public RawTouch None = RawTouch.None; + public RawTouch One = RawTouch.None; + public RawTouch Two = RawTouch.None; + public RawTouch Three = RawTouch.None; + public RawTouch Four = RawTouch.None; + public RawTouch PrimaryIndexTrigger = RawTouch.None; + public RawTouch PrimaryThumbstick = RawTouch.None; + public RawTouch PrimaryThumbRest = RawTouch.None; + public RawTouch PrimaryTouchpad = RawTouch.None; + public RawTouch SecondaryIndexTrigger = RawTouch.None; + public RawTouch SecondaryThumbstick = RawTouch.None; + public RawTouch SecondaryThumbRest = RawTouch.None; + public RawTouch SecondaryTouchpad = RawTouch.None; + + public RawTouch ToRawMask(Touch virtualMask) + { + RawTouch rawMask = 0; + + if (virtualMask == Touch.None) + return RawTouch.None; + + if ((virtualMask & Touch.One) != 0) + rawMask |= One; + if ((virtualMask & Touch.Two) != 0) + rawMask |= Two; + if ((virtualMask & Touch.Three) != 0) + rawMask |= Three; + if ((virtualMask & Touch.Four) != 0) + rawMask |= Four; + if ((virtualMask & Touch.PrimaryIndexTrigger) != 0) + rawMask |= PrimaryIndexTrigger; + if ((virtualMask & Touch.PrimaryThumbstick) != 0) + rawMask |= PrimaryThumbstick; + if ((virtualMask & Touch.PrimaryThumbRest) != 0) + rawMask |= PrimaryThumbRest; + if ((virtualMask & Touch.PrimaryTouchpad) != 0) + rawMask |= PrimaryTouchpad; + if ((virtualMask & Touch.SecondaryIndexTrigger) != 0) + rawMask |= SecondaryIndexTrigger; + if ((virtualMask & Touch.SecondaryThumbstick) != 0) + rawMask |= SecondaryThumbstick; + if ((virtualMask & Touch.SecondaryThumbRest) != 0) + rawMask |= SecondaryThumbRest; + if ((virtualMask & Touch.SecondaryTouchpad) != 0) + rawMask |= SecondaryTouchpad; + + return rawMask; + } + } + + public class VirtualNearTouchMap + { + public RawNearTouch None = RawNearTouch.None; + public RawNearTouch PrimaryIndexTrigger = RawNearTouch.None; + public RawNearTouch PrimaryThumbButtons = RawNearTouch.None; + public RawNearTouch SecondaryIndexTrigger = RawNearTouch.None; + public RawNearTouch SecondaryThumbButtons = RawNearTouch.None; + + public RawNearTouch ToRawMask(NearTouch virtualMask) + { + RawNearTouch rawMask = 0; + + if (virtualMask == NearTouch.None) + return RawNearTouch.None; + + if ((virtualMask & NearTouch.PrimaryIndexTrigger) != 0) + rawMask |= PrimaryIndexTrigger; + if ((virtualMask & NearTouch.PrimaryThumbButtons) != 0) + rawMask |= PrimaryThumbButtons; + if ((virtualMask & NearTouch.SecondaryIndexTrigger) != 0) + rawMask |= SecondaryIndexTrigger; + if ((virtualMask & NearTouch.SecondaryThumbButtons) != 0) + rawMask |= SecondaryThumbButtons; + + return rawMask; + } + } + + public class VirtualAxis1DMap + { + public RawAxis1D None = RawAxis1D.None; + public RawAxis1D PrimaryIndexTrigger = RawAxis1D.None; + public RawAxis1D PrimaryHandTrigger = RawAxis1D.None; + public RawAxis1D SecondaryIndexTrigger = RawAxis1D.None; + public RawAxis1D SecondaryHandTrigger = RawAxis1D.None; + + public RawAxis1D ToRawMask(Axis1D virtualMask) + { + RawAxis1D rawMask = 0; + + if (virtualMask == Axis1D.None) + return RawAxis1D.None; + + if ((virtualMask & Axis1D.PrimaryIndexTrigger) != 0) + rawMask |= PrimaryIndexTrigger; + if ((virtualMask & Axis1D.PrimaryHandTrigger) != 0) + rawMask |= PrimaryHandTrigger; + if ((virtualMask & Axis1D.SecondaryIndexTrigger) != 0) + rawMask |= SecondaryIndexTrigger; + if ((virtualMask & Axis1D.SecondaryHandTrigger) != 0) + rawMask |= SecondaryHandTrigger; + + return rawMask; + } + } + + public class VirtualAxis2DMap + { + public RawAxis2D None = RawAxis2D.None; + public RawAxis2D PrimaryThumbstick = RawAxis2D.None; + public RawAxis2D PrimaryTouchpad = RawAxis2D.None; + public RawAxis2D SecondaryThumbstick = RawAxis2D.None; + public RawAxis2D SecondaryTouchpad = RawAxis2D.None; + + public RawAxis2D ToRawMask(Axis2D virtualMask) + { + RawAxis2D rawMask = 0; + + if (virtualMask == Axis2D.None) + return RawAxis2D.None; + + if ((virtualMask & Axis2D.PrimaryThumbstick) != 0) + rawMask |= PrimaryThumbstick; + if ((virtualMask & Axis2D.PrimaryTouchpad) != 0) + rawMask |= PrimaryTouchpad; + if ((virtualMask & Axis2D.SecondaryThumbstick) != 0) + rawMask |= SecondaryThumbstick; + if ((virtualMask & Axis2D.SecondaryTouchpad) != 0) + rawMask |= SecondaryTouchpad; + + return rawMask; + } + } + + public Controller controllerType = Controller.None; + public VirtualButtonMap buttonMap = new VirtualButtonMap(); + public VirtualTouchMap touchMap = new VirtualTouchMap(); + public VirtualNearTouchMap nearTouchMap = new VirtualNearTouchMap(); + public VirtualAxis1DMap axis1DMap = new VirtualAxis1DMap(); + public VirtualAxis2DMap axis2DMap = new VirtualAxis2DMap(); + public OVRPlugin.ControllerState4 previousState = new OVRPlugin.ControllerState4(); + public OVRPlugin.ControllerState4 currentState = new OVRPlugin.ControllerState4(); + public bool shouldApplyDeadzone = true; + + public OVRControllerBase() + { + ConfigureButtonMap(); + ConfigureTouchMap(); + ConfigureNearTouchMap(); + ConfigureAxis1DMap(); + ConfigureAxis2DMap(); + } + + public virtual Controller Update() + { + OVRPlugin.ControllerState4 state = OVRPlugin.GetControllerState4((uint)controllerType); + + if (state.LIndexTrigger >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.LIndexTrigger; + if (state.LHandTrigger >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.LHandTrigger; + if (state.LThumbstick.y >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.LThumbstickUp; + if (state.LThumbstick.y <= -AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.LThumbstickDown; + if (state.LThumbstick.x <= -AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.LThumbstickLeft; + if (state.LThumbstick.x >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.LThumbstickRight; + + if (state.RIndexTrigger >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.RIndexTrigger; + if (state.RHandTrigger >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.RHandTrigger; + if (state.RThumbstick.y >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.RThumbstickUp; + if (state.RThumbstick.y <= -AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.RThumbstickDown; + if (state.RThumbstick.x <= -AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.RThumbstickLeft; + if (state.RThumbstick.x >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.RThumbstickRight; + + previousState = currentState; + currentState = state; + + return ((Controller)currentState.ConnectedControllers & controllerType); + } + + public virtual void SetControllerVibration(float frequency, float amplitude) + { + OVRPlugin.SetControllerVibration((uint)controllerType, frequency, amplitude); + } + + public virtual void RecenterController() + { + OVRPlugin.RecenterTrackingOrigin(OVRPlugin.RecenterFlags.Controllers); + } + + public virtual bool WasRecentered() + { + return false; + } + + public virtual byte GetRecenterCount() + { + return 0; + } + + public virtual byte GetBatteryPercentRemaining() + { + return 0; + } + + public abstract void ConfigureButtonMap(); + public abstract void ConfigureTouchMap(); + public abstract void ConfigureNearTouchMap(); + public abstract void ConfigureAxis1DMap(); + public abstract void ConfigureAxis2DMap(); + + public RawButton ResolveToRawMask(Button virtualMask) + { + return buttonMap.ToRawMask(virtualMask); + } + + public RawTouch ResolveToRawMask(Touch virtualMask) + { + return touchMap.ToRawMask(virtualMask); + } + + public RawNearTouch ResolveToRawMask(NearTouch virtualMask) + { + return nearTouchMap.ToRawMask(virtualMask); + } + + public RawAxis1D ResolveToRawMask(Axis1D virtualMask) + { + return axis1DMap.ToRawMask(virtualMask); + } + + public RawAxis2D ResolveToRawMask(Axis2D virtualMask) + { + return axis2DMap.ToRawMask(virtualMask); + } + } + + private class OVRControllerTouch : OVRControllerBase + { + public OVRControllerTouch() + { + controllerType = Controller.Touch; + } + + public override void ConfigureButtonMap() + { + buttonMap.None = RawButton.None; + buttonMap.One = RawButton.A; + buttonMap.Two = RawButton.B; + buttonMap.Three = RawButton.X; + buttonMap.Four = RawButton.Y; + buttonMap.Start = RawButton.Start; + buttonMap.Back = RawButton.None; + buttonMap.PrimaryShoulder = RawButton.None; + buttonMap.PrimaryIndexTrigger = RawButton.LIndexTrigger; + buttonMap.PrimaryHandTrigger = RawButton.LHandTrigger; + buttonMap.PrimaryThumbstick = RawButton.LThumbstick; + buttonMap.PrimaryThumbstickUp = RawButton.LThumbstickUp; + buttonMap.PrimaryThumbstickDown = RawButton.LThumbstickDown; + buttonMap.PrimaryThumbstickLeft = RawButton.LThumbstickLeft; + buttonMap.PrimaryThumbstickRight = RawButton.LThumbstickRight; + buttonMap.PrimaryTouchpad = RawButton.None; + buttonMap.SecondaryShoulder = RawButton.None; + buttonMap.SecondaryIndexTrigger = RawButton.RIndexTrigger; + buttonMap.SecondaryHandTrigger = RawButton.RHandTrigger; + buttonMap.SecondaryThumbstick = RawButton.RThumbstick; + buttonMap.SecondaryThumbstickUp = RawButton.RThumbstickUp; + buttonMap.SecondaryThumbstickDown = RawButton.RThumbstickDown; + buttonMap.SecondaryThumbstickLeft = RawButton.RThumbstickLeft; + buttonMap.SecondaryThumbstickRight = RawButton.RThumbstickRight; + buttonMap.SecondaryTouchpad = RawButton.None; + buttonMap.DpadUp = RawButton.None; + buttonMap.DpadDown = RawButton.None; + buttonMap.DpadLeft = RawButton.None; + buttonMap.DpadRight = RawButton.None; + buttonMap.Up = RawButton.LThumbstickUp; + buttonMap.Down = RawButton.LThumbstickDown; + buttonMap.Left = RawButton.LThumbstickLeft; + buttonMap.Right = RawButton.LThumbstickRight; + } + + public override void ConfigureTouchMap() + { + touchMap.None = RawTouch.None; + touchMap.One = RawTouch.A; + touchMap.Two = RawTouch.B; + touchMap.Three = RawTouch.X; + touchMap.Four = RawTouch.Y; + touchMap.PrimaryIndexTrigger = RawTouch.LIndexTrigger; + touchMap.PrimaryThumbstick = RawTouch.LThumbstick; + touchMap.PrimaryThumbRest = RawTouch.LThumbRest; + touchMap.PrimaryTouchpad = RawTouch.None; + touchMap.SecondaryIndexTrigger = RawTouch.RIndexTrigger; + touchMap.SecondaryThumbstick = RawTouch.RThumbstick; + touchMap.SecondaryThumbRest = RawTouch.RThumbRest; + touchMap.SecondaryTouchpad = RawTouch.None; + } + + public override void ConfigureNearTouchMap() + { + nearTouchMap.None = RawNearTouch.None; + nearTouchMap.PrimaryIndexTrigger = RawNearTouch.LIndexTrigger; + nearTouchMap.PrimaryThumbButtons = RawNearTouch.LThumbButtons; + nearTouchMap.SecondaryIndexTrigger = RawNearTouch.RIndexTrigger; + nearTouchMap.SecondaryThumbButtons = RawNearTouch.RThumbButtons; + } + + public override void ConfigureAxis1DMap() + { + axis1DMap.None = RawAxis1D.None; + axis1DMap.PrimaryIndexTrigger = RawAxis1D.LIndexTrigger; + axis1DMap.PrimaryHandTrigger = RawAxis1D.LHandTrigger; + axis1DMap.SecondaryIndexTrigger = RawAxis1D.RIndexTrigger; + axis1DMap.SecondaryHandTrigger = RawAxis1D.RHandTrigger; + } + + public override void ConfigureAxis2DMap() + { + axis2DMap.None = RawAxis2D.None; + axis2DMap.PrimaryThumbstick = RawAxis2D.LThumbstick; + axis2DMap.PrimaryTouchpad = RawAxis2D.None; + axis2DMap.SecondaryThumbstick = RawAxis2D.RThumbstick; + axis2DMap.SecondaryTouchpad = RawAxis2D.None; + } + + public override bool WasRecentered() + { + return ((currentState.LRecenterCount + currentState.RRecenterCount) != (previousState.LRecenterCount + previousState.RRecenterCount)); + } + + public override byte GetRecenterCount() + { + return (byte)(currentState.LRecenterCount + currentState.RRecenterCount); + } + + public override byte GetBatteryPercentRemaining() + { + byte leftBattery = currentState.LBatteryPercentRemaining; + byte rightBattery = currentState.RBatteryPercentRemaining; + byte minBattery = (leftBattery <= rightBattery) ? leftBattery : rightBattery; + + return minBattery; + } + } + + private class OVRControllerLTouch : OVRControllerBase + { + public OVRControllerLTouch() + { + controllerType = Controller.LTouch; + } + + public override void ConfigureButtonMap() + { + buttonMap.None = RawButton.None; + buttonMap.One = RawButton.X; + buttonMap.Two = RawButton.Y; + buttonMap.Three = RawButton.None; + buttonMap.Four = RawButton.None; + buttonMap.Start = RawButton.Start; + buttonMap.Back = RawButton.None; + buttonMap.PrimaryShoulder = RawButton.None; + buttonMap.PrimaryIndexTrigger = RawButton.LIndexTrigger; + buttonMap.PrimaryHandTrigger = RawButton.LHandTrigger; + buttonMap.PrimaryThumbstick = RawButton.LThumbstick; + buttonMap.PrimaryThumbstickUp = RawButton.LThumbstickUp; + buttonMap.PrimaryThumbstickDown = RawButton.LThumbstickDown; + buttonMap.PrimaryThumbstickLeft = RawButton.LThumbstickLeft; + buttonMap.PrimaryThumbstickRight = RawButton.LThumbstickRight; + buttonMap.PrimaryTouchpad = RawButton.None; + buttonMap.SecondaryShoulder = RawButton.None; + buttonMap.SecondaryIndexTrigger = RawButton.None; + buttonMap.SecondaryHandTrigger = RawButton.None; + buttonMap.SecondaryThumbstick = RawButton.None; + buttonMap.SecondaryThumbstickUp = RawButton.None; + buttonMap.SecondaryThumbstickDown = RawButton.None; + buttonMap.SecondaryThumbstickLeft = RawButton.None; + buttonMap.SecondaryThumbstickRight = RawButton.None; + buttonMap.SecondaryTouchpad = RawButton.None; + buttonMap.DpadUp = RawButton.None; + buttonMap.DpadDown = RawButton.None; + buttonMap.DpadLeft = RawButton.None; + buttonMap.DpadRight = RawButton.None; + buttonMap.Up = RawButton.LThumbstickUp; + buttonMap.Down = RawButton.LThumbstickDown; + buttonMap.Left = RawButton.LThumbstickLeft; + buttonMap.Right = RawButton.LThumbstickRight; + } + + public override void ConfigureTouchMap() + { + touchMap.None = RawTouch.None; + touchMap.One = RawTouch.X; + touchMap.Two = RawTouch.Y; + touchMap.Three = RawTouch.None; + touchMap.Four = RawTouch.None; + touchMap.PrimaryIndexTrigger = RawTouch.LIndexTrigger; + touchMap.PrimaryThumbstick = RawTouch.LThumbstick; + touchMap.PrimaryThumbRest = RawTouch.LThumbRest; + touchMap.PrimaryTouchpad = RawTouch.None; + touchMap.SecondaryIndexTrigger = RawTouch.None; + touchMap.SecondaryThumbstick = RawTouch.None; + touchMap.SecondaryThumbRest = RawTouch.None; + touchMap.SecondaryTouchpad = RawTouch.None; + } + + public override void ConfigureNearTouchMap() + { + nearTouchMap.None = RawNearTouch.None; + nearTouchMap.PrimaryIndexTrigger = RawNearTouch.LIndexTrigger; + nearTouchMap.PrimaryThumbButtons = RawNearTouch.LThumbButtons; + nearTouchMap.SecondaryIndexTrigger = RawNearTouch.None; + nearTouchMap.SecondaryThumbButtons = RawNearTouch.None; + } + + public override void ConfigureAxis1DMap() + { + axis1DMap.None = RawAxis1D.None; + axis1DMap.PrimaryIndexTrigger = RawAxis1D.LIndexTrigger; + axis1DMap.PrimaryHandTrigger = RawAxis1D.LHandTrigger; + axis1DMap.SecondaryIndexTrigger = RawAxis1D.None; + axis1DMap.SecondaryHandTrigger = RawAxis1D.None; + } + + public override void ConfigureAxis2DMap() + { + axis2DMap.None = RawAxis2D.None; + axis2DMap.PrimaryThumbstick = RawAxis2D.LThumbstick; + axis2DMap.PrimaryTouchpad = RawAxis2D.None; + axis2DMap.SecondaryThumbstick = RawAxis2D.None; + axis2DMap.SecondaryTouchpad = RawAxis2D.None; + } + + public override bool WasRecentered() + { + return (currentState.LRecenterCount != previousState.LRecenterCount); + } + + public override byte GetRecenterCount() + { + return currentState.LRecenterCount; + } + + public override byte GetBatteryPercentRemaining() + { + return currentState.LBatteryPercentRemaining; + } + } + + private class OVRControllerRTouch : OVRControllerBase + { + public OVRControllerRTouch() + { + controllerType = Controller.RTouch; + } + + public override void ConfigureButtonMap() + { + buttonMap.None = RawButton.None; + buttonMap.One = RawButton.A; + buttonMap.Two = RawButton.B; + buttonMap.Three = RawButton.None; + buttonMap.Four = RawButton.None; + buttonMap.Start = RawButton.None; + buttonMap.Back = RawButton.None; + buttonMap.PrimaryShoulder = RawButton.None; + buttonMap.PrimaryIndexTrigger = RawButton.RIndexTrigger; + buttonMap.PrimaryHandTrigger = RawButton.RHandTrigger; + buttonMap.PrimaryThumbstick = RawButton.RThumbstick; + buttonMap.PrimaryThumbstickUp = RawButton.RThumbstickUp; + buttonMap.PrimaryThumbstickDown = RawButton.RThumbstickDown; + buttonMap.PrimaryThumbstickLeft = RawButton.RThumbstickLeft; + buttonMap.PrimaryThumbstickRight = RawButton.RThumbstickRight; + buttonMap.PrimaryTouchpad = RawButton.None; + buttonMap.SecondaryShoulder = RawButton.None; + buttonMap.SecondaryIndexTrigger = RawButton.None; + buttonMap.SecondaryHandTrigger = RawButton.None; + buttonMap.SecondaryThumbstick = RawButton.None; + buttonMap.SecondaryThumbstickUp = RawButton.None; + buttonMap.SecondaryThumbstickDown = RawButton.None; + buttonMap.SecondaryThumbstickLeft = RawButton.None; + buttonMap.SecondaryThumbstickRight = RawButton.None; + buttonMap.SecondaryTouchpad = RawButton.None; + buttonMap.DpadUp = RawButton.None; + buttonMap.DpadDown = RawButton.None; + buttonMap.DpadLeft = RawButton.None; + buttonMap.DpadRight = RawButton.None; + buttonMap.Up = RawButton.RThumbstickUp; + buttonMap.Down = RawButton.RThumbstickDown; + buttonMap.Left = RawButton.RThumbstickLeft; + buttonMap.Right = RawButton.RThumbstickRight; + } + + public override void ConfigureTouchMap() + { + touchMap.None = RawTouch.None; + touchMap.One = RawTouch.A; + touchMap.Two = RawTouch.B; + touchMap.Three = RawTouch.None; + touchMap.Four = RawTouch.None; + touchMap.PrimaryIndexTrigger = RawTouch.RIndexTrigger; + touchMap.PrimaryThumbstick = RawTouch.RThumbstick; + touchMap.PrimaryThumbRest = RawTouch.RThumbRest; + touchMap.PrimaryTouchpad = RawTouch.None; + touchMap.SecondaryIndexTrigger = RawTouch.None; + touchMap.SecondaryThumbstick = RawTouch.None; + touchMap.SecondaryThumbRest = RawTouch.None; + touchMap.SecondaryTouchpad = RawTouch.None; + } + + public override void ConfigureNearTouchMap() + { + nearTouchMap.None = RawNearTouch.None; + nearTouchMap.PrimaryIndexTrigger = RawNearTouch.RIndexTrigger; + nearTouchMap.PrimaryThumbButtons = RawNearTouch.RThumbButtons; + nearTouchMap.SecondaryIndexTrigger = RawNearTouch.None; + nearTouchMap.SecondaryThumbButtons = RawNearTouch.None; + } + + public override void ConfigureAxis1DMap() + { + axis1DMap.None = RawAxis1D.None; + axis1DMap.PrimaryIndexTrigger = RawAxis1D.RIndexTrigger; + axis1DMap.PrimaryHandTrigger = RawAxis1D.RHandTrigger; + axis1DMap.SecondaryIndexTrigger = RawAxis1D.None; + axis1DMap.SecondaryHandTrigger = RawAxis1D.None; + } + + public override void ConfigureAxis2DMap() + { + axis2DMap.None = RawAxis2D.None; + axis2DMap.PrimaryThumbstick = RawAxis2D.RThumbstick; + axis2DMap.PrimaryTouchpad = RawAxis2D.None; + axis2DMap.SecondaryThumbstick = RawAxis2D.None; + axis2DMap.SecondaryTouchpad = RawAxis2D.None; + } + + public override bool WasRecentered() + { + return (currentState.RRecenterCount != previousState.RRecenterCount); + } + + public override byte GetRecenterCount() + { + return currentState.RRecenterCount; + } + + public override byte GetBatteryPercentRemaining() + { + return currentState.RBatteryPercentRemaining; + } + } + + private class OVRControllerRemote : OVRControllerBase + { + public OVRControllerRemote() + { + controllerType = Controller.Remote; + } + + public override void ConfigureButtonMap() + { + buttonMap.None = RawButton.None; + buttonMap.One = RawButton.Start; + buttonMap.Two = RawButton.Back; + buttonMap.Three = RawButton.None; + buttonMap.Four = RawButton.None; + buttonMap.Start = RawButton.Start; + buttonMap.Back = RawButton.Back; + buttonMap.PrimaryShoulder = RawButton.None; + buttonMap.PrimaryIndexTrigger = RawButton.None; + buttonMap.PrimaryHandTrigger = RawButton.None; + buttonMap.PrimaryThumbstick = RawButton.None; + buttonMap.PrimaryThumbstickUp = RawButton.None; + buttonMap.PrimaryThumbstickDown = RawButton.None; + buttonMap.PrimaryThumbstickLeft = RawButton.None; + buttonMap.PrimaryThumbstickRight = RawButton.None; + buttonMap.PrimaryTouchpad = RawButton.None; + buttonMap.SecondaryShoulder = RawButton.None; + buttonMap.SecondaryIndexTrigger = RawButton.None; + buttonMap.SecondaryHandTrigger = RawButton.None; + buttonMap.SecondaryThumbstick = RawButton.None; + buttonMap.SecondaryThumbstickUp = RawButton.None; + buttonMap.SecondaryThumbstickDown = RawButton.None; + buttonMap.SecondaryThumbstickLeft = RawButton.None; + buttonMap.SecondaryThumbstickRight = RawButton.None; + buttonMap.SecondaryTouchpad = RawButton.None; + buttonMap.DpadUp = RawButton.DpadUp; + buttonMap.DpadDown = RawButton.DpadDown; + buttonMap.DpadLeft = RawButton.DpadLeft; + buttonMap.DpadRight = RawButton.DpadRight; + buttonMap.Up = RawButton.DpadUp; + buttonMap.Down = RawButton.DpadDown; + buttonMap.Left = RawButton.DpadLeft; + buttonMap.Right = RawButton.DpadRight; + } + + public override void ConfigureTouchMap() + { + touchMap.None = RawTouch.None; + touchMap.One = RawTouch.None; + touchMap.Two = RawTouch.None; + touchMap.Three = RawTouch.None; + touchMap.Four = RawTouch.None; + touchMap.PrimaryIndexTrigger = RawTouch.None; + touchMap.PrimaryThumbstick = RawTouch.None; + touchMap.PrimaryThumbRest = RawTouch.None; + touchMap.PrimaryTouchpad = RawTouch.None; + touchMap.SecondaryIndexTrigger = RawTouch.None; + touchMap.SecondaryThumbstick = RawTouch.None; + touchMap.SecondaryThumbRest = RawTouch.None; + touchMap.SecondaryTouchpad = RawTouch.None; + } + + public override void ConfigureNearTouchMap() + { + nearTouchMap.None = RawNearTouch.None; + nearTouchMap.PrimaryIndexTrigger = RawNearTouch.None; + nearTouchMap.PrimaryThumbButtons = RawNearTouch.None; + nearTouchMap.SecondaryIndexTrigger = RawNearTouch.None; + nearTouchMap.SecondaryThumbButtons = RawNearTouch.None; + } + + public override void ConfigureAxis1DMap() + { + axis1DMap.None = RawAxis1D.None; + axis1DMap.PrimaryIndexTrigger = RawAxis1D.None; + axis1DMap.PrimaryHandTrigger = RawAxis1D.None; + axis1DMap.SecondaryIndexTrigger = RawAxis1D.None; + axis1DMap.SecondaryHandTrigger = RawAxis1D.None; + } + + public override void ConfigureAxis2DMap() + { + axis2DMap.None = RawAxis2D.None; + axis2DMap.PrimaryThumbstick = RawAxis2D.None; + axis2DMap.PrimaryTouchpad = RawAxis2D.None; + axis2DMap.SecondaryThumbstick = RawAxis2D.None; + axis2DMap.SecondaryTouchpad = RawAxis2D.None; + } + } + + private class OVRControllerGamepadPC : OVRControllerBase + { + public OVRControllerGamepadPC() + { + controllerType = Controller.Gamepad; + } + + public override void ConfigureButtonMap() + { + buttonMap.None = RawButton.None; + buttonMap.One = RawButton.A; + buttonMap.Two = RawButton.B; + buttonMap.Three = RawButton.X; + buttonMap.Four = RawButton.Y; + buttonMap.Start = RawButton.Start; + buttonMap.Back = RawButton.Back; + buttonMap.PrimaryShoulder = RawButton.LShoulder; + buttonMap.PrimaryIndexTrigger = RawButton.LIndexTrigger; + buttonMap.PrimaryHandTrigger = RawButton.None; + buttonMap.PrimaryThumbstick = RawButton.LThumbstick; + buttonMap.PrimaryThumbstickUp = RawButton.LThumbstickUp; + buttonMap.PrimaryThumbstickDown = RawButton.LThumbstickDown; + buttonMap.PrimaryThumbstickLeft = RawButton.LThumbstickLeft; + buttonMap.PrimaryThumbstickRight = RawButton.LThumbstickRight; + buttonMap.PrimaryTouchpad = RawButton.None; + buttonMap.SecondaryShoulder = RawButton.RShoulder; + buttonMap.SecondaryIndexTrigger = RawButton.RIndexTrigger; + buttonMap.SecondaryHandTrigger = RawButton.None; + buttonMap.SecondaryThumbstick = RawButton.RThumbstick; + buttonMap.SecondaryThumbstickUp = RawButton.RThumbstickUp; + buttonMap.SecondaryThumbstickDown = RawButton.RThumbstickDown; + buttonMap.SecondaryThumbstickLeft = RawButton.RThumbstickLeft; + buttonMap.SecondaryThumbstickRight = RawButton.RThumbstickRight; + buttonMap.SecondaryTouchpad = RawButton.None; + buttonMap.DpadUp = RawButton.DpadUp; + buttonMap.DpadDown = RawButton.DpadDown; + buttonMap.DpadLeft = RawButton.DpadLeft; + buttonMap.DpadRight = RawButton.DpadRight; + buttonMap.Up = RawButton.LThumbstickUp; + buttonMap.Down = RawButton.LThumbstickDown; + buttonMap.Left = RawButton.LThumbstickLeft; + buttonMap.Right = RawButton.LThumbstickRight; + } + + public override void ConfigureTouchMap() + { + touchMap.None = RawTouch.None; + touchMap.One = RawTouch.None; + touchMap.Two = RawTouch.None; + touchMap.Three = RawTouch.None; + touchMap.Four = RawTouch.None; + touchMap.PrimaryIndexTrigger = RawTouch.None; + touchMap.PrimaryThumbstick = RawTouch.None; + touchMap.PrimaryThumbRest = RawTouch.None; + touchMap.PrimaryTouchpad = RawTouch.None; + touchMap.SecondaryIndexTrigger = RawTouch.None; + touchMap.SecondaryThumbstick = RawTouch.None; + touchMap.SecondaryThumbRest = RawTouch.None; + touchMap.SecondaryTouchpad = RawTouch.None; + } + + public override void ConfigureNearTouchMap() + { + nearTouchMap.None = RawNearTouch.None; + nearTouchMap.PrimaryIndexTrigger = RawNearTouch.None; + nearTouchMap.PrimaryThumbButtons = RawNearTouch.None; + nearTouchMap.SecondaryIndexTrigger = RawNearTouch.None; + nearTouchMap.SecondaryThumbButtons = RawNearTouch.None; + } + + public override void ConfigureAxis1DMap() + { + axis1DMap.None = RawAxis1D.None; + axis1DMap.PrimaryIndexTrigger = RawAxis1D.LIndexTrigger; + axis1DMap.PrimaryHandTrigger = RawAxis1D.None; + axis1DMap.SecondaryIndexTrigger = RawAxis1D.RIndexTrigger; + axis1DMap.SecondaryHandTrigger = RawAxis1D.None; + } + + public override void ConfigureAxis2DMap() + { + axis2DMap.None = RawAxis2D.None; + axis2DMap.PrimaryThumbstick = RawAxis2D.LThumbstick; + axis2DMap.PrimaryTouchpad = RawAxis2D.None; + axis2DMap.SecondaryThumbstick = RawAxis2D.RThumbstick; + axis2DMap.SecondaryTouchpad = RawAxis2D.None; + } + } + + private class OVRControllerGamepadMac : OVRControllerBase + { + /// An axis on the gamepad. + private enum AxisGPC + { + None = -1, + LeftXAxis = 0, + LeftYAxis, + RightXAxis, + RightYAxis, + LeftTrigger, + RightTrigger, + DPad_X_Axis, + DPad_Y_Axis, + Max, + }; + + /// A button on the gamepad. + public enum ButtonGPC + { + None = -1, + A = 0, + B, + X, + Y, + Up, + Down, + Left, + Right, + Start, + Back, + LStick, + RStick, + LeftShoulder, + RightShoulder, + Max + }; + + private bool initialized = false; + + public OVRControllerGamepadMac() + { + controllerType = Controller.Gamepad; + + initialized = OVR_GamepadController_Initialize(); + } + + ~OVRControllerGamepadMac() + { + if (!initialized) + return; + + OVR_GamepadController_Destroy(); + } + + public override Controller Update() + { + if (!initialized) + { + return Controller.None; + } + + OVRPlugin.ControllerState4 state = new OVRPlugin.ControllerState4(); + + bool result = OVR_GamepadController_Update(); + + if (result) + state.ConnectedControllers = (uint)Controller.Gamepad; + + if (OVR_GamepadController_GetButton((int)ButtonGPC.A)) + state.Buttons |= (uint)RawButton.A; + if (OVR_GamepadController_GetButton((int)ButtonGPC.B)) + state.Buttons |= (uint)RawButton.B; + if (OVR_GamepadController_GetButton((int)ButtonGPC.X)) + state.Buttons |= (uint)RawButton.X; + if (OVR_GamepadController_GetButton((int)ButtonGPC.Y)) + state.Buttons |= (uint)RawButton.Y; + if (OVR_GamepadController_GetButton((int)ButtonGPC.Up)) + state.Buttons |= (uint)RawButton.DpadUp; + if (OVR_GamepadController_GetButton((int)ButtonGPC.Down)) + state.Buttons |= (uint)RawButton.DpadDown; + if (OVR_GamepadController_GetButton((int)ButtonGPC.Left)) + state.Buttons |= (uint)RawButton.DpadLeft; + if (OVR_GamepadController_GetButton((int)ButtonGPC.Right)) + state.Buttons |= (uint)RawButton.DpadRight; + if (OVR_GamepadController_GetButton((int)ButtonGPC.Start)) + state.Buttons |= (uint)RawButton.Start; + if (OVR_GamepadController_GetButton((int)ButtonGPC.Back)) + state.Buttons |= (uint)RawButton.Back; + if (OVR_GamepadController_GetButton((int)ButtonGPC.LStick)) + state.Buttons |= (uint)RawButton.LThumbstick; + if (OVR_GamepadController_GetButton((int)ButtonGPC.RStick)) + state.Buttons |= (uint)RawButton.RThumbstick; + if (OVR_GamepadController_GetButton((int)ButtonGPC.LeftShoulder)) + state.Buttons |= (uint)RawButton.LShoulder; + if (OVR_GamepadController_GetButton((int)ButtonGPC.RightShoulder)) + state.Buttons |= (uint)RawButton.RShoulder; + + state.LThumbstick.x = OVR_GamepadController_GetAxis((int)AxisGPC.LeftXAxis); + state.LThumbstick.y = OVR_GamepadController_GetAxis((int)AxisGPC.LeftYAxis); + state.RThumbstick.x = OVR_GamepadController_GetAxis((int)AxisGPC.RightXAxis); + state.RThumbstick.y = OVR_GamepadController_GetAxis((int)AxisGPC.RightYAxis); + state.LIndexTrigger = OVR_GamepadController_GetAxis((int)AxisGPC.LeftTrigger); + state.RIndexTrigger = OVR_GamepadController_GetAxis((int)AxisGPC.RightTrigger); + + if (state.LIndexTrigger >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.LIndexTrigger; + if (state.LHandTrigger >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.LHandTrigger; + if (state.LThumbstick.y >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.LThumbstickUp; + if (state.LThumbstick.y <= -AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.LThumbstickDown; + if (state.LThumbstick.x <= -AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.LThumbstickLeft; + if (state.LThumbstick.x >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.LThumbstickRight; + + if (state.RIndexTrigger >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.RIndexTrigger; + if (state.RHandTrigger >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.RHandTrigger; + if (state.RThumbstick.y >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.RThumbstickUp; + if (state.RThumbstick.y <= -AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.RThumbstickDown; + if (state.RThumbstick.x <= -AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.RThumbstickLeft; + if (state.RThumbstick.x >= AXIS_AS_BUTTON_THRESHOLD) + state.Buttons |= (uint)RawButton.RThumbstickRight; + + previousState = currentState; + currentState = state; + + return ((Controller)currentState.ConnectedControllers & controllerType); + } + + public override void ConfigureButtonMap() + { + buttonMap.None = RawButton.None; + buttonMap.One = RawButton.A; + buttonMap.Two = RawButton.B; + buttonMap.Three = RawButton.X; + buttonMap.Four = RawButton.Y; + buttonMap.Start = RawButton.Start; + buttonMap.Back = RawButton.Back; + buttonMap.PrimaryShoulder = RawButton.LShoulder; + buttonMap.PrimaryIndexTrigger = RawButton.LIndexTrigger; + buttonMap.PrimaryHandTrigger = RawButton.None; + buttonMap.PrimaryThumbstick = RawButton.LThumbstick; + buttonMap.PrimaryThumbstickUp = RawButton.LThumbstickUp; + buttonMap.PrimaryThumbstickDown = RawButton.LThumbstickDown; + buttonMap.PrimaryThumbstickLeft = RawButton.LThumbstickLeft; + buttonMap.PrimaryThumbstickRight = RawButton.LThumbstickRight; + buttonMap.PrimaryTouchpad = RawButton.None; + buttonMap.SecondaryShoulder = RawButton.RShoulder; + buttonMap.SecondaryIndexTrigger = RawButton.RIndexTrigger; + buttonMap.SecondaryHandTrigger = RawButton.None; + buttonMap.SecondaryThumbstick = RawButton.RThumbstick; + buttonMap.SecondaryThumbstickUp = RawButton.RThumbstickUp; + buttonMap.SecondaryThumbstickDown = RawButton.RThumbstickDown; + buttonMap.SecondaryThumbstickLeft = RawButton.RThumbstickLeft; + buttonMap.SecondaryThumbstickRight = RawButton.RThumbstickRight; + buttonMap.SecondaryTouchpad = RawButton.None; + buttonMap.DpadUp = RawButton.DpadUp; + buttonMap.DpadDown = RawButton.DpadDown; + buttonMap.DpadLeft = RawButton.DpadLeft; + buttonMap.DpadRight = RawButton.DpadRight; + buttonMap.Up = RawButton.LThumbstickUp; + buttonMap.Down = RawButton.LThumbstickDown; + buttonMap.Left = RawButton.LThumbstickLeft; + buttonMap.Right = RawButton.LThumbstickRight; + } + + public override void ConfigureTouchMap() + { + touchMap.None = RawTouch.None; + touchMap.One = RawTouch.None; + touchMap.Two = RawTouch.None; + touchMap.Three = RawTouch.None; + touchMap.Four = RawTouch.None; + touchMap.PrimaryIndexTrigger = RawTouch.None; + touchMap.PrimaryThumbstick = RawTouch.None; + touchMap.PrimaryThumbRest = RawTouch.None; + touchMap.PrimaryTouchpad = RawTouch.None; + touchMap.SecondaryIndexTrigger = RawTouch.None; + touchMap.SecondaryThumbstick = RawTouch.None; + touchMap.SecondaryThumbRest = RawTouch.None; + touchMap.SecondaryTouchpad = RawTouch.None; + } + + public override void ConfigureNearTouchMap() + { + nearTouchMap.None = RawNearTouch.None; + nearTouchMap.PrimaryIndexTrigger = RawNearTouch.None; + nearTouchMap.PrimaryThumbButtons = RawNearTouch.None; + nearTouchMap.SecondaryIndexTrigger = RawNearTouch.None; + nearTouchMap.SecondaryThumbButtons = RawNearTouch.None; + } + + public override void ConfigureAxis1DMap() + { + axis1DMap.None = RawAxis1D.None; + axis1DMap.PrimaryIndexTrigger = RawAxis1D.LIndexTrigger; + axis1DMap.PrimaryHandTrigger = RawAxis1D.None; + axis1DMap.SecondaryIndexTrigger = RawAxis1D.RIndexTrigger; + axis1DMap.SecondaryHandTrigger = RawAxis1D.None; + } + + public override void ConfigureAxis2DMap() + { + axis2DMap.None = RawAxis2D.None; + axis2DMap.PrimaryThumbstick = RawAxis2D.LThumbstick; + axis2DMap.PrimaryTouchpad = RawAxis2D.None; + axis2DMap.SecondaryThumbstick = RawAxis2D.RThumbstick; + axis2DMap.SecondaryTouchpad = RawAxis2D.None; + } + + public override void SetControllerVibration(float frequency, float amplitude) + { + int gpcNode = 0; + float gpcFrequency = frequency * 200.0f; //Map frequency from 0-1 CAPI range to 0-200 GPC range + float gpcStrength = amplitude; + + OVR_GamepadController_SetVibration(gpcNode, gpcStrength, gpcFrequency); + } + + private const string DllName = "OVRGamepad"; + + [DllImport(DllName, CallingConvention = CallingConvention.Cdecl)] + private static extern bool OVR_GamepadController_Initialize(); + [DllImport(DllName, CallingConvention = CallingConvention.Cdecl)] + private static extern bool OVR_GamepadController_Destroy(); + [DllImport(DllName, CallingConvention = CallingConvention.Cdecl)] + private static extern bool OVR_GamepadController_Update(); + [DllImport(DllName, CallingConvention = CallingConvention.Cdecl)] + private static extern float OVR_GamepadController_GetAxis(int axis); + [DllImport(DllName, CallingConvention = CallingConvention.Cdecl)] + private static extern bool OVR_GamepadController_GetButton(int button); + [DllImport(DllName, CallingConvention = CallingConvention.Cdecl)] + private static extern bool OVR_GamepadController_SetVibration(int node, float strength, float frequency); + } + + private class OVRControllerGamepadAndroid : OVRControllerBase + { + public OVRControllerGamepadAndroid() + { + controllerType = Controller.Gamepad; + } + + public override void ConfigureButtonMap() + { + buttonMap.None = RawButton.None; + buttonMap.One = RawButton.A; + buttonMap.Two = RawButton.B; + buttonMap.Three = RawButton.X; + buttonMap.Four = RawButton.Y; + buttonMap.Start = RawButton.Start; + buttonMap.Back = RawButton.Back; + buttonMap.PrimaryShoulder = RawButton.LShoulder; + buttonMap.PrimaryIndexTrigger = RawButton.LIndexTrigger; + buttonMap.PrimaryHandTrigger = RawButton.None; + buttonMap.PrimaryThumbstick = RawButton.LThumbstick; + buttonMap.PrimaryThumbstickUp = RawButton.LThumbstickUp; + buttonMap.PrimaryThumbstickDown = RawButton.LThumbstickDown; + buttonMap.PrimaryThumbstickLeft = RawButton.LThumbstickLeft; + buttonMap.PrimaryThumbstickRight = RawButton.LThumbstickRight; + buttonMap.PrimaryTouchpad = RawButton.None; + buttonMap.SecondaryShoulder = RawButton.RShoulder; + buttonMap.SecondaryIndexTrigger = RawButton.RIndexTrigger; + buttonMap.SecondaryHandTrigger = RawButton.None; + buttonMap.SecondaryThumbstick = RawButton.RThumbstick; + buttonMap.SecondaryThumbstickUp = RawButton.RThumbstickUp; + buttonMap.SecondaryThumbstickDown = RawButton.RThumbstickDown; + buttonMap.SecondaryThumbstickLeft = RawButton.RThumbstickLeft; + buttonMap.SecondaryThumbstickRight = RawButton.RThumbstickRight; + buttonMap.SecondaryTouchpad = RawButton.None; + buttonMap.DpadUp = RawButton.DpadUp; + buttonMap.DpadDown = RawButton.DpadDown; + buttonMap.DpadLeft = RawButton.DpadLeft; + buttonMap.DpadRight = RawButton.DpadRight; + buttonMap.Up = RawButton.LThumbstickUp; + buttonMap.Down = RawButton.LThumbstickDown; + buttonMap.Left = RawButton.LThumbstickLeft; + buttonMap.Right = RawButton.LThumbstickRight; + } + + public override void ConfigureTouchMap() + { + touchMap.None = RawTouch.None; + touchMap.One = RawTouch.None; + touchMap.Two = RawTouch.None; + touchMap.Three = RawTouch.None; + touchMap.Four = RawTouch.None; + touchMap.PrimaryIndexTrigger = RawTouch.None; + touchMap.PrimaryThumbstick = RawTouch.None; + touchMap.PrimaryThumbRest = RawTouch.None; + touchMap.PrimaryTouchpad = RawTouch.None; + touchMap.SecondaryIndexTrigger = RawTouch.None; + touchMap.SecondaryThumbstick = RawTouch.None; + touchMap.SecondaryThumbRest = RawTouch.None; + touchMap.SecondaryTouchpad = RawTouch.None; + } + + public override void ConfigureNearTouchMap() + { + nearTouchMap.None = RawNearTouch.None; + nearTouchMap.PrimaryIndexTrigger = RawNearTouch.None; + nearTouchMap.PrimaryThumbButtons = RawNearTouch.None; + nearTouchMap.SecondaryIndexTrigger = RawNearTouch.None; + nearTouchMap.SecondaryThumbButtons = RawNearTouch.None; + } + + public override void ConfigureAxis1DMap() + { + axis1DMap.None = RawAxis1D.None; + axis1DMap.PrimaryIndexTrigger = RawAxis1D.LIndexTrigger; + axis1DMap.PrimaryHandTrigger = RawAxis1D.None; + axis1DMap.SecondaryIndexTrigger = RawAxis1D.RIndexTrigger; + axis1DMap.SecondaryHandTrigger = RawAxis1D.None; + } + + public override void ConfigureAxis2DMap() + { + axis2DMap.None = RawAxis2D.None; + axis2DMap.PrimaryThumbstick = RawAxis2D.LThumbstick; + axis2DMap.PrimaryTouchpad = RawAxis2D.None; + axis2DMap.SecondaryThumbstick = RawAxis2D.RThumbstick; + axis2DMap.SecondaryTouchpad = RawAxis2D.None; + } + } + + private class OVRControllerTouchpad : OVRControllerBase + { + private OVRPlugin.Vector2f moveAmount; + private float maxTapMagnitude = 0.1f; + private float minMoveMagnitude = 0.15f; + + public OVRControllerTouchpad() + { + controllerType = Controller.Touchpad; + } + + public override Controller Update() + { + Controller res = base.Update(); + + if (GetDown(RawTouch.LTouchpad, OVRInput.Controller.Touchpad)) + { + moveAmount = currentState.LTouchpad; + } + + if (GetUp(RawTouch.LTouchpad, OVRInput.Controller.Touchpad)) + { + moveAmount.x = previousState.LTouchpad.x - moveAmount.x; + moveAmount.y = previousState.LTouchpad.y - moveAmount.y; + + Vector2 move = new Vector2(moveAmount.x, moveAmount.y); + float moveMag = move.magnitude; + + if (moveMag < maxTapMagnitude) + { + // Emit Touchpad Tap + currentState.Buttons |= (uint)RawButton.Start; + currentState.Buttons |= (uint)RawButton.LTouchpad; + } + else if (moveMag >= minMoveMagnitude) + { + move.Normalize(); + + // Left/Right + if (Mathf.Abs(move.x) > Mathf.Abs(move.y)) + { + if (move.x < 0.0f) + { + currentState.Buttons |= (uint)RawButton.DpadLeft; + } + else + { + currentState.Buttons |= (uint)RawButton.DpadRight; + } + } + // Up/Down + else + { + if (move.y < 0.0f) + { + currentState.Buttons |= (uint)RawButton.DpadDown; + } + else + { + currentState.Buttons |= (uint)RawButton.DpadUp; + } + } + } + } + + return res; + } + + public override void ConfigureButtonMap() + { + buttonMap.None = RawButton.None; + buttonMap.One = RawButton.LTouchpad; + buttonMap.Two = RawButton.Back; + buttonMap.Three = RawButton.None; + buttonMap.Four = RawButton.None; + buttonMap.Start = RawButton.Start; + buttonMap.Back = RawButton.Back; + buttonMap.PrimaryShoulder = RawButton.None; + buttonMap.PrimaryIndexTrigger = RawButton.None; + buttonMap.PrimaryHandTrigger = RawButton.None; + buttonMap.PrimaryThumbstick = RawButton.None; + buttonMap.PrimaryThumbstickUp = RawButton.None; + buttonMap.PrimaryThumbstickDown = RawButton.None; + buttonMap.PrimaryThumbstickLeft = RawButton.None; + buttonMap.PrimaryThumbstickRight = RawButton.None; + buttonMap.PrimaryTouchpad = RawButton.LTouchpad; + buttonMap.SecondaryShoulder = RawButton.None; + buttonMap.SecondaryIndexTrigger = RawButton.None; + buttonMap.SecondaryHandTrigger = RawButton.None; + buttonMap.SecondaryThumbstick = RawButton.None; + buttonMap.SecondaryThumbstickUp = RawButton.None; + buttonMap.SecondaryThumbstickDown = RawButton.None; + buttonMap.SecondaryThumbstickLeft = RawButton.None; + buttonMap.SecondaryThumbstickRight = RawButton.None; + buttonMap.SecondaryTouchpad = RawButton.None; + buttonMap.DpadUp = RawButton.DpadUp; + buttonMap.DpadDown = RawButton.DpadDown; + buttonMap.DpadLeft = RawButton.DpadLeft; + buttonMap.DpadRight = RawButton.DpadRight; + buttonMap.Up = RawButton.DpadUp; + buttonMap.Down = RawButton.DpadDown; + buttonMap.Left = RawButton.DpadLeft; + buttonMap.Right = RawButton.DpadRight; + } + + public override void ConfigureTouchMap() + { + touchMap.None = RawTouch.None; + touchMap.One = RawTouch.LTouchpad; + touchMap.Two = RawTouch.None; + touchMap.Three = RawTouch.None; + touchMap.Four = RawTouch.None; + touchMap.PrimaryIndexTrigger = RawTouch.None; + touchMap.PrimaryThumbstick = RawTouch.None; + touchMap.PrimaryThumbRest = RawTouch.None; + touchMap.PrimaryTouchpad = RawTouch.LTouchpad; + touchMap.SecondaryIndexTrigger = RawTouch.None; + touchMap.SecondaryThumbstick = RawTouch.None; + touchMap.SecondaryThumbRest = RawTouch.None; + touchMap.SecondaryTouchpad = RawTouch.None; + } + + public override void ConfigureNearTouchMap() + { + nearTouchMap.None = RawNearTouch.None; + nearTouchMap.PrimaryIndexTrigger = RawNearTouch.None; + nearTouchMap.PrimaryThumbButtons = RawNearTouch.None; + nearTouchMap.SecondaryIndexTrigger = RawNearTouch.None; + nearTouchMap.SecondaryThumbButtons = RawNearTouch.None; + } + + public override void ConfigureAxis1DMap() + { + axis1DMap.None = RawAxis1D.None; + axis1DMap.PrimaryIndexTrigger = RawAxis1D.None; + axis1DMap.PrimaryHandTrigger = RawAxis1D.None; + axis1DMap.SecondaryIndexTrigger = RawAxis1D.None; + axis1DMap.SecondaryHandTrigger = RawAxis1D.None; + } + + public override void ConfigureAxis2DMap() + { + axis2DMap.None = RawAxis2D.None; + axis2DMap.PrimaryThumbstick = RawAxis2D.None; + axis2DMap.PrimaryTouchpad = RawAxis2D.LTouchpad; + axis2DMap.SecondaryThumbstick = RawAxis2D.None; + axis2DMap.SecondaryTouchpad = RawAxis2D.None; + } + } + + private class OVRControllerLTrackedRemote : OVRControllerBase + { + private bool emitSwipe; + private OVRPlugin.Vector2f moveAmount; + private float minMoveMagnitude = 0.3f; + + public OVRControllerLTrackedRemote() + { + controllerType = Controller.LTrackedRemote; + } + + public override void ConfigureButtonMap() + { + buttonMap.None = RawButton.None; + buttonMap.One = RawButton.LTouchpad; + buttonMap.Two = RawButton.Back; + buttonMap.Three = RawButton.None; + buttonMap.Four = RawButton.None; + buttonMap.Start = RawButton.Start; + buttonMap.Back = RawButton.Back; + buttonMap.PrimaryShoulder = RawButton.None; + buttonMap.PrimaryIndexTrigger = RawButton.LIndexTrigger; + buttonMap.PrimaryHandTrigger = RawButton.LHandTrigger; + buttonMap.PrimaryThumbstick = RawButton.None; + buttonMap.PrimaryThumbstickUp = RawButton.None; + buttonMap.PrimaryThumbstickDown = RawButton.None; + buttonMap.PrimaryThumbstickLeft = RawButton.None; + buttonMap.PrimaryThumbstickRight = RawButton.None; + buttonMap.PrimaryTouchpad = RawButton.LTouchpad; + buttonMap.SecondaryShoulder = RawButton.None; + buttonMap.SecondaryIndexTrigger = RawButton.None; + buttonMap.SecondaryHandTrigger = RawButton.None; + buttonMap.SecondaryThumbstick = RawButton.None; + buttonMap.SecondaryThumbstickUp = RawButton.None; + buttonMap.SecondaryThumbstickDown = RawButton.None; + buttonMap.SecondaryThumbstickLeft = RawButton.None; + buttonMap.SecondaryThumbstickRight = RawButton.None; + buttonMap.SecondaryTouchpad = RawButton.None; + buttonMap.DpadUp = RawButton.DpadUp; + buttonMap.DpadDown = RawButton.DpadDown; + buttonMap.DpadLeft = RawButton.DpadLeft; + buttonMap.DpadRight = RawButton.DpadRight; + buttonMap.Up = RawButton.DpadUp; + buttonMap.Down = RawButton.DpadDown; + buttonMap.Left = RawButton.DpadLeft; + buttonMap.Right = RawButton.DpadRight; + } + + public override void ConfigureTouchMap() + { + touchMap.None = RawTouch.None; + touchMap.One = RawTouch.LTouchpad; + touchMap.Two = RawTouch.None; + touchMap.Three = RawTouch.None; + touchMap.Four = RawTouch.None; + touchMap.PrimaryIndexTrigger = RawTouch.LIndexTrigger; + touchMap.PrimaryThumbstick = RawTouch.None; + touchMap.PrimaryThumbRest = RawTouch.None; + touchMap.PrimaryTouchpad = RawTouch.LTouchpad; + touchMap.SecondaryIndexTrigger = RawTouch.None; + touchMap.SecondaryThumbstick = RawTouch.None; + touchMap.SecondaryThumbRest = RawTouch.None; + touchMap.SecondaryTouchpad = RawTouch.None; + } + + public override void ConfigureNearTouchMap() + { + nearTouchMap.None = RawNearTouch.None; + nearTouchMap.PrimaryIndexTrigger = RawNearTouch.None; + nearTouchMap.PrimaryThumbButtons = RawNearTouch.None; + nearTouchMap.SecondaryIndexTrigger = RawNearTouch.None; + nearTouchMap.SecondaryThumbButtons = RawNearTouch.None; + } + + public override void ConfigureAxis1DMap() + { + axis1DMap.None = RawAxis1D.None; + axis1DMap.PrimaryIndexTrigger = RawAxis1D.LIndexTrigger; + axis1DMap.PrimaryHandTrigger = RawAxis1D.LHandTrigger; + axis1DMap.SecondaryIndexTrigger = RawAxis1D.None; + axis1DMap.SecondaryHandTrigger = RawAxis1D.None; + } + + public override void ConfigureAxis2DMap() + { + axis2DMap.None = RawAxis2D.None; + axis2DMap.PrimaryThumbstick = RawAxis2D.None; + axis2DMap.PrimaryTouchpad = RawAxis2D.LTouchpad; + axis2DMap.SecondaryThumbstick = RawAxis2D.None; + axis2DMap.SecondaryTouchpad = RawAxis2D.None; + } + + public override Controller Update() + { + Controller res = base.Update(); + + if (GetDown(RawTouch.LTouchpad, OVRInput.Controller.LTrackedRemote)) + { + emitSwipe = true; + moveAmount = currentState.LTouchpad; + } + + if (GetDown(RawButton.LTouchpad, OVRInput.Controller.LTrackedRemote)) + { + emitSwipe = false; + } + + if (GetUp(RawTouch.LTouchpad, OVRInput.Controller.LTrackedRemote) && emitSwipe) + { + emitSwipe = false; + + moveAmount.x = previousState.LTouchpad.x - moveAmount.x; + moveAmount.y = previousState.LTouchpad.y - moveAmount.y; + + Vector2 move = new Vector2(moveAmount.x, moveAmount.y); + + if (move.magnitude >= minMoveMagnitude) + { + move.Normalize(); + + // Left/Right + if (Mathf.Abs(move.x) > Mathf.Abs(move.y)) + { + if (move.x < 0.0f) + { + currentState.Buttons |= (uint)RawButton.DpadLeft; + } + else + { + currentState.Buttons |= (uint)RawButton.DpadRight; + } + } + // Up/Down + else + { + if (move.y < 0.0f) + { + currentState.Buttons |= (uint)RawButton.DpadDown; + } + else + { + currentState.Buttons |= (uint)RawButton.DpadUp; + } + } + } + } + + return res; + } + + public override bool WasRecentered() + { + return (currentState.LRecenterCount != previousState.LRecenterCount); + } + + public override byte GetRecenterCount() + { + return currentState.LRecenterCount; + } + + public override byte GetBatteryPercentRemaining() + { + return currentState.LBatteryPercentRemaining; + } + } + + private class OVRControllerRTrackedRemote : OVRControllerBase + { + private bool emitSwipe; + private OVRPlugin.Vector2f moveAmount; + private float minMoveMagnitude = 0.3f; + + public OVRControllerRTrackedRemote() + { + controllerType = Controller.RTrackedRemote; + } + + public override void ConfigureButtonMap() + { + buttonMap.None = RawButton.None; + buttonMap.One = RawButton.RTouchpad; + buttonMap.Two = RawButton.Back; + buttonMap.Three = RawButton.None; + buttonMap.Four = RawButton.None; + buttonMap.Start = RawButton.Start; + buttonMap.Back = RawButton.Back; + buttonMap.PrimaryShoulder = RawButton.None; + buttonMap.PrimaryIndexTrigger = RawButton.RIndexTrigger; + buttonMap.PrimaryHandTrigger = RawButton.RHandTrigger; + buttonMap.PrimaryThumbstick = RawButton.None; + buttonMap.PrimaryThumbstickUp = RawButton.None; + buttonMap.PrimaryThumbstickDown = RawButton.None; + buttonMap.PrimaryThumbstickLeft = RawButton.None; + buttonMap.PrimaryThumbstickRight = RawButton.None; + buttonMap.PrimaryTouchpad = RawButton.RTouchpad; + buttonMap.SecondaryShoulder = RawButton.None; + buttonMap.SecondaryIndexTrigger = RawButton.None; + buttonMap.SecondaryHandTrigger = RawButton.None; + buttonMap.SecondaryThumbstick = RawButton.None; + buttonMap.SecondaryThumbstickUp = RawButton.None; + buttonMap.SecondaryThumbstickDown = RawButton.None; + buttonMap.SecondaryThumbstickLeft = RawButton.None; + buttonMap.SecondaryThumbstickRight = RawButton.None; + buttonMap.SecondaryTouchpad = RawButton.None; + buttonMap.DpadUp = RawButton.DpadUp; + buttonMap.DpadDown = RawButton.DpadDown; + buttonMap.DpadLeft = RawButton.DpadLeft; + buttonMap.DpadRight = RawButton.DpadRight; + buttonMap.Up = RawButton.DpadUp; + buttonMap.Down = RawButton.DpadDown; + buttonMap.Left = RawButton.DpadLeft; + buttonMap.Right = RawButton.DpadRight; + } + + public override void ConfigureTouchMap() + { + touchMap.None = RawTouch.None; + touchMap.One = RawTouch.RTouchpad; + touchMap.Two = RawTouch.None; + touchMap.Three = RawTouch.None; + touchMap.Four = RawTouch.None; + touchMap.PrimaryIndexTrigger = RawTouch.RIndexTrigger; + touchMap.PrimaryThumbstick = RawTouch.None; + touchMap.PrimaryThumbRest = RawTouch.None; + touchMap.PrimaryTouchpad = RawTouch.RTouchpad; + touchMap.SecondaryIndexTrigger = RawTouch.None; + touchMap.SecondaryThumbstick = RawTouch.None; + touchMap.SecondaryThumbRest = RawTouch.None; + touchMap.SecondaryTouchpad = RawTouch.None; + } + + public override void ConfigureNearTouchMap() + { + nearTouchMap.None = RawNearTouch.None; + nearTouchMap.PrimaryIndexTrigger = RawNearTouch.None; + nearTouchMap.PrimaryThumbButtons = RawNearTouch.None; + nearTouchMap.SecondaryIndexTrigger = RawNearTouch.None; + nearTouchMap.SecondaryThumbButtons = RawNearTouch.None; + } + + public override void ConfigureAxis1DMap() + { + axis1DMap.None = RawAxis1D.None; + axis1DMap.PrimaryIndexTrigger = RawAxis1D.RIndexTrigger; + axis1DMap.PrimaryHandTrigger = RawAxis1D.RHandTrigger; + axis1DMap.SecondaryIndexTrigger = RawAxis1D.None; + axis1DMap.SecondaryHandTrigger = RawAxis1D.None; + } + + public override void ConfigureAxis2DMap() + { + axis2DMap.None = RawAxis2D.None; + axis2DMap.PrimaryThumbstick = RawAxis2D.None; + axis2DMap.PrimaryTouchpad = RawAxis2D.RTouchpad; + axis2DMap.SecondaryThumbstick = RawAxis2D.None; + axis2DMap.SecondaryTouchpad = RawAxis2D.None; + } + + public override Controller Update() + { + Controller res = base.Update(); + + if (GetDown(RawTouch.RTouchpad, OVRInput.Controller.RTrackedRemote)) + { + emitSwipe = true; + moveAmount = currentState.RTouchpad; + } + + if (GetDown(RawButton.RTouchpad, OVRInput.Controller.RTrackedRemote)) + { + emitSwipe = false; + } + + if (GetUp(RawTouch.RTouchpad, OVRInput.Controller.RTrackedRemote) && emitSwipe) + { + emitSwipe = false; + + moveAmount.x = previousState.RTouchpad.x - moveAmount.x; + moveAmount.y = previousState.RTouchpad.y - moveAmount.y; + + Vector2 move = new Vector2(moveAmount.x, moveAmount.y); + + if (move.magnitude >= minMoveMagnitude) + { + move.Normalize(); + + // Left/Right + if (Mathf.Abs(move.x) > Mathf.Abs(move.y)) + { + if (move.x < 0.0f) + { + currentState.Buttons |= (uint)RawButton.DpadLeft; + } + else + { + currentState.Buttons |= (uint)RawButton.DpadRight; + } + } + // Up/Down + else + { + if (move.y < 0.0f) + { + currentState.Buttons |= (uint)RawButton.DpadDown; + } + else + { + currentState.Buttons |= (uint)RawButton.DpadUp; + } + } + } + } + + return res; + } + + public override bool WasRecentered() + { + return (currentState.RRecenterCount != previousState.RRecenterCount); + } + + public override byte GetRecenterCount() + { + return currentState.RRecenterCount; + } + + public override byte GetBatteryPercentRemaining() + { + return currentState.RBatteryPercentRemaining; + } + } +} diff --git a/Assets/Oculus/VR/Scripts/OVRInput.cs.meta b/Assets/Oculus/VR/Scripts/OVRInput.cs.meta new file mode 100644 index 0000000..d72ccb4 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRInput.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d210caf8a50e1954c80690fa858572ad +timeCreated: 1438295094 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/OVRLayerAttribute.cs b/Assets/Oculus/VR/Scripts/OVRLayerAttribute.cs new file mode 100644 index 0000000..51fec4b --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRLayerAttribute.cs @@ -0,0 +1,7 @@ +using UnityEngine; + +/// +/// Dummy subtype of PropertyAttribute for custom inspector to use. +/// +public class OVRLayerAttribute : PropertyAttribute { +} diff --git a/Assets/Oculus/VR/Scripts/OVRLayerAttribute.cs.meta b/Assets/Oculus/VR/Scripts/OVRLayerAttribute.cs.meta new file mode 100644 index 0000000..daaacd9 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRLayerAttribute.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 701bfebb60063334f994e36546c103d6 +timeCreated: 1499749327 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/OVRLint.cs b/Assets/Oculus/VR/Scripts/OVRLint.cs new file mode 100644 index 0000000..720bda6 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRLint.cs @@ -0,0 +1,808 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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. + +************************************************************************************/ + +#if UNITY_EDITOR + +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; +using Assets.OVR.Scripts; + +/// +///Scans the project and warns about the following conditions: +///Audio sources > 16 +///Using MSAA levels other than recommended level +///Excessive pixel lights (>1 on Gear VR; >3 on Rift) +///Directional Lightmapping Modes (on Gear; use Non-Directional) +///Preload audio setting on individual audio clips +///Decompressing audio clips on load +///Disabling occlusion mesh +///Android target API level set to 21 or higher +///Unity skybox use (on by default, but if you can't see the skybox switching to Color is much faster on Gear) +///Lights marked as "baked" but that were not included in the last bake (and are therefore realtime). +///Lack of static batching and dynamic batching settings activated. +///Full screen image effects (Gear) +///Warn about large textures that are marked as uncompressed. +///32-bit depth buffer (use 16) +///Use of projectors (Gear; can be used carefully but slow enough to warrant a warning) +///Maybe in the future once quantified: Graphics jobs and IL2CPP on Gear. +///Real-time global illumination +///No texture compression, or non-ASTC texture compression as a global setting (Gear). +///Using deferred rendering +///Excessive texture resolution after LOD bias (>2k on Gear VR; >4k on Rift) +///Not using trilinear or aniso filtering and not generating mipmaps +///Excessive render scale (>1.2) +///Slow physics settings: Sleep Threshold < 0.005, Default Contact Offset < 0.01, Solver Iteration Count > 6 +///Shadows on when approaching the geometry or draw call limits +///Non-static objects with colliders that are missing rigidbodies on themselves or in the parent chain. +///No initialization of GPU/CPU throttling settings, or init to dangerous values (-1 or > 3) (Gear) +///Using inefficient effects: SSAO, motion blur, global fog, parallax mapping, etc. +///Too many Overlay layers +///Use of Standard shader or Standard Specular shader on Gear. More generally, excessive use of multipass shaders (legacy specular, etc). +///Multiple cameras with clears (on Gear, potential for excessive fill cost) +///Excessive shader passes (>2) +///Material pointers that have been instanced in the editor (esp. if we could determine that the instance has no deltas from the original) +///Excessive draw calls (>150 on Gear VR; >2000 on Rift) +///Excessive tris or verts (>100k on Gear VR; >1M on Rift) +///Large textures, lots of prefabs in startup scene (for bootstrap optimization) +///GPU skinning: testing Android-only, as most Rift devs are GPU-bound. +/// +public class OVRLint : EditorWindow +{ + //TODO: The following require reflection or static analysis. + ///Use of ONSP reflections (Gear) + ///Use of LoadLevelAsync / LoadLevelAdditiveAsync (on Gear, this kills frame rate so dramatically it's probably better to just go to black and load synchronously) + ///Use of Linq in non-editor assemblies (common cause of GCs). Minor: use of foreach. + ///Use of Unity WWW (exceptionally high overhead for large file downloads, but acceptable for tiny gets). + ///Declared but empty Awake/Start/Update/OnCollisionEnter/OnCollisionExit/OnCollisionStay. Also OnCollision* star methods that declare the Collision argument but do not reference it (omitting it short-circuits the collision contact calculation). + + private static List mRecords = new List(); + private Vector2 mScrollPosition; + + + [MenuItem("Tools/Oculus/OVR Performance Lint Tool")] + static void Init() + { + // Get existing open window or if none, make a new one: + EditorWindow.GetWindow(typeof(OVRLint)); + OVRLint.RunCheck(); + } + + void OnGUI() + { + GUILayout.Label("OVR Performance Lint Tool", EditorStyles.boldLabel); + if (GUILayout.Button("Refresh", EditorStyles.toolbarButton, GUILayout.ExpandWidth(false))) + { + RunCheck(); + } + + string lastCategory = ""; + + mScrollPosition = EditorGUILayout.BeginScrollView(mScrollPosition); + + for (int x = 0; x < mRecords.Count; x++) + { + FixRecord record = mRecords[x]; + + if (!record.category.Equals(lastCategory)) // new category + { + lastCategory = record.category; + EditorGUILayout.Separator(); + EditorGUILayout.BeginHorizontal(); + GUILayout.Label(lastCategory, EditorStyles.label, GUILayout.Width(200)); + bool moreThanOne = (x + 1 < mRecords.Count && mRecords[x + 1].category.Equals(lastCategory)); + if (record.buttonNames != null && record.buttonNames.Length > 0) + { + if (moreThanOne) + { + GUILayout.Label("Apply to all:", EditorStyles.label, GUILayout.Width(75)); + for (int y = 0; y < record.buttonNames.Length; y++) + { + if (GUILayout.Button(record.buttonNames[y], EditorStyles.toolbarButton, GUILayout.Width(200))) + { + List recordsToProcess = new List(); + + for (int z = x; z < mRecords.Count; z++) + { + FixRecord thisRecord = mRecords[z]; + bool isLast = false; + if (z + 1 >= mRecords.Count || !mRecords[z + 1].category.Equals(lastCategory)) + { + isLast = true; + } + + if (!thisRecord.complete) + { + recordsToProcess.Add(thisRecord); + } + + if (isLast) + { + break; + } + } + + UnityEngine.Object[] undoObjects = new UnityEngine.Object[recordsToProcess.Count]; + for (int z = 0; z < recordsToProcess.Count; z++) + { + undoObjects[z] = recordsToProcess[z].targetObject; + } + Undo.RecordObjects(undoObjects, record.category + " (Multiple)"); + for (int z = 0; z < recordsToProcess.Count; z++) + { + FixRecord thisRecord = recordsToProcess[z]; + thisRecord.fixMethod(thisRecord.targetObject, (z + 1 == recordsToProcess.Count), y); + thisRecord.complete = true; + } + } + } + } + } + EditorGUILayout.EndHorizontal(); + if (moreThanOne || record.targetObject) + { + GUILayout.Label(record.message); + } + } + + EditorGUILayout.BeginHorizontal(); + GUI.enabled = !record.complete; + if (record.targetObject) + { + EditorGUILayout.ObjectField(record.targetObject, record.targetObject.GetType(), true); + } + else + { + GUILayout.Label(record.message); + } + if (record.buttonNames != null) + { + for (int y = 0; y < record.buttonNames.Length; y++) + { + if (GUILayout.Button(record.buttonNames[y], EditorStyles.toolbarButton, GUILayout.Width(200))) + { + if (record.targetObject != null) + { + Undo.RecordObject(record.targetObject, record.category); + } + record.fixMethod(record.targetObject, true, y); + record.complete = true; + } + } + + } + GUI.enabled = true; + EditorGUILayout.EndHorizontal(); + } + + EditorGUILayout.EndScrollView(); + } + + + static void RunCheck() + { + mRecords.Clear(); + + CheckStaticCommonIssues(); +#if UNITY_ANDROID + CheckStaticAndroidIssues(); +#endif + + if (EditorApplication.isPlaying) + { + CheckRuntimeCommonIssues(); +#if UNITY_ANDROID + CheckRuntimeAndroidIssues(); +#endif + } + + mRecords.Sort(delegate (FixRecord record1, FixRecord record2) + { + return record1.category.CompareTo(record2.category); + }); + } + + static void AddFix(string category, string message, FixMethodDelegate method, UnityEngine.Object target, params string[] buttons) + { + mRecords.Add(new FixRecord(category, message, method, target, buttons)); + } + + static void CheckStaticCommonIssues() + { + if (OVRManager.IsUnityAlphaOrBetaVersion()) + { + AddFix("General", OVRManager.UnityAlphaOrBetaVersionWarningMessage, null, null); + } + + if (QualitySettings.anisotropicFiltering != AnisotropicFiltering.Enable && QualitySettings.anisotropicFiltering != AnisotropicFiltering.ForceEnable) + { + AddFix("Optimize Aniso", "Anisotropic filtering is recommended for optimal image sharpness and GPU performance.", delegate (UnityEngine.Object obj, bool last, int selected) + { + // Ideally this would be multi-option: offer Enable or ForceEnable. + QualitySettings.anisotropicFiltering = AnisotropicFiltering.Enable; + }, null, "Fix"); + } + +#if UNITY_ANDROID + int recommendedPixelLightCount = 1; +#else + int recommendedPixelLightCount = 3; +#endif + + if (QualitySettings.pixelLightCount > recommendedPixelLightCount) + { + AddFix("Optimize Pixel Light Count", "For GPU performance set no more than " + recommendedPixelLightCount + " pixel lights in Quality Settings (currently " + QualitySettings.pixelLightCount + ").", delegate (UnityEngine.Object obj, bool last, int selected) + { + QualitySettings.pixelLightCount = recommendedPixelLightCount; + }, null, "Fix"); + } + +#if false + // Should we recommend this? Seems to be mutually exclusive w/ dynamic batching. + if (!PlayerSettings.graphicsJobs) + { + AddFix ("Optimize Graphics Jobs", "For CPU performance, please use graphics jobs.", delegate(UnityEngine.Object obj, bool last, int selected) + { + PlayerSettings.graphicsJobs = true; + }, null, "Fix"); + } +#endif + +#if UNITY_2017_2_OR_NEWER + if ((!PlayerSettings.MTRendering || !PlayerSettings.GetMobileMTRendering(BuildTargetGroup.Android))) +#else + if ((!PlayerSettings.MTRendering || !PlayerSettings.mobileMTRendering)) +#endif + { + AddFix("Optimize MT Rendering", "For CPU performance, please enable multithreaded rendering.", delegate (UnityEngine.Object obj, bool last, int selected) + { +#if UNITY_2017_2_OR_NEWER + PlayerSettings.SetMobileMTRendering(BuildTargetGroup.Standalone, true); + PlayerSettings.SetMobileMTRendering(BuildTargetGroup.Android, true); +#else + PlayerSettings.MTRendering = PlayerSettings.mobileMTRendering = true; +#endif + }, null, "Fix"); + } + +#if UNITY_ANDROID + if (!PlayerSettings.use32BitDisplayBuffer) + { + AddFix("Optimize Display Buffer Format", "We recommend to enable use32BitDisplayBuffer.", delegate (UnityEngine.Object obj, bool last, int selected) + { + PlayerSettings.use32BitDisplayBuffer = true; + }, null, "Fix"); + } +#endif + + BuildTargetGroup target = EditorUserBuildSettings.selectedBuildTargetGroup; + var tier = UnityEngine.Rendering.GraphicsTier.Tier1; + var tierSettings = UnityEditor.Rendering.EditorGraphicsSettings.GetTierSettings(target, tier); + + if ((tierSettings.renderingPath == RenderingPath.DeferredShading || + tierSettings.renderingPath == RenderingPath.DeferredLighting)) + { + AddFix("Optimize Rendering Path", "For CPU performance, please do not use deferred shading.", delegate (UnityEngine.Object obj, bool last, int selected) + { + tierSettings.renderingPath = RenderingPath.Forward; + UnityEditor.Rendering.EditorGraphicsSettings.SetTierSettings(target, tier, tierSettings); + }, null, "Use Forward"); + } + + if (PlayerSettings.stereoRenderingPath == StereoRenderingPath.MultiPass) + { + AddFix("Optimize Stereo Rendering", "For CPU performance, please enable single-pass or instanced stereo rendering.", delegate (UnityEngine.Object obj, bool last, int selected) + { + PlayerSettings.stereoRenderingPath = StereoRenderingPath.Instancing; + }, null, "Fix"); + } + + if (LightmapSettings.lightmaps.Length > 0 && LightmapSettings.lightmapsMode != LightmapsMode.NonDirectional) + { + AddFix("Optimize Lightmap Directionality", "Switching from directional lightmaps to non-directional lightmaps can save a small amount of GPU time.", delegate (UnityEngine.Object obj, bool last, int selected) + { + LightmapSettings.lightmapsMode = LightmapsMode.NonDirectional; + }, null, "Switch to non-directional lightmaps"); + } + + if (Lightmapping.realtimeGI) + { + AddFix("Disable Realtime GI", "Disabling real-time global illumination can improve GPU performance.", delegate (UnityEngine.Object obj, bool last, int selected) + { + Lightmapping.realtimeGI = false; + }, null, "Set Lightmapping.realtimeGI = false."); + } + + var lights = GameObject.FindObjectsOfType(); + for (int i = 0; i < lights.Length; ++i) + { +#if UNITY_2017_3_OR_NEWER + if (lights [i].type != LightType.Directional && !lights [i].bakingOutput.isBaked && IsLightBaked(lights[i])) +#else + if (lights[i].type != LightType.Directional && !lights[i].isBaked && IsLightBaked(lights[i])) +#endif + { + AddFix("Unbaked Lights", "The following lights in the scene are marked as Baked, but they don't have up to date lightmap data. Generate the lightmap data, or set it to auto-generate, in Window->Lighting->Settings.", null, lights[i], null); + } + + if (lights[i].shadows != LightShadows.None && !IsLightBaked(lights[i])) + { + AddFix("Optimize Shadows", "For CPU performance, consider disabling shadows on realtime lights.", delegate (UnityEngine.Object obj, bool last, int selected) + { + Light thisLight = (Light)obj; + thisLight.shadows = LightShadows.None; + }, lights[i], "Set \"Shadow Type\" to \"No Shadows\""); + } + } + + var sources = GameObject.FindObjectsOfType(); + if (sources.Length > 16) + { + List playingAudioSources = new List(); + foreach (var audioSource in sources) + { + if (audioSource.isPlaying) + { + playingAudioSources.Add(audioSource); + } + } + + if (playingAudioSources.Count > 16) + { + // Sort playing audio sources by priority + playingAudioSources.Sort(delegate (AudioSource x, AudioSource y) + { + return x.priority.CompareTo(y.priority); + }); + for (int i = 16; i < playingAudioSources.Count; ++i) + { + AddFix("Optimize Audio Source Count", "For CPU performance, please disable all but the top 16 AudioSources.", delegate (UnityEngine.Object obj, bool last, int selected) + { + AudioSource audioSource = (AudioSource)obj; + audioSource.enabled = false; + }, playingAudioSources[i], "Disable"); + } + } + } + + var clips = GameObject.FindObjectsOfType(); + for (int i = 0; i < clips.Length; ++i) + { + if (clips[i].loadType == AudioClipLoadType.DecompressOnLoad) + { + AddFix("Audio Loading", "For fast loading, please don't use decompress on load for audio clips", delegate (UnityEngine.Object obj, bool last, int selected) + { + AudioClip thisClip = (AudioClip)obj; + if (selected == 0) + { + SetAudioLoadType(thisClip, AudioClipLoadType.CompressedInMemory, last); + } + else + { + SetAudioLoadType(thisClip, AudioClipLoadType.Streaming, last); + } + + }, clips[i], "Change to Compressed in Memory", "Change to Streaming"); + } + + if (clips[i].preloadAudioData) + { + AddFix("Audio Preload", "For fast loading, please don't preload data for audio clips.", delegate (UnityEngine.Object obj, bool last, int selected) + { + SetAudioPreload(clips[i], false, last); + }, clips[i], "Fix"); + } + } + + if (Physics.defaultContactOffset < 0.01f) + { + AddFix("Optimize Contact Offset", "For CPU performance, please don't use default contact offset below 0.01.", delegate (UnityEngine.Object obj, bool last, int selected) + { + Physics.defaultContactOffset = 0.01f; + }, null, "Fix"); + } + + if (Physics.sleepThreshold < 0.005f) + { + AddFix("Optimize Sleep Threshold", "For CPU performance, please don't use sleep threshold below 0.005.", delegate (UnityEngine.Object obj, bool last, int selected) + { + Physics.sleepThreshold = 0.005f; + }, null, "Fix"); + } + + if (Physics.defaultSolverIterations > 8) + { + AddFix("Optimize Solver Iterations", "For CPU performance, please don't use excessive solver iteration counts.", delegate (UnityEngine.Object obj, bool last, int selected) + { + Physics.defaultSolverIterations = 8; + }, null, "Fix"); + } + + var materials = Resources.FindObjectsOfTypeAll(); + for (int i = 0; i < materials.Length; ++i) + { + if (materials[i].shader.name.Contains("Parallax") || materials[i].IsKeywordEnabled("_PARALLAXMAP")) + { + AddFix("Optimize Shading", "For GPU performance, please don't use parallax-mapped materials.", delegate (UnityEngine.Object obj, bool last, int selected) + { + Material thisMaterial = (Material)obj; + if (thisMaterial.IsKeywordEnabled("_PARALLAXMAP")) + { + thisMaterial.DisableKeyword("_PARALLAXMAP"); + } + + if (thisMaterial.shader.name.Contains("Parallax")) + { + var newName = thisMaterial.shader.name.Replace("-ParallaxSpec", "-BumpSpec"); + newName = newName.Replace("-Parallax", "-Bump"); + var newShader = Shader.Find(newName); + if (newShader) + { + thisMaterial.shader = newShader; + } + else + { + Debug.LogWarning("Unable to find a replacement for shader " + materials[i].shader.name); + } + } + }, materials[i], "Fix"); + } + } + + var renderers = GameObject.FindObjectsOfType(); + for (int i = 0; i < renderers.Length; ++i) + { + if (renderers[i].sharedMaterial == null) + { + AddFix("Instanced Materials", "Please avoid instanced materials on renderers.", null, renderers[i]); + } + } + + var overlays = GameObject.FindObjectsOfType(); + if (overlays.Length > 4) + { + AddFix("Optimize VR Layer Count", "For GPU performance, please use 4 or fewer VR layers.", delegate (UnityEngine.Object obj, bool last, int selected) + { + for (int i = 4; i < OVROverlay.instances.Length; ++i) + { + OVROverlay.instances[i].enabled = false; + } + }, null, "Fix"); + } + + var splashScreen = PlayerSettings.virtualRealitySplashScreen; + if (splashScreen != null) + { + if (splashScreen.filterMode != FilterMode.Trilinear) + { + AddFix("Optimize VR Splash Filtering", "For visual quality, please use trilinear filtering on your VR splash screen.", delegate (UnityEngine.Object obj, bool last, int EditorSelectedRenderState) + { + var assetPath = AssetDatabase.GetAssetPath(splashScreen); + var importer = (TextureImporter)TextureImporter.GetAtPath(assetPath); + importer.filterMode = FilterMode.Trilinear; + AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate); + }, null, "Fix"); + } + + if (splashScreen.mipmapCount <= 1) + { + AddFix("Generate VR Splash Mipmaps", "For visual quality, please use mipmaps with your VR splash screen.", delegate (UnityEngine.Object obj, bool last, int EditorSelectedRenderState) + { + var assetPath = AssetDatabase.GetAssetPath(splashScreen); + var importer = (TextureImporter)TextureImporter.GetAtPath(assetPath); + importer.mipmapEnabled = true; + AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate); + }, null, "Fix"); + } + } + } + + static void CheckRuntimeCommonIssues() + { + if (!OVRPlugin.occlusionMesh) + { + AddFix("Occlusion Mesh", "Enabling the occlusion mesh saves substantial GPU resources, generally with no visual impact. Enable unless you have an exceptional use case.", delegate (UnityEngine.Object obj, bool last, int selected) + { + OVRPlugin.occlusionMesh = true; + }, null, "Set OVRPlugin.occlusionMesh = true"); + } + + if (OVRManager.instance != null && !OVRManager.instance.useRecommendedMSAALevel) + { + AddFix("Optimize MSAA", "OVRManager can select the optimal antialiasing for the installed hardware at runtime. Recommend enabling this.", delegate (UnityEngine.Object obj, bool last, int selected) + { + OVRManager.instance.useRecommendedMSAALevel = true; + }, null, "Set useRecommendedMSAALevel = true"); + } + +#if UNITY_2017_2_OR_NEWER + if (UnityEngine.XR.XRSettings.eyeTextureResolutionScale > 1.5) +#else + if (UnityEngine.VR.VRSettings.renderScale > 1.5) +#endif + { + AddFix("Optimize Render Scale", "Render scale above 1.5 is extremely expensive on the GPU, with little if any positive visual benefit.", delegate (UnityEngine.Object obj, bool last, int selected) + { +#if UNITY_2017_2_OR_NEWER + UnityEngine.XR.XRSettings.eyeTextureResolutionScale = 1.5f; +#else + UnityEngine.VR.VRSettings.renderScale = 1.5f; +#endif + }, null, "Fix"); + } + } + + static void CheckStaticAndroidIssues() + { + AndroidSdkVersions recommendedAndroidSdkVersion = AndroidSdkVersions.AndroidApiLevel21; + if ((int)PlayerSettings.Android.minSdkVersion < (int)recommendedAndroidSdkVersion) + { + AddFix("Optimize Android API Level", "To avoid legacy workarounds, please require at least API level " + (int)recommendedAndroidSdkVersion, delegate (UnityEngine.Object obj, bool last, int selected) + { + PlayerSettings.Android.minSdkVersion = recommendedAndroidSdkVersion; + }, null, "Fix"); + } + + if (!PlayerSettings.gpuSkinning) + { + AddFix("Optimize GPU Skinning", "If you are CPU-bound, consider using GPU skinning.", delegate (UnityEngine.Object obj, bool last, int selected) + { + PlayerSettings.gpuSkinning = true; + }, null, "Fix"); + } + + + if (RenderSettings.skybox) + { + AddFix("Optimize Clearing", "For GPU performance, please don't use Unity's built-in Skybox.", delegate (UnityEngine.Object obj, bool last, int selected) + { + RenderSettings.skybox = null; + }, null, "Clear Skybox"); + } + + var materials = Resources.FindObjectsOfTypeAll(); + for (int i = 0; i < materials.Length; ++i) + { + if (materials[i].IsKeywordEnabled("_SPECGLOSSMAP") || materials[i].IsKeywordEnabled("_METALLICGLOSSMAP")) + { + AddFix("Optimize Specular Material", "For GPU performance, please don't use specular shader on materials.", delegate (UnityEngine.Object obj, bool last, int selected) + { + Material thisMaterial = (Material)obj; + thisMaterial.DisableKeyword("_SPECGLOSSMAP"); + thisMaterial.DisableKeyword("_METALLICGLOSSMAP"); + }, materials[i], "Fix"); + } + + if (materials[i].passCount > 1) + { + AddFix("Material Passes", "Please use 2 or fewer passes in materials.", null, materials[i]); + } + } + + ScriptingImplementation backend = PlayerSettings.GetScriptingBackend(UnityEditor.BuildTargetGroup.Android); + if (backend != UnityEditor.ScriptingImplementation.IL2CPP) + { + AddFix("Optimize Scripting Backend", "For CPU performance, please use IL2CPP.", delegate (UnityEngine.Object obj, bool last, int selected) + { + PlayerSettings.SetScriptingBackend(UnityEditor.BuildTargetGroup.Android, UnityEditor.ScriptingImplementation.IL2CPP); + }, null, "Fix"); + } + + var monoBehaviours = GameObject.FindObjectsOfType(); + System.Type effectBaseType = System.Type.GetType("UnityStandardAssets.ImageEffects.PostEffectsBase"); + if (effectBaseType != null) + { + for (int i = 0; i < monoBehaviours.Length; ++i) + { + if (monoBehaviours[i].GetType().IsSubclassOf(effectBaseType)) + { + AddFix("Image Effects", "Please don't use image effects.", null, monoBehaviours[i]); + } + } + } + + var textures = Resources.FindObjectsOfTypeAll(); + + int maxTextureSize = 1024 * (1 << QualitySettings.masterTextureLimit); + maxTextureSize = maxTextureSize * maxTextureSize; + + for (int i = 0; i < textures.Length; ++i) + { + if (textures[i].filterMode == FilterMode.Trilinear && textures[i].mipmapCount == 1) + { + AddFix("Optimize Texture Filtering", "For GPU performance, please generate mipmaps or disable trilinear filtering for textures.", delegate (UnityEngine.Object obj, bool last, int selected) + { + Texture2D thisTexture = (Texture2D)obj; + if (selected == 0) + { + thisTexture.filterMode = FilterMode.Bilinear; + } + else + { + SetTextureUseMips(thisTexture, true, last); + } + }, textures[i], "Switch to Bilinear", "Generate Mipmaps"); + } + } + + var projectors = GameObject.FindObjectsOfType(); + if (projectors.Length > 0) + { + AddFix("Optimize Projectors", "For GPU performance, please don't use projectors.", delegate (UnityEngine.Object obj, bool last, int selected) + { + Projector[] thisProjectors = GameObject.FindObjectsOfType(); + for (int i = 0; i < thisProjectors.Length; ++i) + { + thisProjectors[i].enabled = false; + } + }, null, "Disable Projectors"); + } + + if (EditorUserBuildSettings.androidBuildSubtarget != MobileTextureSubtarget.ASTC) + { + AddFix("Optimize Texture Compression", "For GPU performance, please use ASTC.", delegate (UnityEngine.Object obj, bool last, int selected) + { + EditorUserBuildSettings.androidBuildSubtarget = MobileTextureSubtarget.ASTC; + }, null, "Fix"); + } + + var cameras = GameObject.FindObjectsOfType(); + int clearCount = 0; + for (int i = 0; i < cameras.Length; ++i) + { + if (cameras[i].clearFlags != CameraClearFlags.Nothing && cameras[i].clearFlags != CameraClearFlags.Depth) + ++clearCount; + } + + if (clearCount > 2) + { + AddFix("Camera Clears", "Please use 2 or fewer clears.", null, null); + } + } + + static void CheckRuntimeAndroidIssues() + { + if (UnityStats.usedTextureMemorySize + UnityStats.vboTotalBytes > 1000000) + { + AddFix("Graphics Memory", "Please use less than 1GB of vertex and texture memory.", null, null); + } + + if (OVRManager.cpuLevel < 0 || OVRManager.cpuLevel > 3) + { + AddFix("Optimize CPU level", "For battery life, please use a safe CPU level.", delegate (UnityEngine.Object obj, bool last, int selected) + { + OVRManager.cpuLevel = 2; + }, null, "Set to CPU2"); + } + + if (OVRManager.gpuLevel < 0 || OVRManager.gpuLevel > 3) + { + AddFix("Optimize GPU level", "For battery life, please use a safe GPU level.", delegate (UnityEngine.Object obj, bool last, int selected) + { + OVRManager.gpuLevel = 2; + }, null, "Set to GPU2"); + } + + if (UnityStats.triangles > 100000 || UnityStats.vertices > 100000) + { + AddFix("Triangles and Verts", "Please use less than 100000 triangles or vertices.", null, null); + } + + // Warn for 50 if in non-VR mode? + if (UnityStats.drawCalls > 100) + { + AddFix("Draw Calls", "Please use less than 100 draw calls.", null, null); + } + } + + + enum LightmapType { Realtime = 4, Baked = 2, Mixed = 1 }; + + static bool IsLightBaked(Light light) + { + return light.lightmapBakeType == LightmapBakeType.Baked; + } + + static void SetAudioPreload(AudioClip clip, bool preload, bool refreshImmediately) + { + if (clip != null) + { + string assetPath = AssetDatabase.GetAssetPath(clip); + AudioImporter importer = AssetImporter.GetAtPath(assetPath) as AudioImporter; + if (importer != null) + { + if (preload != importer.preloadAudioData) + { + importer.preloadAudioData = preload; + + AssetDatabase.ImportAsset(assetPath); + if (refreshImmediately) + { + AssetDatabase.Refresh(); + } + } + } + } + } + + static void SetAudioLoadType(AudioClip clip, AudioClipLoadType loadType, bool refreshImmediately) + { + if (clip != null) + { + string assetPath = AssetDatabase.GetAssetPath(clip); + AudioImporter importer = AssetImporter.GetAtPath(assetPath) as AudioImporter; + if (importer != null) + { + if (loadType != importer.defaultSampleSettings.loadType) + { + AudioImporterSampleSettings settings = importer.defaultSampleSettings; + settings.loadType = loadType; + importer.defaultSampleSettings = settings; + + AssetDatabase.ImportAsset(assetPath); + if (refreshImmediately) + { + AssetDatabase.Refresh(); + } + } + } + } + } + + public static void SetTextureUseMips(Texture texture, bool useMips, bool refreshImmediately) + { + if (texture != null) + { + string assetPath = AssetDatabase.GetAssetPath(texture); + TextureImporter tImporter = AssetImporter.GetAtPath(assetPath) as TextureImporter; + if (tImporter != null && tImporter.mipmapEnabled != useMips) + { + tImporter.mipmapEnabled = useMips; + + AssetDatabase.ImportAsset(assetPath); + if (refreshImmediately) + { + AssetDatabase.Refresh(); + } + } + } + } + + static T FindComponentInParents(GameObject obj) where T : Component + { + T component = null; + if (obj != null) + { + Transform parent = obj.transform.parent; + if (parent != null) + { + do + { + component = parent.GetComponent(typeof(T)) as T; + parent = parent.parent; + } while (parent != null && component == null); + } + } + return component; + } +} + +#endif diff --git a/Assets/Oculus/VR/Scripts/OVRLint.cs.meta b/Assets/Oculus/VR/Scripts/OVRLint.cs.meta new file mode 100644 index 0000000..80c4209 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRLint.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f483b2ec6fdc344049771ed51034b4e4 +timeCreated: 1484088598 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/OVRManager.cs b/Assets/Oculus/VR/Scripts/OVRManager.cs new file mode 100644 index 0000000..a2750a4 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRManager.cs @@ -0,0 +1,1484 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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. + +************************************************************************************/ + +#if !UNITY_5_6_OR_NEWER +#error Oculus Utilities require Unity 5.6 or higher. +#endif + +using System; +using System.Collections.Generic; +using UnityEngine; +#if UNITY_EDITOR +using UnityEditor; +#endif + +/// +/// Configuration data for Oculus virtual reality. +/// +public class OVRManager : MonoBehaviour +{ + public enum TrackingOrigin + { + EyeLevel = OVRPlugin.TrackingOrigin.EyeLevel, + FloorLevel = OVRPlugin.TrackingOrigin.FloorLevel, + } + + public enum EyeTextureFormat + { + Default = OVRPlugin.EyeTextureFormat.Default, + R16G16B16A16_FP = OVRPlugin.EyeTextureFormat.R16G16B16A16_FP, + R11G11B10_FP = OVRPlugin.EyeTextureFormat.R11G11B10_FP, + } + + public enum TiledMultiResLevel + { + Off = OVRPlugin.TiledMultiResLevel.Off, + LMSLow = OVRPlugin.TiledMultiResLevel.LMSLow, + LMSMedium = OVRPlugin.TiledMultiResLevel.LMSMedium, + LMSHigh = OVRPlugin.TiledMultiResLevel.LMSHigh, + } + + /// + /// Gets the singleton instance. + /// + public static OVRManager instance { get; private set; } + + /// + /// Gets a reference to the active display. + /// + public static OVRDisplay display { get; private set; } + + /// + /// Gets a reference to the active sensor. + /// + public static OVRTracker tracker { get; private set; } + + /// + /// Gets a reference to the active boundary system. + /// + public static OVRBoundary boundary { get; private set; } + + private static OVRProfile _profile; + /// + /// Gets the current profile, which contains information about the user's settings and body dimensions. + /// + public static OVRProfile profile + { + get { + if (_profile == null) + _profile = new OVRProfile(); + + return _profile; + } + } + + private IEnumerable disabledCameras; + float prevTimeScale; + + /// + /// Occurs when an HMD attached. + /// + public static event Action HMDAcquired; + + /// + /// Occurs when an HMD detached. + /// + public static event Action HMDLost; + + /// + /// Occurs when an HMD is put on the user's head. + /// + public static event Action HMDMounted; + + /// + /// Occurs when an HMD is taken off the user's head. + /// + public static event Action HMDUnmounted; + + /// + /// Occurs when VR Focus is acquired. + /// + public static event Action VrFocusAcquired; + + /// + /// Occurs when VR Focus is lost. + /// + public static event Action VrFocusLost; + + /// + /// Occurs when Input Focus is acquired. + /// + public static event Action InputFocusAcquired; + + /// + /// Occurs when Input Focus is lost. + /// + public static event Action InputFocusLost; + + /// + /// Occurs when the active Audio Out device has changed and a restart is needed. + /// + public static event Action AudioOutChanged; + + /// + /// Occurs when the active Audio In device has changed and a restart is needed. + /// + public static event Action AudioInChanged; + + /// + /// Occurs when the sensor gained tracking. + /// + public static event Action TrackingAcquired; + + /// + /// Occurs when the sensor lost tracking. + /// + public static event Action TrackingLost; + + /// + /// Occurs when Health & Safety Warning is dismissed. + /// + //Disable the warning about it being unused. It's deprecated. + #pragma warning disable 0067 + [Obsolete] + public static event Action HSWDismissed; + #pragma warning restore + + private static bool _isHmdPresentCached = false; + private static bool _isHmdPresent = false; + private static bool _wasHmdPresent = false; + /// + /// If true, a head-mounted display is connected and present. + /// + public static bool isHmdPresent + { + get { + if (!_isHmdPresentCached) + { + _isHmdPresentCached = true; + _isHmdPresent = OVRPlugin.hmdPresent; + } + + return _isHmdPresent; + } + + private set { + _isHmdPresentCached = true; + _isHmdPresent = value; + } + } + + /// + /// Gets the audio output device identifier. + /// + /// + /// On Windows, this is a string containing the GUID of the IMMDevice for the Windows audio endpoint to use. + /// + public static string audioOutId + { + get { return OVRPlugin.audioOutId; } + } + + /// + /// Gets the audio input device identifier. + /// + /// + /// On Windows, this is a string containing the GUID of the IMMDevice for the Windows audio endpoint to use. + /// + public static string audioInId + { + get { return OVRPlugin.audioInId; } + } + + private static bool _hasVrFocusCached = false; + private static bool _hasVrFocus = false; + private static bool _hadVrFocus = false; + /// + /// If true, the app has VR Focus. + /// + public static bool hasVrFocus + { + get { + if (!_hasVrFocusCached) + { + _hasVrFocusCached = true; + _hasVrFocus = OVRPlugin.hasVrFocus; + } + + return _hasVrFocus; + } + + private set { + _hasVrFocusCached = true; + _hasVrFocus = value; + } + } + + private static bool _hadInputFocus = true; + /// + /// If true, the app has Input Focus. + /// + public static bool hasInputFocus + { + get + { + return OVRPlugin.hasInputFocus; + } + } + + /// + /// If true, chromatic de-aberration will be applied, improving the image at the cost of texture bandwidth. + /// + public bool chromatic + { + get { + if (!isHmdPresent) + return false; + + return OVRPlugin.chromatic; + } + + set { + if (!isHmdPresent) + return; + + OVRPlugin.chromatic = value; + } + } + + [Header("Performance/Quality")] + /// + /// If true, distortion rendering work is submitted a quarter-frame early to avoid pipeline stalls and increase CPU-GPU parallelism. + /// + [Tooltip("If true, distortion rendering work is submitted a quarter-frame early to avoid pipeline stalls and increase CPU-GPU parallelism.")] + public bool queueAhead = true; + + /// + /// If true, Unity will use the optimal antialiasing level for quality/performance on the current hardware. + /// + [Tooltip("If true, Unity will use the optimal antialiasing level for quality/performance on the current hardware.")] + public bool useRecommendedMSAALevel = false; + + /// + /// If true, both eyes will see the same image, rendered from the center eye pose, saving performance. + /// + [SerializeField] + [Tooltip("If true, both eyes will see the same image, rendered from the center eye pose, saving performance.")] + private bool _monoscopic = false; + + public bool monoscopic + { + get + { + if (!isHmdPresent) + return _monoscopic; + + return OVRPlugin.monoscopic; + } + + set + { + if (!isHmdPresent) + return; + + OVRPlugin.monoscopic = value; + _monoscopic = value; + } + } + + /// + /// If true, dynamic resolution will be enabled + /// + [Tooltip("If true, dynamic resolution will be enabled On PC")] + public bool enableAdaptiveResolution = false; + + /// + /// Adaptive Resolution is based on Unity engine's renderViewportScale/eyeTextureResolutionScale feature + /// But renderViewportScale was broken in an array of Unity engines, this function help to filter out those broken engines + /// + public static bool IsAdaptiveResSupportedByEngine() + { +#if UNITY_2017_1_OR_NEWER + return Application.unityVersion != "2017.1.0f1"; +#else + return false; +#endif + } + + /// + /// Min RenderScale the app can reach under adaptive resolution mode ( enableAdaptiveResolution = true ); + /// + [RangeAttribute(0.5f, 2.0f)] + [Tooltip("Min RenderScale the app can reach under adaptive resolution mode")] + public float minRenderScale = 0.7f; + + /// + /// Max RenderScale the app can reach under adaptive resolution mode ( enableAdaptiveResolution = true ); + /// + [RangeAttribute(0.5f, 2.0f)] + [Tooltip("Max RenderScale the app can reach under adaptive resolution mode")] + public float maxRenderScale = 1.0f; + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + /// + /// If true, the MixedRealityCapture properties will be displayed + /// + [HideInInspector] + public bool expandMixedRealityCapturePropertySheet = false; + + + /// + /// If true, Mixed Reality mode will be enabled + /// + [HideInInspector, Tooltip("If true, Mixed Reality mode will be enabled. It would be always set to false when the game is launching without editor")] + public bool enableMixedReality = false; + + public enum CompositionMethod + { + External, + Direct, + Sandwich + } + + /// + /// Composition method + /// + [HideInInspector] + public CompositionMethod compositionMethod = CompositionMethod.External; + + /// + /// Extra hidden layers + /// + [HideInInspector, Tooltip("Extra hidden layers")] + public LayerMask extraHiddenLayers; + + + /// + /// If true, Mixed Reality mode will use direct composition from the first web camera + /// + + public enum CameraDevice + { + WebCamera0, + WebCamera1, + ZEDCamera + } + + /// + /// The camera device for direct composition + /// + [HideInInspector, Tooltip("The camera device for direct composition")] + public CameraDevice capturingCameraDevice = CameraDevice.WebCamera0; + + /// + /// Flip the camera frame horizontally + /// + [HideInInspector, Tooltip("Flip the camera frame horizontally")] + public bool flipCameraFrameHorizontally = false; + + /// + /// Flip the camera frame vertically + /// + [HideInInspector, Tooltip("Flip the camera frame vertically")] + public bool flipCameraFrameVertically = false; + + /// + /// Delay the touch controller pose by a short duration (0 to 0.5 second) to match the physical camera latency + /// + [HideInInspector, Tooltip("Delay the touch controller pose by a short duration (0 to 0.5 second) to match the physical camera latency")] + public float handPoseStateLatency = 0.0f; + + /// + /// Delay the foreground / background image in the sandwich composition to match the physical camera latency. The maximum duration is sandwichCompositionBufferedFrames / {Game FPS} + /// + [HideInInspector, Tooltip("Delay the foreground / background image in the sandwich composition to match the physical camera latency. The maximum duration is sandwichCompositionBufferedFrames / {Game FPS}")] + public float sandwichCompositionRenderLatency = 0.0f; + + /// + /// The number of frames are buffered in the SandWich composition. The more buffered frames, the more memory it would consume. + /// + [HideInInspector, Tooltip("The number of frames are buffered in the SandWich composition. The more buffered frames, the more memory it would consume.")] + public int sandwichCompositionBufferedFrames = 8; + + + /// + /// Chroma Key Color + /// + [HideInInspector, Tooltip("Chroma Key Color")] + public Color chromaKeyColor = Color.green; + + /// + /// Chroma Key Similarity + /// + [HideInInspector, Tooltip("Chroma Key Similarity")] + public float chromaKeySimilarity = 0.60f; + + /// + /// Chroma Key Smooth Range + /// + [HideInInspector, Tooltip("Chroma Key Smooth Range")] + public float chromaKeySmoothRange = 0.03f; + + /// + /// Chroma Key Spill Range + /// + [HideInInspector, Tooltip("Chroma Key Spill Range")] + public float chromaKeySpillRange = 0.06f; + + /// + /// Use dynamic lighting (Depth sensor required) + /// + [HideInInspector, Tooltip("Use dynamic lighting (Depth sensor required)")] + public bool useDynamicLighting = false; + + public enum DepthQuality + { + Low, + Medium, + High + } + /// + /// The quality level of depth image. The lighting could be more smooth and accurate with high quality depth, but it would also be more costly in performance. + /// + [HideInInspector, Tooltip("The quality level of depth image. The lighting could be more smooth and accurate with high quality depth, but it would also be more costly in performance.")] + public DepthQuality depthQuality = DepthQuality.Medium; + + /// + /// Smooth factor in dynamic lighting. Larger is smoother + /// + [HideInInspector, Tooltip("Smooth factor in dynamic lighting. Larger is smoother")] + public float dynamicLightingSmoothFactor = 8.0f; + + /// + /// The maximum depth variation across the edges. Make it smaller to smooth the lighting on the edges. + /// + [HideInInspector, Tooltip("The maximum depth variation across the edges. Make it smaller to smooth the lighting on the edges.")] + public float dynamicLightingDepthVariationClampingValue = 0.001f; + + public enum VirtualGreenScreenType + { + Off, + OuterBoundary, + PlayArea + } + + /// + /// Set the current type of the virtual green screen + /// + [HideInInspector, Tooltip("Type of virutal green screen ")] + public VirtualGreenScreenType virtualGreenScreenType = VirtualGreenScreenType.Off; + + /// + /// Top Y of virtual screen + /// + [HideInInspector, Tooltip("Top Y of virtual green screen")] + public float virtualGreenScreenTopY = 10.0f; + + /// + /// Bottom Y of virtual screen + /// + [HideInInspector, Tooltip("Bottom Y of virtual green screen")] + public float virtualGreenScreenBottomY = -10.0f; + + /// + /// When using a depth camera (e.g. ZED), whether to use the depth in virtual green screen culling. + /// + [HideInInspector, Tooltip("When using a depth camera (e.g. ZED), whether to use the depth in virtual green screen culling.")] + public bool virtualGreenScreenApplyDepthCulling = false; + + /// + /// The tolerance value (in meter) when using the virtual green screen with a depth camera. Make it bigger if the foreground objects got culled incorrectly. + /// + [HideInInspector, Tooltip("The tolerance value (in meter) when using the virtual green screen with a depth camera. Make it bigger if the foreground objects got culled incorrectly.")] + public float virtualGreenScreenDepthTolerance = 0.2f; +#endif + + /// + /// The number of expected display frames per rendered frame. + /// + public int vsyncCount + { + get { + if (!isHmdPresent) + return 1; + + return OVRPlugin.vsyncCount; + } + + set { + if (!isHmdPresent) + return; + + OVRPlugin.vsyncCount = value; + } + } + + /// + /// Gets the current battery level. + /// + /// battery level in the range [0.0,1.0] + /// Battery level. + public static float batteryLevel + { + get { + if (!isHmdPresent) + return 1f; + + return OVRPlugin.batteryLevel; + } + } + + /// + /// Gets the current battery temperature. + /// + /// battery temperature in Celsius + /// Battery temperature. + public static float batteryTemperature + { + get { + if (!isHmdPresent) + return 0f; + + return OVRPlugin.batteryTemperature; + } + } + + /// + /// Gets the current battery status. + /// + /// battery status + /// Battery status. + public static int batteryStatus + { + get { + if (!isHmdPresent) + return -1; + + return (int)OVRPlugin.batteryStatus; + } + } + + /// + /// Gets the current volume level. + /// + /// volume level in the range [0,1]. + public static float volumeLevel + { + get { + if (!isHmdPresent) + return 0f; + + return OVRPlugin.systemVolume; + } + } + + /// + /// Gets or sets the current CPU performance level (0-2). Lower performance levels save more power. + /// + public static int cpuLevel + { + get { + if (!isHmdPresent) + return 2; + + return OVRPlugin.cpuLevel; + } + + set { + if (!isHmdPresent) + return; + + OVRPlugin.cpuLevel = value; + } + } + + /// + /// Gets or sets the current GPU performance level (0-2). Lower performance levels save more power. + /// + public static int gpuLevel + { + get { + if (!isHmdPresent) + return 2; + + return OVRPlugin.gpuLevel; + } + + set { + if (!isHmdPresent) + return; + + OVRPlugin.gpuLevel = value; + } + } + + /// + /// If true, the CPU and GPU are currently throttled to save power and/or reduce the temperature. + /// + public static bool isPowerSavingActive + { + get { + if (!isHmdPresent) + return false; + + return OVRPlugin.powerSaving; + } + } + + /// + /// Gets or sets the eye texture format. + /// + public static EyeTextureFormat eyeTextureFormat + { + get + { + return (OVRManager.EyeTextureFormat)OVRPlugin.GetDesiredEyeTextureFormat(); + } + + set + { + OVRPlugin.SetDesiredEyeTextureFormat((OVRPlugin.EyeTextureFormat)value); + } + } + + /// + /// Gets if tiled-based multi-resolution technique is supported + /// This feature is only supported on QCOMM-based Android devices + /// + public static bool tiledMultiResSupported + { + get + { + return OVRPlugin.tiledMultiResSupported; + } + } + + /// + /// Gets or sets the tiled-based multi-resolution level + /// This feature is only supported on QCOMM-based Android devices + /// + public static TiledMultiResLevel tiledMultiResLevel + { + get + { + if (!OVRPlugin.tiledMultiResSupported) + { + Debug.LogWarning("Tiled-based Multi-resolution feature is not supported"); + } + return (TiledMultiResLevel)OVRPlugin.tiledMultiResLevel; + } + set + { + if (!OVRPlugin.tiledMultiResSupported) + { + Debug.LogWarning("Tiled-based Multi-resolution feature is not supported"); + } + OVRPlugin.tiledMultiResLevel = (OVRPlugin.TiledMultiResLevel)value; + } + } + + /// + /// Gets if the GPU Utility is supported + /// This feature is only supported on QCOMM-based Android devices + /// + public static bool gpuUtilSupported + { + get + { + return OVRPlugin.gpuUtilSupported; + } + } + + /// + /// Gets the GPU Utilised Level (0.0 - 1.0) + /// This feature is only supported on QCOMM-based Android devices + /// + public static float gpuUtilLevel + { + get + { + if (!OVRPlugin.gpuUtilSupported) + { + Debug.LogWarning("GPU Util is not supported"); + } + return OVRPlugin.gpuUtilLevel; + } + } + + + [Header("Tracking")] + [SerializeField] + [Tooltip("Defines the current tracking origin type.")] + private OVRManager.TrackingOrigin _trackingOriginType = OVRManager.TrackingOrigin.EyeLevel; + /// + /// Defines the current tracking origin type. + /// + public OVRManager.TrackingOrigin trackingOriginType + { + get { + if (!isHmdPresent) + return _trackingOriginType; + + return (OVRManager.TrackingOrigin)OVRPlugin.GetTrackingOriginType(); + } + + set { + if (!isHmdPresent) + return; + + if (OVRPlugin.SetTrackingOriginType((OVRPlugin.TrackingOrigin)value)) + { + // Keep the field exposed in the Unity Editor synchronized with any changes. + _trackingOriginType = value; + } + } + } + + /// + /// If true, head tracking will affect the position of each OVRCameraRig's cameras. + /// + [Tooltip("If true, head tracking will affect the position of each OVRCameraRig's cameras.")] + public bool usePositionTracking = true; + + /// + /// If true, head tracking will affect the rotation of each OVRCameraRig's cameras. + /// + [HideInInspector] + public bool useRotationTracking = true; + + /// + /// If true, the distance between the user's eyes will affect the position of each OVRCameraRig's cameras. + /// + [Tooltip("If true, the distance between the user's eyes will affect the position of each OVRCameraRig's cameras.")] + public bool useIPDInPositionTracking = true; + + /// + /// If true, each scene load will cause the head pose to reset. + /// + [Tooltip("If true, each scene load will cause the head pose to reset.")] + public bool resetTrackerOnLoad = false; + + /// + /// If true, the Reset View in the universal menu will cause the pose to be reset. This should generally be + /// enabled for applications with a stationary position in the virtual world and will allow the View Reset + /// command to place the person back to a predefined location (such as a cockpit seat). + /// Set this to false if you have a locomotion system because resetting the view would effectively teleport + /// the player to potentially invalid locations. + /// + [Tooltip("If true, the Reset View in the universal menu will cause the pose to be reset. This should generally be enabled for applications with a stationary position in the virtual world and will allow the View Reset command to place the person back to a predefined location (such as a cockpit seat). Set this to false if you have a locomotion system because resetting the view would effectively teleport the player to potentially invalid locations.")] + public bool AllowRecenter = true; + + [SerializeField] + [Tooltip("Specifies HMD recentering behavior when controller recenter is performed. True recenters the HMD as well, false does not.")] + private bool _reorientHMDOnControllerRecenter = true; + /// + /// Defines the recentering mode specified in the tooltip above. + /// + public bool reorientHMDOnControllerRecenter + { + get + { + if (!isHmdPresent) + return false; + + return OVRPlugin.GetReorientHMDOnControllerRecenter(); + } + + set + { + if (!isHmdPresent) + return; + + OVRPlugin.SetReorientHMDOnControllerRecenter(value); + + } + } + + /// + /// True if the current platform supports virtual reality. + /// + public bool isSupportedPlatform { get; private set; } + + private static bool _isUserPresentCached = false; + private static bool _isUserPresent = false; + private static bool _wasUserPresent = false; + /// + /// True if the user is currently wearing the display. + /// + public bool isUserPresent + { + get { + if (!_isUserPresentCached) + { + _isUserPresentCached = true; + _isUserPresent = OVRPlugin.userPresent; + } + + return _isUserPresent; + } + + private set { + _isUserPresentCached = true; + _isUserPresent = value; + } + } + + private static bool prevAudioOutIdIsCached = false; + private static bool prevAudioInIdIsCached = false; + private static string prevAudioOutId = string.Empty; + private static string prevAudioInId = string.Empty; + private static bool wasPositionTracked = false; + + public static System.Version utilitiesVersion + { + get { return OVRPlugin.wrapperVersion; } + } + + public static System.Version pluginVersion + { + get { return OVRPlugin.version; } + } + + public static System.Version sdkVersion + { + get { return OVRPlugin.nativeSDKVersion; } + } + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + private static bool prevEnableMixedReality = false; + private static bool MixedRealityEnabledFromCmd() + { + var args = System.Environment.GetCommandLineArgs(); + for (int i = 0; i < args.Length; i++) + { + if (args[i].ToLower() == "-mixedreality") + return true; + } + return false; + } + + private static bool UseDirectCompositionFromCmd() + { + var args = System.Environment.GetCommandLineArgs(); + for (int i = 0; i < args.Length; i++) + { + if (args[i].ToLower() == "-directcomposition") + return true; + } + return false; + } + + private static bool UseExternalCompositionFromCmd() + { + var args = System.Environment.GetCommandLineArgs(); + for (int i = 0; i < args.Length; i++) + { + if (args[i].ToLower() == "-externalcomposition") + return true; + } + return false; + } + + private static bool CreateMixedRealityCaptureConfigurationFileFromCmd() + { + var args = System.Environment.GetCommandLineArgs(); + for (int i = 0; i < args.Length; i++) + { + if (args[i].ToLower() == "-create_mrc_config") + return true; + } + return false; + } + + private static bool LoadMixedRealityCaptureConfigurationFileFromCmd() + { + var args = System.Environment.GetCommandLineArgs(); + for (int i = 0; i < args.Length; i++) + { + if (args[i].ToLower() == "-load_mrc_config") + return true; + } + return false; + } +#endif + + internal static bool IsUnityAlphaOrBetaVersion() + { + string ver = Application.unityVersion; + int pos = ver.Length - 1; + + while (pos >= 0 && ver[pos] >= '0' && ver[pos] <= '9') + { + --pos; + } + + if (pos >= 0 && (ver[pos] == 'a' || ver[pos] == 'b')) + return true; + + return false; + } + + internal static string UnityAlphaOrBetaVersionWarningMessage = "WARNING: It's not recommended to use Unity alpha/beta release in Oculus development. Use a stable release if you encounter any issue."; + +#region Unity Messages + + private void Awake() + { + // Only allow one instance at runtime. + if (instance != null) + { + enabled = false; + DestroyImmediate(this); + return; + } + + instance = this; + + Debug.Log("Unity v" + Application.unityVersion + ", " + + "Oculus Utilities v" + OVRPlugin.wrapperVersion + ", " + + "OVRPlugin v" + OVRPlugin.version + ", " + + "SDK v" + OVRPlugin.nativeSDKVersion + "."); + +#if !UNITY_EDITOR + if (IsUnityAlphaOrBetaVersion()) + { + Debug.LogWarning(UnityAlphaOrBetaVersionWarningMessage); + } +#endif + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + var supportedTypes = + UnityEngine.Rendering.GraphicsDeviceType.Direct3D11.ToString() + ", " + + UnityEngine.Rendering.GraphicsDeviceType.Direct3D12.ToString(); + + if (!supportedTypes.Contains(SystemInfo.graphicsDeviceType.ToString())) + Debug.LogWarning("VR rendering requires one of the following device types: (" + supportedTypes + "). Your graphics device: " + SystemInfo.graphicsDeviceType.ToString()); +#endif + + // Detect whether this platform is a supported platform + RuntimePlatform currPlatform = Application.platform; + if (currPlatform == RuntimePlatform.Android || + // currPlatform == RuntimePlatform.LinuxPlayer || + currPlatform == RuntimePlatform.OSXEditor || + currPlatform == RuntimePlatform.OSXPlayer || + currPlatform == RuntimePlatform.WindowsEditor || + currPlatform == RuntimePlatform.WindowsPlayer) + { + isSupportedPlatform = true; + } + else + { + isSupportedPlatform = false; + } + if (!isSupportedPlatform) + { + Debug.LogWarning("This platform is unsupported"); + return; + } + +#if UNITY_ANDROID && !UNITY_EDITOR + // Turn off chromatic aberration by default to save texture bandwidth. + chromatic = false; +#endif + +#if UNITY_STANDALONE_WIN && !UNITY_EDITOR + enableMixedReality = false; // we should never start the standalone game in MxR mode, unless the command-line parameter is provided +#endif + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + bool loadMrcConfig = LoadMixedRealityCaptureConfigurationFileFromCmd(); + bool createMrcConfig = CreateMixedRealityCaptureConfigurationFileFromCmd(); + + if (loadMrcConfig || createMrcConfig) + { + OVRMixedRealityCaptureSettings mrcSettings = ScriptableObject.CreateInstance(); + mrcSettings.ReadFrom(this); + if (loadMrcConfig) + { + mrcSettings.CombineWithConfigurationFile(); + mrcSettings.ApplyTo(this); + } + if (createMrcConfig) + { + mrcSettings.WriteToConfigurationFile(); + } + ScriptableObject.Destroy(mrcSettings); + } + + if (MixedRealityEnabledFromCmd()) + { + enableMixedReality = true; + } + + if (enableMixedReality) + { + Debug.Log("OVR: Mixed Reality mode enabled"); + if (UseDirectCompositionFromCmd()) + { + compositionMethod = CompositionMethod.Direct; + } + if (UseExternalCompositionFromCmd()) + { + compositionMethod = CompositionMethod.External; + } + Debug.Log("OVR: CompositionMethod : " + compositionMethod); + } +#endif + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + if (enableAdaptiveResolution && !OVRManager.IsAdaptiveResSupportedByEngine()) + { + enableAdaptiveResolution = false; + UnityEngine.Debug.LogError("Your current Unity Engine " + Application.unityVersion + " might have issues to support adaptive resolution, please disable it under OVRManager"); + } +#endif + + Initialize(); + + if (resetTrackerOnLoad) + display.RecenterPose(); + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + // Force OcculusionMesh on all the time, you can change the value to false if you really need it be off for some reasons, + // be aware there are performance drops if you don't use occlusionMesh. + OVRPlugin.occlusionMesh = true; +#endif + } + +#if UNITY_EDITOR + private static bool _scriptsReloaded; + + [UnityEditor.Callbacks.DidReloadScripts] + static void ScriptsReloaded() + { + _scriptsReloaded = true; + } +#endif + + void Initialize() + { + if (display == null) + display = new OVRDisplay(); + if (tracker == null) + tracker = new OVRTracker(); + if (boundary == null) + boundary = new OVRBoundary(); + + reorientHMDOnControllerRecenter = _reorientHMDOnControllerRecenter; + } + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + private bool suppressDisableMixedRealityBecauseOfNoMainCameraWarning = false; +#endif + private void Update() + { +#if UNITY_EDITOR + if (_scriptsReloaded) + { + _scriptsReloaded = false; + instance = this; + Initialize(); + } +#endif + + if (OVRPlugin.shouldQuit) + Application.Quit(); + + if (AllowRecenter && OVRPlugin.shouldRecenter) + { + OVRManager.display.RecenterPose(); + } + + if (trackingOriginType != _trackingOriginType) + trackingOriginType = _trackingOriginType; + + tracker.isEnabled = usePositionTracking; + + OVRPlugin.rotation = useRotationTracking; + + OVRPlugin.useIPDInPositionTracking = useIPDInPositionTracking; + + // Dispatch HMD events. + + isHmdPresent = OVRPlugin.hmdPresent; + + if (useRecommendedMSAALevel && QualitySettings.antiAliasing != display.recommendedMSAALevel) + { + Debug.Log("The current MSAA level is " + QualitySettings.antiAliasing + + ", but the recommended MSAA level is " + display.recommendedMSAALevel + + ". Switching to the recommended level."); + + QualitySettings.antiAliasing = display.recommendedMSAALevel; + } + + if (monoscopic != _monoscopic) + { + monoscopic = _monoscopic; + } + + if (_wasHmdPresent && !isHmdPresent) + { + try + { + if (HMDLost != null) + HMDLost(); + } + catch (Exception e) + { + Debug.LogError("Caught Exception: " + e); + } + } + + if (!_wasHmdPresent && isHmdPresent) + { + try + { + if (HMDAcquired != null) + HMDAcquired(); + } + catch (Exception e) + { + Debug.LogError("Caught Exception: " + e); + } + } + + _wasHmdPresent = isHmdPresent; + + // Dispatch HMD mounted events. + + isUserPresent = OVRPlugin.userPresent; + + if (_wasUserPresent && !isUserPresent) + { + try + { + if (HMDUnmounted != null) + HMDUnmounted(); + } + catch (Exception e) + { + Debug.LogError("Caught Exception: " + e); + } + } + + if (!_wasUserPresent && isUserPresent) + { + try + { + if (HMDMounted != null) + HMDMounted(); + } + catch (Exception e) + { + Debug.LogError("Caught Exception: " + e); + } + } + + _wasUserPresent = isUserPresent; + + // Dispatch VR Focus events. + + hasVrFocus = OVRPlugin.hasVrFocus; + + if (_hadVrFocus && !hasVrFocus) + { + try + { + if (VrFocusLost != null) + VrFocusLost(); + } + catch (Exception e) + { + Debug.LogError("Caught Exception: " + e); + } + } + + if (!_hadVrFocus && hasVrFocus) + { + try + { + if (VrFocusAcquired != null) + VrFocusAcquired(); + } + catch (Exception e) + { + Debug.LogError("Caught Exception: " + e); + } + } + + _hadVrFocus = hasVrFocus; + + // Dispatch VR Input events. + + bool hasInputFocus = OVRPlugin.hasInputFocus; + + if (_hadInputFocus && !hasInputFocus) + { + try + { + if (InputFocusLost != null) + InputFocusLost(); + } + catch (Exception e) + { + Debug.LogError("Caught Exception: " + e); + } + } + + if (!_hadInputFocus && hasInputFocus) + { + try + { + if (InputFocusAcquired != null) + InputFocusAcquired(); + } + catch (Exception e) + { + Debug.LogError("Caught Exception: " + e); + } + } + + _hadInputFocus = hasInputFocus; + + // Changing effective rendering resolution dynamically according performance +#if (UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN) + + if (enableAdaptiveResolution) + { +#if UNITY_2017_2_OR_NEWER + if (UnityEngine.XR.XRSettings.eyeTextureResolutionScale < maxRenderScale) + { + // Allocate renderScale to max to avoid re-allocation + UnityEngine.XR.XRSettings.eyeTextureResolutionScale = maxRenderScale; + } + else + { + // Adjusting maxRenderScale in case app started with a larger renderScale value + maxRenderScale = Mathf.Max(maxRenderScale, UnityEngine.XR.XRSettings.eyeTextureResolutionScale); + } + minRenderScale = Mathf.Min(minRenderScale, maxRenderScale); + float minViewportScale = minRenderScale / UnityEngine.XR.XRSettings.eyeTextureResolutionScale; + float recommendedViewportScale = OVRPlugin.GetEyeRecommendedResolutionScale() / UnityEngine.XR.XRSettings.eyeTextureResolutionScale; + recommendedViewportScale = Mathf.Clamp(recommendedViewportScale, minViewportScale, 1.0f); + UnityEngine.XR.XRSettings.renderViewportScale = recommendedViewportScale; +#else + if (UnityEngine.VR.VRSettings.renderScale < maxRenderScale) + { + // Allocate renderScale to max to avoid re-allocation + UnityEngine.VR.VRSettings.renderScale = maxRenderScale; + } + else + { + // Adjusting maxRenderScale in case app started with a larger renderScale value + maxRenderScale = Mathf.Max(maxRenderScale, UnityEngine.VR.VRSettings.renderScale); + } + minRenderScale = Mathf.Min(minRenderScale, maxRenderScale); + float minViewportScale = minRenderScale / UnityEngine.VR.VRSettings.renderScale; + float recommendedViewportScale = OVRPlugin.GetEyeRecommendedResolutionScale() / UnityEngine.VR.VRSettings.renderScale; + recommendedViewportScale = Mathf.Clamp(recommendedViewportScale, minViewportScale, 1.0f); + UnityEngine.VR.VRSettings.renderViewportScale = recommendedViewportScale; +#endif + } +#endif + + // Dispatch Audio Device events. + + string audioOutId = OVRPlugin.audioOutId; + if (!prevAudioOutIdIsCached) + { + prevAudioOutId = audioOutId; + prevAudioOutIdIsCached = true; + } + else if (audioOutId != prevAudioOutId) + { + try + { + if (AudioOutChanged != null) + AudioOutChanged(); + } + catch (Exception e) + { + Debug.LogError("Caught Exception: " + e); + } + + prevAudioOutId = audioOutId; + } + + string audioInId = OVRPlugin.audioInId; + if (!prevAudioInIdIsCached) + { + prevAudioInId = audioInId; + prevAudioInIdIsCached = true; + } + else if (audioInId != prevAudioInId) + { + try + { + if (AudioInChanged != null) + AudioInChanged(); + } + catch (Exception e) + { + Debug.LogError("Caught Exception: " + e); + } + + prevAudioInId = audioInId; + } + + // Dispatch tracking events. + + if (wasPositionTracked && !tracker.isPositionTracked) + { + try + { + if (TrackingLost != null) + TrackingLost(); + } + catch (Exception e) + { + Debug.LogError("Caught Exception: " + e); + } + } + + if (!wasPositionTracked && tracker.isPositionTracked) + { + try + { + if (TrackingAcquired != null) + TrackingAcquired(); + } + catch (Exception e) + { + Debug.LogError("Caught Exception: " + e); + } + } + + wasPositionTracked = tracker.isPositionTracked; + + display.Update(); + OVRInput.Update(); + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + if (enableMixedReality || prevEnableMixedReality) + { + Camera mainCamera = FindMainCamera(); + if (Camera.main != null) + { + suppressDisableMixedRealityBecauseOfNoMainCameraWarning = false; + + if (enableMixedReality) + { + OVRMixedReality.Update(this.gameObject, mainCamera, compositionMethod, useDynamicLighting, capturingCameraDevice, depthQuality); + } + + if (prevEnableMixedReality && !enableMixedReality) + { + OVRMixedReality.Cleanup(); + } + + prevEnableMixedReality = enableMixedReality; + } + else + { + if (!suppressDisableMixedRealityBecauseOfNoMainCameraWarning) + { + Debug.LogWarning("Main Camera is not set, Mixed Reality disabled"); + suppressDisableMixedRealityBecauseOfNoMainCameraWarning = true; + } + } + } +#endif + } + + private bool multipleMainCameraWarningPresented = false; + private Camera FindMainCamera() + { + GameObject[] objects = GameObject.FindGameObjectsWithTag("MainCamera"); + List cameras = new List(4); + foreach (GameObject obj in objects) + { + Camera camera = obj.GetComponent(); + if (camera != null && camera.enabled) + { + OVRCameraRig cameraRig = camera.GetComponentInParent(); + if (cameraRig != null && cameraRig.trackingSpace != null) + { + cameras.Add(camera); + } + } + } + if (cameras.Count == 0) + { + return Camera.main; // pick one of the cameras which tagged as "MainCamera" + } + else if (cameras.Count == 1) + { + return cameras[0]; + } + else + { + if (!multipleMainCameraWarningPresented) + { + Debug.LogWarning("Multiple MainCamera found. Assume the real MainCamera is the camera with the least depth"); + multipleMainCameraWarningPresented = true; + } + // return the camera with least depth + cameras.Sort((Camera c0, Camera c1) => { return c0.depth < c1.depth ? -1 : (c0.depth > c1.depth ? 1 : 0); }); + return cameras[0]; + } + } + + private void OnDisable() + { +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + OVRMixedReality.Cleanup(); +#endif + } + + private void LateUpdate() + { + OVRHaptics.Process(); + } + + private void FixedUpdate() + { + OVRInput.FixedUpdate(); + } + + /// + /// Leaves the application/game and returns to the launcher/dashboard + /// + public void ReturnToLauncher() + { + // show the platform UI quit prompt + OVRManager.PlatformUIConfirmQuit(); + } + +#endregion + + public static void PlatformUIConfirmQuit() + { + if (!isHmdPresent) + return; + + OVRPlugin.ShowUI(OVRPlugin.PlatformUI.ConfirmQuit); + } +} diff --git a/Assets/Oculus/VR/Scripts/OVRManager.cs.meta b/Assets/Oculus/VR/Scripts/OVRManager.cs.meta new file mode 100644 index 0000000..177b3b7 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRManager.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7e933e81d3c20c74ea6fdc708a67e3a5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: -100 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/OVRMixedReality.cs b/Assets/Oculus/VR/Scripts/OVRMixedReality.cs new file mode 100644 index 0000000..ef0d068 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRMixedReality.cs @@ -0,0 +1,134 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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.Runtime.InteropServices; +using System.Text.RegularExpressions; +using System.Collections.Generic; +using UnityEngine; + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + +/// +/// Manages mix-reality elements +/// +internal static class OVRMixedReality +{ + /// + /// Configurable parameters + /// + public static Color chromaKeyColor = Color.green; + + /// + /// For Debugging purpose, we can use preset parameters to fake a camera when external camera is not available + /// + public static bool useFakeExternalCamera = false; + public static Vector3 fakeCameraPositon = new Vector3(3.0f, 0.0f, 3.0f); + public static Quaternion fakeCameraRotation = Quaternion.LookRotation((new Vector3(0.0f, 1.0f, 0.0f) - fakeCameraPositon).normalized, Vector3.up); + public static float fakeCameraFov = 60.0f; + public static float fakeCameraAspect = 16.0f / 9.0f; + + /// + /// Composition object + /// + public static OVRComposition currentComposition = null; + + /// + /// Updates the internal state of the Mixed Reality Camera. Called by OVRManager. + /// + + public static void Update(GameObject parentObject, Camera mainCamera, OVRManager.CompositionMethod compositionMethod, bool useDynamicLighting, OVRManager.CameraDevice cameraDevice, OVRManager.DepthQuality depthQuality) + { + if (!OVRPlugin.initialized) + { + Debug.LogError("OVRPlugin not initialized"); + return; + } + + if (!OVRPlugin.IsMixedRealityInitialized()) + OVRPlugin.InitializeMixedReality(); + + if (!OVRPlugin.IsMixedRealityInitialized()) + { + Debug.LogError("Unable to initialize MixedReality"); + return; + } + + OVRPlugin.UpdateExternalCamera(); + OVRPlugin.UpdateCameraDevices(); + + if (currentComposition != null && currentComposition.CompositionMethod() != compositionMethod) + { + currentComposition.Cleanup(); + currentComposition = null; + } + + if (compositionMethod == OVRManager.CompositionMethod.External) + { + if (currentComposition == null) + { + currentComposition = new OVRExternalComposition(parentObject, mainCamera); + } + } + else if (compositionMethod == OVRManager.CompositionMethod.Direct) + { + if (currentComposition == null) + { + currentComposition = new OVRDirectComposition(parentObject, mainCamera, cameraDevice, useDynamicLighting, depthQuality); + } + } + else if (compositionMethod == OVRManager.CompositionMethod.Sandwich) + { + if (currentComposition == null) + { + currentComposition = new OVRSandwichComposition(parentObject, mainCamera, cameraDevice, useDynamicLighting, depthQuality); + } + } + else + { + Debug.LogError("Unknown CompositionMethod : " + compositionMethod); + return; + } + currentComposition.Update(mainCamera); + } + + public static void Cleanup() + { + if (currentComposition != null) + { + currentComposition.Cleanup(); + currentComposition = null; + } + if (OVRPlugin.IsMixedRealityInitialized()) + { + OVRPlugin.ShutdownMixedReality(); + } + } + + public static void RecenterPose() + { + if (currentComposition != null) + { + currentComposition.RecenterPose(); + } + } +} + +#endif diff --git a/Assets/Oculus/VR/Scripts/OVRMixedReality.cs.meta b/Assets/Oculus/VR/Scripts/OVRMixedReality.cs.meta new file mode 100644 index 0000000..8207904 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRMixedReality.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5daf6258e951ab84bb8b3e3b03386396 +timeCreated: 1497574405 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/OVROnCompleteListener.cs b/Assets/Oculus/VR/Scripts/OVROnCompleteListener.cs new file mode 100644 index 0000000..06b124e --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVROnCompleteListener.cs @@ -0,0 +1,38 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections; + +#if UNITY_ANDROID && !UNITY_EDITOR + +public abstract class OVROnCompleteListener : AndroidJavaProxy +{ + public OVROnCompleteListener() : base("com.oculus.svclib.OnCompleteListener") + { + } + + public abstract void onSuccess(); + + public abstract void onFailure(); +} + +#endif diff --git a/Assets/Oculus/VR/Scripts/OVROnCompleteListener.cs.meta b/Assets/Oculus/VR/Scripts/OVROnCompleteListener.cs.meta new file mode 100644 index 0000000..2b7d7ee --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVROnCompleteListener.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8730118d7f00f9b47b09be73f7e91d2b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/OVROverlay.cs b/Assets/Oculus/VR/Scripts/OVROverlay.cs new file mode 100644 index 0000000..edc54d3 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVROverlay.cs @@ -0,0 +1,668 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System; +using System.Collections; +using System.Runtime.InteropServices; + +/// +/// Add OVROverlay script to an object with an optional mesh primitive +/// rendered as a TimeWarp overlay instead by drawing it into the eye buffer. +/// This will take full advantage of the display resolution and avoid double +/// resampling of the texture. +/// +/// We support 3 types of Overlay shapes right now +/// 1. Quad : This is most common overlay type , you render a quad in Timewarp space. +/// 2. Cylinder: [Mobile Only][Experimental], Display overlay as partial surface of a cylinder +/// * The cylinder's center will be your game object's center +/// * We encoded the cylinder's parameters in transform.scale, +/// **[scale.z] is the radius of the cylinder +/// **[scale.y] is the height of the cylinder +/// **[scale.x] is the length of the arc of cylinder +/// * Limitations +/// **Only the half of the cylinder can be displayed, which means the arc angle has to be smaller than 180 degree, [scale.x] / [scale.z] <= PI +/// **Your camera has to be inside of the inscribed sphere of the cylinder, the overlay will be faded out automatically when the camera is close to the inscribed sphere's surface. +/// **Translation only works correctly with vrDriver 1.04 or above +/// 3. Cubemap: Display overlay as a cube map +/// 4. OffcenterCubemap: [Mobile Only] Display overlay as a cube map with a texture coordinate offset +/// * The actually sampling will looks like [color = texture(cubeLayerSampler, normalize(direction) + offset)] instead of [color = texture( cubeLayerSampler, direction )] +/// * The extra center offset can be feed from transform.position +/// * Note: if transform.position's magnitude is greater than 1, which will cause some cube map pixel always invisible +/// Which is usually not what people wanted, we don't kill the ability for developer to do so here, but will warn out. +/// 5. Equirect: Display overlay as a 360-degree equirectangular skybox. +/// +public class OVROverlay : MonoBehaviour +{ +#region Interface + + /// + /// Determines the on-screen appearance of a layer. + /// + public enum OverlayShape + { + Quad = OVRPlugin.OverlayShape.Quad, + Cylinder = OVRPlugin.OverlayShape.Cylinder, + Cubemap = OVRPlugin.OverlayShape.Cubemap, + OffcenterCubemap = OVRPlugin.OverlayShape.OffcenterCubemap, + Equirect = OVRPlugin.OverlayShape.Equirect, + } + + /// + /// Whether the layer appears behind or infront of other content in the scene. + /// + public enum OverlayType + { + None, + Underlay, + Overlay, + }; + + /// + /// Specify overlay's type + /// + [Tooltip("Specify overlay's type")] + public OverlayType currentOverlayType = OverlayType.Overlay; + + /// + /// If true, the texture's content is copied to the compositor each frame. + /// + [Tooltip("If true, the texture's content is copied to the compositor each frame.")] + public bool isDynamic = false; + + /// + /// If true, the layer would be used to present protected content (e.g. HDCP). The flag is effective only on PC. + /// + [Tooltip("If true, the layer would be used to present protected content (e.g. HDCP). The flag is effective only on PC.")] + public bool isProtectedContent = false; + + /// + /// The compositionDepth defines the order of the OVROverlays in composition. The overlay/underlay with smaller compositionDepth would be composited in the front of the overlay/underlay with larger compositionDepth. + /// + [Tooltip("The compositionDepth defines the order of the OVROverlays in composition. The overlay/underlay with smaller compositionDepth would be composited in the front of the overlay/underlay with larger compositionDepth.")] + public int compositionDepth = 0; + + /// + /// Specify overlay's shape + /// + [Tooltip("Specify overlay's shape")] + public OverlayShape currentOverlayShape = OverlayShape.Quad; + private OverlayShape prevOverlayShape = OverlayShape.Quad; + + /// + /// The left- and right-eye Textures to show in the layer. + /// \note If you need to change the texture on a per-frame basis, please use OverrideOverlayTextureInfo(..) to avoid caching issues. + /// + [Tooltip("The left- and right-eye Textures to show in the layer.")] + public Texture[] textures = new Texture[] { null, null }; + + protected IntPtr[] texturePtrs = new IntPtr[] { IntPtr.Zero, IntPtr.Zero }; + + /// + /// Use this function to set texture and texNativePtr when app is running + /// GetNativeTexturePtr is a slow behavior, the value should be pre-cached + /// +#if UNITY_2017_2_OR_NEWER + public void OverrideOverlayTextureInfo(Texture srcTexture, IntPtr nativePtr, UnityEngine.XR.XRNode node) +#else + public void OverrideOverlayTextureInfo(Texture srcTexture, IntPtr nativePtr, UnityEngine.VR.VRNode node) +#endif + { +#if UNITY_2017_2_OR_NEWER + int index = (node == UnityEngine.XR.XRNode.RightEye) ? 1 : 0; +#else + int index = (node == UnityEngine.VR.VRNode.RightEye) ? 1 : 0; +#endif + + if (textures.Length <= index) + return; + + textures[index] = srcTexture; + texturePtrs[index] = nativePtr; + + isOverridePending = true; + } + + protected bool isOverridePending; + + internal const int maxInstances = 15; + internal static OVROverlay[] instances = new OVROverlay[maxInstances]; + +#endregion + + private static Material tex2DMaterial; + private static Material cubeMaterial; + + private OVRPlugin.LayerLayout layout { + get { +#if UNITY_ANDROID && !UNITY_EDITOR + if (textures.Length == 2 && textures[1] != null) + return OVRPlugin.LayerLayout.Stereo; +#endif + return OVRPlugin.LayerLayout.Mono; + } + } + + private struct LayerTexture { + public Texture appTexture; + public IntPtr appTexturePtr; + public Texture[] swapChain; + public IntPtr[] swapChainPtr; + }; + private LayerTexture[] layerTextures; + + private OVRPlugin.LayerDesc layerDesc; + private int stageCount = -1; + + private int layerIndex = -1; // Controls the composition order based on wake-up time. + + private int layerId = 0; // The layer's internal handle in the compositor. + private GCHandle layerIdHandle; + private IntPtr layerIdPtr = IntPtr.Zero; + + private int frameIndex = 0; + private int prevFrameIndex = -1; + + private Renderer rend; + + private int texturesPerStage { get { return (layout == OVRPlugin.LayerLayout.Stereo) ? 2 : 1; } } + + private bool CreateLayer(int mipLevels, int sampleCount, OVRPlugin.EyeTextureFormat etFormat, int flags, OVRPlugin.Sizei size, OVRPlugin.OverlayShape shape) + { + if (!layerIdHandle.IsAllocated || layerIdPtr == IntPtr.Zero) + { + layerIdHandle = GCHandle.Alloc(layerId, GCHandleType.Pinned); + layerIdPtr = layerIdHandle.AddrOfPinnedObject(); + } + + if (layerIndex == -1) + { + for (int i = 0; i < maxInstances; ++i) + { + if (instances[i] == null || instances[i] == this) + { + layerIndex = i; + instances[i] = this; + break; + } + } + } + + bool needsSetup = ( + isOverridePending || + layerDesc.MipLevels != mipLevels || + layerDesc.SampleCount != sampleCount || + layerDesc.Format != etFormat || + layerDesc.Layout != layout || + layerDesc.LayerFlags != flags || + !layerDesc.TextureSize.Equals(size) || + layerDesc.Shape != shape); + + if (!needsSetup) + return false; + + OVRPlugin.LayerDesc desc = OVRPlugin.CalculateLayerDesc(shape, layout, size, mipLevels, sampleCount, etFormat, flags); + OVRPlugin.EnqueueSetupLayer(desc, compositionDepth, layerIdPtr); + layerId = (int)layerIdHandle.Target; + + if (layerId > 0) + { + layerDesc = desc; + stageCount = OVRPlugin.GetLayerTextureStageCount(layerId); + } + + isOverridePending = false; + + return true; + } + + private bool CreateLayerTextures(bool useMipmaps, OVRPlugin.Sizei size, bool isHdr) + { + bool needsCopy = false; + + if (stageCount <= 0) + return false; + + // For newer SDKs, blit directly to the surface that will be used in compositing. + + if (layerTextures == null) + layerTextures = new LayerTexture[texturesPerStage]; + + for (int eyeId = 0; eyeId < texturesPerStage; ++eyeId) + { + if (layerTextures[eyeId].swapChain == null) + layerTextures[eyeId].swapChain = new Texture[stageCount]; + + if (layerTextures[eyeId].swapChainPtr == null) + layerTextures[eyeId].swapChainPtr = new IntPtr[stageCount]; + + for (int stage = 0; stage < stageCount; ++stage) + { + Texture sc = layerTextures[eyeId].swapChain[stage]; + IntPtr scPtr = layerTextures[eyeId].swapChainPtr[stage]; + + if (sc != null && scPtr != IntPtr.Zero) + continue; + + if (scPtr == IntPtr.Zero) + scPtr = OVRPlugin.GetLayerTexture(layerId, stage, (OVRPlugin.Eye)eyeId); + + if (scPtr == IntPtr.Zero) + continue; + + var txFormat = (isHdr) ? TextureFormat.RGBAHalf : TextureFormat.RGBA32; + + if (currentOverlayShape != OverlayShape.Cubemap && currentOverlayShape != OverlayShape.OffcenterCubemap) + sc = Texture2D.CreateExternalTexture(size.w, size.h, txFormat, useMipmaps, true, scPtr); +#if UNITY_2017_1_OR_NEWER + else + sc = Cubemap.CreateExternalTexture(size.w, txFormat, useMipmaps, scPtr); +#endif + + layerTextures[eyeId].swapChain[stage] = sc; + layerTextures[eyeId].swapChainPtr[stage] = scPtr; + + needsCopy = true; + } + } + + return needsCopy; + } + + private void DestroyLayerTextures() + { + for (int eyeId = 0; layerTextures != null && eyeId < texturesPerStage; ++eyeId) + { + if (layerTextures[eyeId].swapChain != null) + { + for (int stage = 0; stage < stageCount; ++stage) + DestroyImmediate(layerTextures[eyeId].swapChain[stage]); + } + } + + layerTextures = null; + } + + private void DestroyLayer() + { + if (layerIndex != -1) + { + // Turn off the overlay if it was on. + OVRPlugin.EnqueueSubmitLayer(true, false, IntPtr.Zero, IntPtr.Zero, -1, 0, OVRPose.identity.ToPosef(), Vector3.one.ToVector3f(), layerIndex, (OVRPlugin.OverlayShape)prevOverlayShape); + instances[layerIndex] = null; + layerIndex = -1; + } + + if (layerIdPtr != IntPtr.Zero) + { + OVRPlugin.EnqueueDestroyLayer(layerIdPtr); + layerIdPtr = IntPtr.Zero; + layerIdHandle.Free(); + layerId = 0; + } + + layerDesc = new OVRPlugin.LayerDesc(); + + frameIndex = 0; + prevFrameIndex = -1; + } + + private bool LatchLayerTextures() + { + for (int i = 0; i < texturesPerStage; ++i) + { + if (textures[i] != layerTextures[i].appTexture || layerTextures[i].appTexturePtr == IntPtr.Zero) + { + if (textures[i] != null) + { +#if UNITY_EDITOR + var assetPath = UnityEditor.AssetDatabase.GetAssetPath(textures[i]); + var importer = (UnityEditor.TextureImporter)UnityEditor.TextureImporter.GetAtPath(assetPath); + if (importer && importer.textureType != UnityEditor.TextureImporterType.Default) + { + Debug.LogError("Need Default Texture Type for overlay"); + return false; + } +#endif + var rt = textures[i] as RenderTexture; + if (rt && !rt.IsCreated()) + rt.Create(); + + layerTextures[i].appTexturePtr = (texturePtrs[i] != IntPtr.Zero) ? texturePtrs[i] : textures[i].GetNativeTexturePtr(); + + if (layerTextures[i].appTexturePtr != IntPtr.Zero) + layerTextures[i].appTexture = textures[i]; + } + } + + if (currentOverlayShape == OverlayShape.Cubemap) + { + if (textures[i] as Cubemap == null) + { + Debug.LogError("Need Cubemap texture for cube map overlay"); + return false; + } + } + } + +#if !UNITY_ANDROID || UNITY_EDITOR + if (currentOverlayShape == OverlayShape.OffcenterCubemap) + { + Debug.LogWarning("Overlay shape " + currentOverlayShape + " is not supported on current platform"); + return false; + } +#endif + + if (layerTextures[0].appTexture == null || layerTextures[0].appTexturePtr == IntPtr.Zero) + return false; + + return true; + } + + private OVRPlugin.LayerDesc GetCurrentLayerDesc() + { + OVRPlugin.LayerDesc newDesc = new OVRPlugin.LayerDesc() { + Format = OVRPlugin.EyeTextureFormat.R8G8B8A8_sRGB, + LayerFlags = (int)OVRPlugin.LayerFlags.TextureOriginAtBottomLeft, + Layout = layout, + MipLevels = 1, + SampleCount = 1, + Shape = (OVRPlugin.OverlayShape)currentOverlayShape, + TextureSize = new OVRPlugin.Sizei() { w = textures[0].width, h = textures[0].height } + }; + + var tex2D = textures[0] as Texture2D; + if (tex2D != null) + { + if (tex2D.format == TextureFormat.RGBAHalf || tex2D.format == TextureFormat.RGBAFloat) + newDesc.Format = OVRPlugin.EyeTextureFormat.R16G16B16A16_FP; + + newDesc.MipLevels = tex2D.mipmapCount; + } + + var texCube = textures[0] as Cubemap; + if (texCube != null) + { + if (texCube.format == TextureFormat.RGBAHalf || texCube.format == TextureFormat.RGBAFloat) + newDesc.Format = OVRPlugin.EyeTextureFormat.R16G16B16A16_FP; + + newDesc.MipLevels = texCube.mipmapCount; + } + + var rt = textures[0] as RenderTexture; + if (rt != null) + { + newDesc.SampleCount = rt.antiAliasing; + + if (rt.format == RenderTextureFormat.ARGBHalf || rt.format == RenderTextureFormat.ARGBFloat || rt.format == RenderTextureFormat.RGB111110Float) + newDesc.Format = OVRPlugin.EyeTextureFormat.R16G16B16A16_FP; + } + + if (isProtectedContent) + { + newDesc.LayerFlags |= (int)OVRPlugin.LayerFlags.ProtectedContent; + } + + return newDesc; + } + + private bool PopulateLayer(int mipLevels, bool isHdr, OVRPlugin.Sizei size, int sampleCount, int stage) + { + bool ret = false; + + RenderTextureFormat rtFormat = (isHdr) ? RenderTextureFormat.ARGBHalf : RenderTextureFormat.ARGB32; + + for (int eyeId = 0; eyeId < texturesPerStage; ++eyeId) + { + Texture et = layerTextures[eyeId].swapChain[stage]; + if (et == null) + continue; + + for (int mip = 0; mip < mipLevels; ++mip) + { + int width = size.w >> mip; + if (width < 1) width = 1; + int height = size.h >> mip; + if (height < 1) height = 1; +#if UNITY_2017_1_1 || UNITY_2017_2_OR_NEWER + RenderTextureDescriptor descriptor = new RenderTextureDescriptor(width, height, rtFormat, 0); + descriptor.msaaSamples = sampleCount; + descriptor.useMipMap = true; + descriptor.autoGenerateMips = false; + descriptor.sRGB = false; + + var tempRTDst = RenderTexture.GetTemporary(descriptor); +#else + var tempRTDst = RenderTexture.GetTemporary(width, height, 0, rtFormat, RenderTextureReadWrite.Linear, sampleCount); +#endif + + if (!tempRTDst.IsCreated()) + tempRTDst.Create(); + + tempRTDst.DiscardContents(); + + bool dataIsLinear = isHdr || (QualitySettings.activeColorSpace == ColorSpace.Linear); + +#if !UNITY_2017_1_OR_NEWER + var rt = textures[eyeId] as RenderTexture; + dataIsLinear |= rt != null && rt.sRGB; //HACK: Unity 5.6 and earlier convert to linear on read from sRGB RenderTexture. +#endif +#if UNITY_ANDROID && !UNITY_EDITOR + dataIsLinear = true; //HACK: Graphics.CopyTexture causes linear->srgb conversion on target write with D3D but not GLES. +#endif + + if (currentOverlayShape != OverlayShape.Cubemap && currentOverlayShape != OverlayShape.OffcenterCubemap) + { + tex2DMaterial.SetInt("_linearToSrgb", (!isHdr && dataIsLinear) ? 1 : 0); + + //Resolve, decompress, swizzle, etc not handled by simple CopyTexture. +#if !UNITY_ANDROID || UNITY_EDITOR + // The PC compositor uses premultiplied alpha, so multiply it here. + tex2DMaterial.SetInt("_premultiply", 1); +#endif + Graphics.Blit(textures[eyeId], tempRTDst, tex2DMaterial); + Graphics.CopyTexture(tempRTDst, 0, 0, et, 0, mip); + } +#if UNITY_2017_1_OR_NEWER + else // Cubemap + { + for (int face = 0; face < 6; ++face) + { + cubeMaterial.SetInt("_linearToSrgb", (!isHdr && dataIsLinear) ? 1 : 0); + +#if !UNITY_ANDROID || UNITY_EDITOR + // The PC compositor uses premultiplied alpha, so multiply it here. + cubeMaterial.SetInt("_premultiply", 1); +#endif + cubeMaterial.SetInt("_face", face); + //Resolve, decompress, swizzle, etc not handled by simple CopyTexture. + Graphics.Blit(textures[eyeId], tempRTDst, cubeMaterial); + Graphics.CopyTexture(tempRTDst, 0, 0, et, face, mip); + } + } +#endif + RenderTexture.ReleaseTemporary(tempRTDst); + + ret = true; + } + } + + return ret; + } + + private bool SubmitLayer(bool overlay, bool headLocked, OVRPose pose, Vector3 scale, int frameIndex) + { + int rightEyeIndex = (texturesPerStage >= 2) ? 1 : 0; + bool isOverlayVisible = OVRPlugin.EnqueueSubmitLayer(overlay, headLocked, layerTextures[0].appTexturePtr, layerTextures[rightEyeIndex].appTexturePtr, layerId, frameIndex, pose.flipZ().ToPosef(), scale.ToVector3f(), layerIndex, (OVRPlugin.OverlayShape)currentOverlayShape); + + prevOverlayShape = currentOverlayShape; + + return isOverlayVisible; + } + +#region Unity Messages + + void Awake() + { + Debug.Log("Overlay Awake"); + + if (tex2DMaterial == null) + tex2DMaterial = new Material(Shader.Find("Oculus/Texture2D Blit")); + + if (cubeMaterial == null) + cubeMaterial = new Material(Shader.Find("Oculus/Cubemap Blit")); + + rend = GetComponent(); + + if (textures.Length == 0) + textures = new Texture[] { null }; + + // Backward compatibility + if (rend != null && textures[0] == null) + textures[0] = rend.material.mainTexture; + } + + void OnEnable() + { + if (!OVRManager.isHmdPresent) + { + enabled = false; + return; + } + } + + void OnDisable() + { + if ((gameObject.hideFlags & HideFlags.DontSaveInBuild) != 0) + return; + + DestroyLayerTextures(); + DestroyLayer(); + } + + void OnDestroy() + { + DestroyLayerTextures(); + DestroyLayer(); + } + + bool ComputeSubmit(ref OVRPose pose, ref Vector3 scale, ref bool overlay, ref bool headLocked) + { + Camera headCamera = Camera.main; + + overlay = (currentOverlayType == OverlayType.Overlay); + headLocked = false; + for (var t = transform; t != null && !headLocked; t = t.parent) + headLocked |= (t == headCamera.transform); + + pose = (headLocked) ? transform.ToHeadSpacePose(headCamera) : transform.ToTrackingSpacePose(headCamera); + scale = transform.lossyScale; + for (int i = 0; i < 3; ++i) + scale[i] /= headCamera.transform.lossyScale[i]; + + if (currentOverlayShape == OverlayShape.Cubemap) + { +#if UNITY_ANDROID && !UNITY_EDITOR + //HACK: VRAPI cubemaps assume are yawed 180 degrees relative to LibOVR. + pose.orientation = pose.orientation * Quaternion.AngleAxis(180, Vector3.up); +#endif + pose.position = headCamera.transform.position; + } + + // Pack the offsetCenter directly into pose.position for offcenterCubemap + if (currentOverlayShape == OverlayShape.OffcenterCubemap) + { + pose.position = transform.position; + if (pose.position.magnitude > 1.0f) + { + Debug.LogWarning("Your cube map center offset's magnitude is greater than 1, which will cause some cube map pixel always invisible ."); + return false; + } + } + + // Cylinder overlay sanity checking + if (currentOverlayShape == OverlayShape.Cylinder) + { + float arcAngle = scale.x / scale.z / (float)Math.PI * 180.0f; + if (arcAngle > 180.0f) + { + Debug.LogWarning("Cylinder overlay's arc angle has to be below 180 degree, current arc angle is " + arcAngle + " degree." ); + return false; + } + } + + return true; + } + + void LateUpdate() + { + // The overlay must be specified every eye frame, because it is positioned relative to the + // current head location. If frames are dropped, it will be time warped appropriately, + // just like the eye buffers. + if (currentOverlayType == OverlayType.None || textures.Length < texturesPerStage || textures[0] == null) + return; + + OVRPose pose = OVRPose.identity; + Vector3 scale = Vector3.one; + bool overlay = false; + bool headLocked = false; + if (!ComputeSubmit(ref pose, ref scale, ref overlay, ref headLocked)) + return; + + OVRPlugin.LayerDesc newDesc = GetCurrentLayerDesc(); + bool isHdr = (newDesc.Format == OVRPlugin.EyeTextureFormat.R16G16B16A16_FP); + + bool createdLayer = CreateLayer(newDesc.MipLevels, newDesc.SampleCount, newDesc.Format, newDesc.LayerFlags, newDesc.TextureSize, newDesc.Shape); + + if (layerIndex == -1 || layerId <= 0) + return; + + bool useMipmaps = (newDesc.MipLevels > 1); + + createdLayer |= CreateLayerTextures(useMipmaps, newDesc.TextureSize, isHdr); + + if (layerTextures[0].appTexture as RenderTexture != null) + isDynamic = true; + + if (!LatchLayerTextures()) + return; + + // Don't populate the same frame image twice. + if (frameIndex > prevFrameIndex) + { + int stage = frameIndex % stageCount; + if (!PopulateLayer (newDesc.MipLevels, isHdr, newDesc.TextureSize, newDesc.SampleCount, stage)) + return; + } + + bool isOverlayVisible = SubmitLayer(overlay, headLocked, pose, scale, frameIndex); + + prevFrameIndex = frameIndex; + if (isDynamic) + ++frameIndex; + + // Backward compatibility: show regular renderer if overlay isn't visible. + if (rend) + rend.enabled = !isOverlayVisible; + } + +#endregion +} diff --git a/Assets/Oculus/VR/Scripts/OVROverlay.cs.meta b/Assets/Oculus/VR/Scripts/OVROverlay.cs.meta new file mode 100644 index 0000000..97d97b0 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVROverlay.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4444ce35d262aa648ad0c425a559b931 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/OVRPlatformMenu.cs b/Assets/Oculus/VR/Scripts/OVRPlatformMenu.cs new file mode 100644 index 0000000..8beb18f --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRPlatformMenu.cs @@ -0,0 +1,129 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using VR = UnityEngine.VR; +using System.Collections; +using System.Collections.Generic; + +/// +/// Shows the Oculus plaform UI. +/// +public class OVRPlatformMenu : MonoBehaviour +{ + /// + /// The key code. + /// + private OVRInput.RawButton inputCode = OVRInput.RawButton.Back; + + public enum eHandler + { + ShowConfirmQuit, + RetreatOneLevel, + }; + + public eHandler shortPressHandler = eHandler.ShowConfirmQuit; + + /// + /// Callback to handle short press. Returns true if ConfirmQuit menu should be shown. + /// + public System.Func OnShortPress; + private static Stack sceneStack = new Stack(); + + enum eBackButtonAction + { + NONE, + SHORT_PRESS + }; + + eBackButtonAction HandleBackButtonState() + { + eBackButtonAction action = eBackButtonAction.NONE; + + if (OVRInput.GetDown(inputCode)) + { + action = eBackButtonAction.SHORT_PRESS; + } + + return action; + } + + /// + /// Instantiate the cursor timer + /// + void Awake() + { + if (shortPressHandler == eHandler.RetreatOneLevel && OnShortPress == null) + OnShortPress = RetreatOneLevel; + + if (!OVRManager.isHmdPresent) + { + enabled = false; + return; + } + + sceneStack.Push(UnityEngine.SceneManagement.SceneManager.GetActiveScene().name); + } + + /// + /// Show the confirm quit menu + /// + void ShowConfirmQuitMenu() + { +#if UNITY_ANDROID && !UNITY_EDITOR + Debug.Log("[PlatformUI-ConfirmQuit] Showing @ " + Time.time); + OVRManager.PlatformUIConfirmQuit(); +#endif + } + + /// + /// Sample handler for short press which retreats to the previous scene that used OVRPlatformMenu. + /// + private static bool RetreatOneLevel() + { + if (sceneStack.Count > 1) + { + string parentScene = sceneStack.Pop(); + UnityEngine.SceneManagement.SceneManager.LoadSceneAsync (parentScene); + return false; + } + + return true; + } + + /// + /// Tests for long-press and activates global platform menu when detected. + /// as per the Unity integration doc, the back button responds to "mouse 1" button down/up/etc + /// + void Update() + { +#if UNITY_ANDROID + eBackButtonAction action = HandleBackButtonState(); + if (action == eBackButtonAction.SHORT_PRESS) + { + if (OnShortPress == null || OnShortPress()) + { + ShowConfirmQuitMenu(); + } + } +#endif + } +} diff --git a/Assets/Oculus/VR/Scripts/OVRPlatformMenu.cs.meta b/Assets/Oculus/VR/Scripts/OVRPlatformMenu.cs.meta new file mode 100644 index 0000000..6921f91 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRPlatformMenu.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2afcf575f4a68de4db434c7b7233c451 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/OVRPlugin.cs b/Assets/Oculus/VR/Scripts/OVRPlugin.cs new file mode 100644 index 0000000..2b69cbd --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRPlugin.cs @@ -0,0 +1,3611 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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. + +************************************************************************************/ + +#if !(UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN || (UNITY_ANDROID && !UNITY_EDITOR)) +#define OVRPLUGIN_UNSUPPORTED_PLATFORM +#endif + +using System; +using System.Runtime.InteropServices; +using UnityEngine; + +// Internal C# wrapper for OVRPlugin. + +public static class OVRPlugin +{ +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + public const bool isSupportedPlatform = false; +#else + public const bool isSupportedPlatform = true; +#endif + +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + public static readonly System.Version wrapperVersion = _versionZero; +#else + public static readonly System.Version wrapperVersion = OVRP_1_28_0.version; +#endif + + private static System.Version _version; + public static System.Version version + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + Debug.LogWarning("Platform is not currently supported by OVRPlugin"); + return _versionZero; +#else + if (_version == null) + { + try + { + string pluginVersion = OVRP_1_1_0.ovrp_GetVersion(); + + if (pluginVersion != null) + { + // Truncate unsupported trailing version info for System.Version. Original string is returned if not present. + pluginVersion = pluginVersion.Split('-')[0]; + _version = new System.Version(pluginVersion); + } + else + { + _version = _versionZero; + } + } + catch + { + _version = _versionZero; + } + + // Unity 5.1.1f3-p3 have OVRPlugin version "0.5.0", which isn't accurate. + if (_version == OVRP_0_5_0.version) + _version = OVRP_0_1_0.version; + + if (_version > _versionZero && _version < OVRP_1_3_0.version) + throw new PlatformNotSupportedException("Oculus Utilities version " + wrapperVersion + " is too new for OVRPlugin version " + _version.ToString() + ". Update to the latest version of Unity."); + } + + return _version; +#endif + } + } + + private static System.Version _nativeSDKVersion; + public static System.Version nativeSDKVersion + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return _versionZero; +#else + if (_nativeSDKVersion == null) + { + try + { + string sdkVersion = string.Empty; + + if (version >= OVRP_1_1_0.version) + sdkVersion = OVRP_1_1_0.ovrp_GetNativeSDKVersion(); + else + sdkVersion = _versionZero.ToString(); + + if (sdkVersion != null) + { + // Truncate unsupported trailing version info for System.Version. Original string is returned if not present. + sdkVersion = sdkVersion.Split('-')[0]; + _nativeSDKVersion = new System.Version(sdkVersion); + } + else + { + _nativeSDKVersion = _versionZero; + } + } + catch + { + _nativeSDKVersion = _versionZero; + } + } + + return _nativeSDKVersion; +#endif + } + } + + [StructLayout(LayoutKind.Sequential)] + private class GUID + { + public int a; + public short b; + public short c; + public byte d0; + public byte d1; + public byte d2; + public byte d3; + public byte d4; + public byte d5; + public byte d6; + public byte d7; + } + + public enum Bool + { + False = 0, + True + } + + public enum Result + { + /// Success + Success = 0, + + /// Failure + Failure = -1000, + Failure_InvalidParameter = -1001, + Failure_NotInitialized = -1002, + Failure_InvalidOperation = -1003, + Failure_Unsupported = -1004, + Failure_NotYetImplemented = -1005, + Failure_OperationFailed = -1006, + Failure_InsufficientSize = -1007, + } + + public enum CameraStatus + { + CameraStatus_None, + CameraStatus_Connected, + CameraStatus_Calibrating, + CameraStatus_CalibrationFailed, + CameraStatus_Calibrated, + CameraStatus_EnumSize = 0x7fffffff + } + + public enum Eye + { + None = -1, + Left = 0, + Right = 1, + Count = 2 + } + + public enum Tracker + { + None = -1, + Zero = 0, + One = 1, + Two = 2, + Three = 3, + Count, + } + + public enum Node + { + None = -1, + EyeLeft = 0, + EyeRight = 1, + EyeCenter = 2, + HandLeft = 3, + HandRight = 4, + TrackerZero = 5, + TrackerOne = 6, + TrackerTwo = 7, + TrackerThree = 8, + Head = 9, + DeviceObjectZero = 10, + Count, + } + + public enum Controller + { + None = 0, + LTouch = 0x00000001, + RTouch = 0x00000002, + Touch = LTouch | RTouch, + Remote = 0x00000004, + Gamepad = 0x00000010, + Touchpad = 0x08000000, + LTrackedRemote = 0x01000000, + RTrackedRemote = 0x02000000, + Active = unchecked((int)0x80000000), + All = ~None, + } + + public enum Handedness + { + Unsupported = 0, + LeftHanded = 1, + RightHanded = 2, + } + + public enum TrackingOrigin + { + EyeLevel = 0, + FloorLevel = 1, + Count, + } + + public enum RecenterFlags + { + Default = 0, + Controllers = 0x40000000, + IgnoreAll = unchecked((int)0x80000000), + Count, + } + + public enum BatteryStatus + { + Charging = 0, + Discharging, + Full, + NotCharging, + Unknown, + } + + public enum EyeTextureFormat + { + Default = 0, + R8G8B8A8_sRGB = 0, + R8G8B8A8 = 1, + R16G16B16A16_FP = 2, + R11G11B10_FP = 3, + B8G8R8A8_sRGB = 4, + B8G8R8A8 = 5, + R5G6B5 = 11, + EnumSize = 0x7fffffff + } + + public enum PlatformUI + { + None = -1, + ConfirmQuit = 1, + GlobalMenuTutorial, // Deprecated + } + + public enum SystemRegion + { + Unspecified = 0, + Japan, + China, + } + + public enum SystemHeadset + { + None = 0, + GearVR_R320, // Note4 Innovator + GearVR_R321, // S6 Innovator + GearVR_R322, // Commercial 1 + GearVR_R323, // Commercial 2 (USB Type C) + GearVR_R324, // Commercial 3 (USB Type C) + GearVR_R325, // Commercial 4 (USB Type C) + Oculus_Go, + + Rift_DK1 = 0x1000, + Rift_DK2, + Rift_CV1, + } + + public enum OverlayShape + { + Quad = 0, + Cylinder = 1, + Cubemap = 2, + OffcenterCubemap = 4, + Equirect = 5, + } + + public enum Step + { + Render = -1, + Physics = 0, + } + + public enum CameraDevice + { + None = 0, + WebCamera0 = 100, + WebCamera1 = 101, + ZEDCamera = 300, + } + + public enum CameraDeviceDepthSensingMode + { + Standard = 0, + Fill = 1, + } + + public enum CameraDeviceDepthQuality + { + Low = 0, + Medium = 1, + High = 2, + } + + public enum TiledMultiResLevel + { + Off = 0, + LMSLow = 1, + LMSMedium = 2, + LMSHigh = 3, + EnumSize = 0x7FFFFFFF + } + + [StructLayout(LayoutKind.Sequential)] + public struct CameraDeviceIntrinsicsParameters + { + float fx; /* Focal length in pixels along x axis. */ + float fy; /* Focal length in pixels along y axis. */ + float cx; /* Optical center along x axis, defined in pixels (usually close to width/2). */ + float cy; /* Optical center along y axis, defined in pixels (usually close to height/2). */ + double disto0; /* Distortion factor : [ k1, k2, p1, p2, k3 ]. Radial (k1,k2,k3) and Tangential (p1,p2) distortion.*/ + double disto1; + double disto2; + double disto3; + double disto4; + float v_fov; /* Vertical field of view after stereo rectification, in degrees. */ + float h_fov; /* Horizontal field of view after stereo rectification, in degrees.*/ + float d_fov; /* Diagonal field of view after stereo rectification, in degrees.*/ + int w; /* Resolution width */ + int h; /* Resolution height */ + } + + private const int OverlayShapeFlagShift = 4; + private enum OverlayFlag + { + None = unchecked((int)0x00000000), + OnTop = unchecked((int)0x00000001), + HeadLocked = unchecked((int)0x00000002), + + // Using the 5-8 bits for shapes, total 16 potential shapes can be supported 0x000000[0]0 -> 0x000000[F]0 + ShapeFlag_Quad = unchecked((int)OverlayShape.Quad << OverlayShapeFlagShift), + ShapeFlag_Cylinder = unchecked((int)OverlayShape.Cylinder << OverlayShapeFlagShift), + ShapeFlag_Cubemap = unchecked((int)OverlayShape.Cubemap << OverlayShapeFlagShift), + ShapeFlag_OffcenterCubemap = unchecked((int)OverlayShape.OffcenterCubemap << OverlayShapeFlagShift), + ShapeFlagRangeMask = unchecked((int)0xF << OverlayShapeFlagShift), + } + + [StructLayout(LayoutKind.Sequential)] + public struct Vector2f + { + public float x; + public float y; + } + + [StructLayout(LayoutKind.Sequential)] + public struct Vector3f + { + public float x; + public float y; + public float z; + public static readonly Vector3f zero = new Vector3f { x = 0.0f, y = 0.0f, z = 0.0f }; + public override string ToString() + { + return string.Format("{0}, {1}, {2}", x, y, z); + } + } + + [StructLayout(LayoutKind.Sequential)] + public struct Quatf + { + public float x; + public float y; + public float z; + public float w; + public static readonly Quatf identity = new Quatf {x = 0.0f, y = 0.0f, z = 0.0f, w = 1.0f}; + public override string ToString() + { + return string.Format("{0}, {1}, {2}, {3}", x, y, z, w); + } + } + + [StructLayout(LayoutKind.Sequential)] + public struct Posef + { + public Quatf Orientation; + public Vector3f Position; + public static readonly Posef identity = new Posef { Orientation = Quatf.identity, Position = Vector3f.zero }; + public override string ToString() + { + return string.Format("Position ({0}), Orientation({1})", Position, Orientation); + } + } + + [StructLayout(LayoutKind.Sequential)] + public struct PoseStatef + { + public Posef Pose; + public Vector3f Velocity; + public Vector3f Acceleration; + public Vector3f AngularVelocity; + public Vector3f AngularAcceleration; + double Time; + } + + [StructLayout(LayoutKind.Sequential)] + public struct ControllerState4 + { + public uint ConnectedControllers; + public uint Buttons; + public uint Touches; + public uint NearTouches; + public float LIndexTrigger; + public float RIndexTrigger; + public float LHandTrigger; + public float RHandTrigger; + public Vector2f LThumbstick; + public Vector2f RThumbstick; + public Vector2f LTouchpad; + public Vector2f RTouchpad; + public byte LBatteryPercentRemaining; + public byte RBatteryPercentRemaining; + public byte LRecenterCount; + public byte RRecenterCount; + public byte Reserved_27; + public byte Reserved_26; + public byte Reserved_25; + public byte Reserved_24; + public byte Reserved_23; + public byte Reserved_22; + public byte Reserved_21; + public byte Reserved_20; + public byte Reserved_19; + public byte Reserved_18; + public byte Reserved_17; + public byte Reserved_16; + public byte Reserved_15; + public byte Reserved_14; + public byte Reserved_13; + public byte Reserved_12; + public byte Reserved_11; + public byte Reserved_10; + public byte Reserved_09; + public byte Reserved_08; + public byte Reserved_07; + public byte Reserved_06; + public byte Reserved_05; + public byte Reserved_04; + public byte Reserved_03; + public byte Reserved_02; + public byte Reserved_01; + public byte Reserved_00; + + public ControllerState4(ControllerState2 cs) + { + ConnectedControllers = cs.ConnectedControllers; + Buttons = cs.Buttons; + Touches = cs.Touches; + NearTouches = cs.NearTouches; + LIndexTrigger = cs.LIndexTrigger; + RIndexTrigger = cs.RIndexTrigger; + LHandTrigger = cs.LHandTrigger; + RHandTrigger = cs.RHandTrigger; + LThumbstick = cs.LThumbstick; + RThumbstick = cs.RThumbstick; + LTouchpad = cs.LTouchpad; + RTouchpad = cs.RTouchpad; + LBatteryPercentRemaining = 0; + RBatteryPercentRemaining = 0; + LRecenterCount = 0; + RRecenterCount = 0; + Reserved_27 = 0; + Reserved_26 = 0; + Reserved_25 = 0; + Reserved_24 = 0; + Reserved_23 = 0; + Reserved_22 = 0; + Reserved_21 = 0; + Reserved_20 = 0; + Reserved_19 = 0; + Reserved_18 = 0; + Reserved_17 = 0; + Reserved_16 = 0; + Reserved_15 = 0; + Reserved_14 = 0; + Reserved_13 = 0; + Reserved_12 = 0; + Reserved_11 = 0; + Reserved_10 = 0; + Reserved_09 = 0; + Reserved_08 = 0; + Reserved_07 = 0; + Reserved_06 = 0; + Reserved_05 = 0; + Reserved_04 = 0; + Reserved_03 = 0; + Reserved_02 = 0; + Reserved_01 = 0; + Reserved_00 = 0; + } + } + + [StructLayout(LayoutKind.Sequential)] + public struct ControllerState2 + { + public uint ConnectedControllers; + public uint Buttons; + public uint Touches; + public uint NearTouches; + public float LIndexTrigger; + public float RIndexTrigger; + public float LHandTrigger; + public float RHandTrigger; + public Vector2f LThumbstick; + public Vector2f RThumbstick; + public Vector2f LTouchpad; + public Vector2f RTouchpad; + + public ControllerState2(ControllerState cs) + { + ConnectedControllers = cs.ConnectedControllers; + Buttons = cs.Buttons; + Touches = cs.Touches; + NearTouches = cs.NearTouches; + LIndexTrigger = cs.LIndexTrigger; + RIndexTrigger = cs.RIndexTrigger; + LHandTrigger = cs.LHandTrigger; + RHandTrigger = cs.RHandTrigger; + LThumbstick = cs.LThumbstick; + RThumbstick = cs.RThumbstick; + LTouchpad = new Vector2f() { x = 0.0f, y = 0.0f }; + RTouchpad = new Vector2f() { x = 0.0f, y = 0.0f }; + } + } + + [StructLayout(LayoutKind.Sequential)] + public struct ControllerState + { + public uint ConnectedControllers; + public uint Buttons; + public uint Touches; + public uint NearTouches; + public float LIndexTrigger; + public float RIndexTrigger; + public float LHandTrigger; + public float RHandTrigger; + public Vector2f LThumbstick; + public Vector2f RThumbstick; + } + + [StructLayout(LayoutKind.Sequential)] + public struct HapticsBuffer + { + public IntPtr Samples; + public int SamplesCount; + } + + [StructLayout(LayoutKind.Sequential)] + public struct HapticsState + { + public int SamplesAvailable; + public int SamplesQueued; + } + + [StructLayout(LayoutKind.Sequential)] + public struct HapticsDesc + { + public int SampleRateHz; + public int SampleSizeInBytes; + public int MinimumSafeSamplesQueued; + public int MinimumBufferSamplesCount; + public int OptimalBufferSamplesCount; + public int MaximumBufferSamplesCount; + } + + [StructLayout(LayoutKind.Sequential)] + public struct AppPerfFrameStats + { + public int HmdVsyncIndex; + public int AppFrameIndex; + public int AppDroppedFrameCount; + public float AppMotionToPhotonLatency; + public float AppQueueAheadTime; + public float AppCpuElapsedTime; + public float AppGpuElapsedTime; + public int CompositorFrameIndex; + public int CompositorDroppedFrameCount; + public float CompositorLatency; + public float CompositorCpuElapsedTime; + public float CompositorGpuElapsedTime; + public float CompositorCpuStartToGpuEndElapsedTime; + public float CompositorGpuEndToVsyncElapsedTime; + } + + public const int AppPerfFrameStatsMaxCount = 5; + + [StructLayout(LayoutKind.Sequential)] + public struct AppPerfStats + { + [MarshalAs(UnmanagedType.ByValArray, SizeConst = AppPerfFrameStatsMaxCount)] + public AppPerfFrameStats[] FrameStats; + public int FrameStatsCount; + public Bool AnyFrameStatsDropped; + public float AdaptiveGpuPerformanceScale; + } + + [StructLayout(LayoutKind.Sequential)] + public struct Sizei + { + public int w; + public int h; + } + + [StructLayout(LayoutKind.Sequential)] + public struct Sizef + { + public float w; + public float h; + } + + [StructLayout(LayoutKind.Sequential)] + public struct Vector2i + { + public int x; + public int y; + } + + [StructLayout(LayoutKind.Sequential)] + public struct Recti { + Vector2i Pos; + Sizei Size; + } + + [StructLayout(LayoutKind.Sequential)] + public struct Rectf { + Vector2f Pos; + Sizef Size; + } + + [StructLayout(LayoutKind.Sequential)] + public struct Frustumf + { + public float zNear; + public float zFar; + public float fovX; + public float fovY; + } + + [StructLayout(LayoutKind.Sequential)] + public struct Frustumf2 + { + public float zNear; + public float zFar; + public Fovf Fov; + } + + public enum BoundaryType + { + OuterBoundary = 0x0001, + PlayArea = 0x0100, + } + + [StructLayout(LayoutKind.Sequential)] + public struct BoundaryTestResult + { + public Bool IsTriggering; + public float ClosestDistance; + public Vector3f ClosestPoint; + public Vector3f ClosestPointNormal; + } + + [StructLayout(LayoutKind.Sequential)] + public struct BoundaryLookAndFeel + { + public Colorf Color; + } + + [StructLayout(LayoutKind.Sequential)] + public struct BoundaryGeometry + { + public BoundaryType BoundaryType; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)] + public Vector3f[] Points; + public int PointsCount; + } + + [StructLayout(LayoutKind.Sequential)] + public struct Colorf + { + public float r; + public float g; + public float b; + public float a; + } + + [StructLayout(LayoutKind.Sequential)] + public struct Fovf + { + public float UpTan; + public float DownTan; + public float LeftTan; + public float RightTan; + } + + [StructLayout(LayoutKind.Sequential)] + public struct CameraIntrinsics + { + public bool IsValid; + public double LastChangedTimeSeconds; + public Fovf FOVPort; + public float VirtualNearPlaneDistanceMeters; + public float VirtualFarPlaneDistanceMeters; + public Sizei ImageSensorPixelResolution; + } + + [StructLayout(LayoutKind.Sequential)] + public struct CameraExtrinsics + { + public bool IsValid; + public double LastChangedTimeSeconds; + public CameraStatus CameraStatusData; + public Node AttachedToNode; + public Posef RelativePose; + } + + public enum LayerLayout + { + Stereo = 0, + Mono = 1, + DoubleWide = 2, + Array = 3, + EnumSize = 0xF + } + + public enum LayerFlags + { + Static = (1 << 0), + LoadingScreen = (1 << 1), + SymmetricFov = (1 << 2), + TextureOriginAtBottomLeft = (1 << 3), + ChromaticAberrationCorrection = (1 << 4), + NoAllocation = (1 << 5), + ProtectedContent = (1 << 6), + } + + [StructLayout(LayoutKind.Sequential)] + public struct LayerDesc + { + public OverlayShape Shape; + public LayerLayout Layout; + public Sizei TextureSize; + public int MipLevels; + public int SampleCount; + public EyeTextureFormat Format; + public int LayerFlags; + + //Eye FOV-only members. + [MarshalAs(UnmanagedType.ByValArray, SizeConst=2)] + public Fovf[] Fov; + [MarshalAs(UnmanagedType.ByValArray, SizeConst=2)] + public Rectf[] VisibleRect; + public Sizei MaxViewportSize; + EyeTextureFormat DepthFormat; + + public override string ToString () + { + string delim = ", "; + return Shape.ToString() + + delim + Layout.ToString() + + delim + TextureSize.w.ToString() + "x" + TextureSize.h.ToString() + + delim + MipLevels.ToString() + + delim + SampleCount.ToString() + + delim + Format.ToString() + + delim + LayerFlags.ToString(); + } + } + + [StructLayout(LayoutKind.Sequential)] + public struct LayerSubmit + { + int LayerId; + int TextureStage; + [MarshalAs(UnmanagedType.ByValArray, SizeConst=2)] + Recti[] ViewportRect; + Posef Pose; + int LayerSubmitFlags; + } + + public static bool initialized + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return OVRP_1_1_0.ovrp_GetInitialized() == OVRPlugin.Bool.True; +#endif + } + } + + public static bool chromatic + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_7_0.version) + return initialized && OVRP_1_7_0.ovrp_GetAppChromaticCorrection() == OVRPlugin.Bool.True; + +#if UNITY_ANDROID && !UNITY_EDITOR + return false; +#else + return true; +#endif +#endif + } + + set { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + if (initialized && version >= OVRP_1_7_0.version) + OVRP_1_7_0.ovrp_SetAppChromaticCorrection(ToBool(value)); +#endif + } + } + + public static bool monoscopic + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return initialized && OVRP_1_1_0.ovrp_GetAppMonoscopic() == OVRPlugin.Bool.True; +#endif + } + set { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + if (initialized) + { + OVRP_1_1_0.ovrp_SetAppMonoscopic(ToBool(value)); + } +#endif + } + } + + public static bool rotation + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return initialized && OVRP_1_1_0.ovrp_GetTrackingOrientationEnabled() == Bool.True; +#endif + } + set { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + if (initialized) + { + OVRP_1_1_0.ovrp_SetTrackingOrientationEnabled(ToBool(value)); + } +#endif + } + } + + public static bool position + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return initialized && OVRP_1_1_0.ovrp_GetTrackingPositionEnabled() == Bool.True; +#endif + } + set { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + if (initialized) + { + OVRP_1_1_0.ovrp_SetTrackingPositionEnabled(ToBool(value)); + } +#endif + } + } + + public static bool useIPDInPositionTracking + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (initialized && version >= OVRP_1_6_0.version) + return OVRP_1_6_0.ovrp_GetTrackingIPDEnabled() == OVRPlugin.Bool.True; + + return true; +#endif + } + + set { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + if (initialized && version >= OVRP_1_6_0.version) + OVRP_1_6_0.ovrp_SetTrackingIPDEnabled(ToBool(value)); +#endif + } + } + + public static bool positionSupported + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return initialized && OVRP_1_1_0.ovrp_GetTrackingPositionSupported() == Bool.True; +#endif + } + } + + public static bool positionTracked + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return initialized && OVRP_1_1_0.ovrp_GetNodePositionTracked(Node.EyeCenter) == Bool.True; +#endif + } + } + + public static bool powerSaving + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return initialized && OVRP_1_1_0.ovrp_GetSystemPowerSavingMode() == Bool.True; +#endif + } + } + + public static bool hmdPresent + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return initialized && OVRP_1_1_0.ovrp_GetNodePresent(Node.EyeCenter) == Bool.True; +#endif + } + } + + public static bool userPresent + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return initialized && OVRP_1_1_0.ovrp_GetUserPresent() == Bool.True; +#endif + } + } + + public static bool headphonesPresent + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return initialized && OVRP_1_3_0.ovrp_GetSystemHeadphonesPresent() == OVRPlugin.Bool.True; +#endif + } + } + + public static int recommendedMSAALevel + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 2; +#else + if (initialized && version >= OVRP_1_6_0.version) + return OVRP_1_6_0.ovrp_GetSystemRecommendedMSAALevel(); + else + return 2; +#endif + } + } + + public static SystemRegion systemRegion + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return SystemRegion.Unspecified; +#else + if (initialized && version >= OVRP_1_5_0.version) + return OVRP_1_5_0.ovrp_GetSystemRegion(); + else + return SystemRegion.Unspecified; +#endif + } + } + +#if !OVRPLUGIN_UNSUPPORTED_PLATFORM + private static GUID _nativeAudioOutGuid = new OVRPlugin.GUID(); + private static Guid _cachedAudioOutGuid; + private static string _cachedAudioOutString; +#endif + + public static string audioOutId + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return string.Empty; +#else + try + { + if (_nativeAudioOutGuid == null) + _nativeAudioOutGuid = new OVRPlugin.GUID(); + + IntPtr ptr = OVRP_1_1_0.ovrp_GetAudioOutId(); + if (ptr != IntPtr.Zero) + { + Marshal.PtrToStructure(ptr, _nativeAudioOutGuid); + Guid managedGuid = new Guid( + _nativeAudioOutGuid.a, + _nativeAudioOutGuid.b, + _nativeAudioOutGuid.c, + _nativeAudioOutGuid.d0, + _nativeAudioOutGuid.d1, + _nativeAudioOutGuid.d2, + _nativeAudioOutGuid.d3, + _nativeAudioOutGuid.d4, + _nativeAudioOutGuid.d5, + _nativeAudioOutGuid.d6, + _nativeAudioOutGuid.d7); + + if (managedGuid != _cachedAudioOutGuid) + { + _cachedAudioOutGuid = managedGuid; + _cachedAudioOutString = _cachedAudioOutGuid.ToString(); + } + + return _cachedAudioOutString; + } + } + catch { } + + return string.Empty; +#endif + } + } + +#if !OVRPLUGIN_UNSUPPORTED_PLATFORM + private static GUID _nativeAudioInGuid = new OVRPlugin.GUID(); + private static Guid _cachedAudioInGuid; + private static string _cachedAudioInString; +#endif + + public static string audioInId + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return string.Empty; +#else + try + { + if (_nativeAudioInGuid == null) + _nativeAudioInGuid = new OVRPlugin.GUID(); + + IntPtr ptr = OVRP_1_1_0.ovrp_GetAudioInId(); + if (ptr != IntPtr.Zero) + { + Marshal.PtrToStructure(ptr, _nativeAudioInGuid); + Guid managedGuid = new Guid( + _nativeAudioInGuid.a, + _nativeAudioInGuid.b, + _nativeAudioInGuid.c, + _nativeAudioInGuid.d0, + _nativeAudioInGuid.d1, + _nativeAudioInGuid.d2, + _nativeAudioInGuid.d3, + _nativeAudioInGuid.d4, + _nativeAudioInGuid.d5, + _nativeAudioInGuid.d6, + _nativeAudioInGuid.d7); + + if (managedGuid != _cachedAudioInGuid) + { + _cachedAudioInGuid = managedGuid; + _cachedAudioInString = _cachedAudioInGuid.ToString(); + } + + return _cachedAudioInString; + } + } + catch { } + + return string.Empty; +#endif + } + } + + public static bool hasVrFocus + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return OVRP_1_1_0.ovrp_GetAppHasVrFocus() == Bool.True; +#endif + } + } + + public static bool hasInputFocus + { + get + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return true; +#else + if (version >= OVRP_1_18_0.version) + { + Bool inputFocus = Bool.False; + Result result = OVRP_1_18_0.ovrp_GetAppHasInputFocus(out inputFocus); + if (Result.Success == result) + return inputFocus == Bool.True; + else + { + //Debug.LogWarning("ovrp_GetAppHasInputFocus return " + result); + return false; + } + } + + return true; +#endif + } + } + + public static bool shouldQuit + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return OVRP_1_1_0.ovrp_GetAppShouldQuit() == Bool.True; +#endif + } + } + + public static bool shouldRecenter + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return OVRP_1_1_0.ovrp_GetAppShouldRecenter() == Bool.True; +#endif + } + } + + public static string productName + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return string.Empty; +#else + return OVRP_1_1_0.ovrp_GetSystemProductName(); +#endif + } + } + + public static string latency + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return string.Empty; +#else + return OVRP_1_1_0.ovrp_GetAppLatencyTimings(); +#endif + } + } + + public static float eyeDepth + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0.0f; +#else + return OVRP_1_1_0.ovrp_GetUserEyeDepth(); +#endif + } + set { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + OVRP_1_1_0.ovrp_SetUserEyeDepth(value); +#endif + } + } + + public static float eyeHeight + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0.0f; +#else + return OVRP_1_1_0.ovrp_GetUserEyeHeight(); +#endif + } + set { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + OVRP_1_1_0.ovrp_SetUserEyeHeight(value); +#endif + } + } + + public static float batteryLevel + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0.0f; +#else + return OVRP_1_1_0.ovrp_GetSystemBatteryLevel(); +#endif + } + } + + public static float batteryTemperature + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0.0f; +#else + return OVRP_1_1_0.ovrp_GetSystemBatteryTemperature(); +#endif + } + } + + public static int cpuLevel + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0; +#else + return OVRP_1_1_0.ovrp_GetSystemCpuLevel(); +#endif + } + set { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + OVRP_1_1_0.ovrp_SetSystemCpuLevel(value); +#endif + } + } + + public static int gpuLevel + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0; +#else + return OVRP_1_1_0.ovrp_GetSystemGpuLevel(); +#endif + } + set { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + OVRP_1_1_0.ovrp_SetSystemGpuLevel(value); +#endif + } + } + + public static int vsyncCount + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0; +#else + return OVRP_1_1_0.ovrp_GetSystemVSyncCount(); +#endif + } + set { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + OVRP_1_2_0.ovrp_SetSystemVSyncCount(value); +#endif + } + } + + public static float systemVolume + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0.0f; +#else + return OVRP_1_1_0.ovrp_GetSystemVolume(); +#endif + } + } + + public static float ipd + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0.0f; +#else + return OVRP_1_1_0.ovrp_GetUserIPD(); +#endif + } + set { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + OVRP_1_1_0.ovrp_SetUserIPD(value); +#endif + } + } + + public static bool occlusionMesh + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return OVRP_1_3_0.ovrp_GetEyeOcclusionMeshEnabled() == Bool.True; +#endif + } + set { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + OVRP_1_3_0.ovrp_SetEyeOcclusionMeshEnabled(ToBool(value)); +#endif + } + } + + public static BatteryStatus batteryStatus + { + get { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return default(BatteryStatus); +#else + return OVRP_1_1_0.ovrp_GetSystemBatteryStatus(); +#endif + } + } + + public static Frustumf GetEyeFrustum(Eye eyeId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new Frustumf(); +#else + return OVRP_1_1_0.ovrp_GetNodeFrustum((Node)eyeId); +#endif + } + + public static Sizei GetEyeTextureSize(Eye eyeId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new Sizei(); +#else + return OVRP_0_1_0.ovrp_GetEyeTextureSize(eyeId); +#endif + } + + public static Posef GetTrackerPose(Tracker trackerId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return Posef.identity; +#else + return GetNodePose((Node)((int)trackerId + (int)Node.TrackerZero), Step.Render); +#endif + } + + public static Frustumf GetTrackerFrustum(Tracker trackerId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new Frustumf(); +#else + return OVRP_1_1_0.ovrp_GetNodeFrustum((Node)((int)trackerId + (int)Node.TrackerZero)); +#endif + } + + public static bool ShowUI(PlatformUI ui) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return OVRP_1_1_0.ovrp_ShowSystemUI(ui) == Bool.True; +#endif + } + + public static bool EnqueueSubmitLayer(bool onTop, bool headLocked, IntPtr leftTexture, IntPtr rightTexture, int layerId, int frameIndex, Posef pose, Vector3f scale, int layerIndex=0, OverlayShape shape=OverlayShape.Quad) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_6_0.version) + { + uint flags = (uint)OverlayFlag.None; + if (onTop) + flags |= (uint)OverlayFlag.OnTop; + if (headLocked) + flags |= (uint)OverlayFlag.HeadLocked; + + if (shape == OverlayShape.Cylinder || shape == OverlayShape.Cubemap) + { +#if UNITY_ANDROID + if (version >= OVRP_1_7_0.version) + flags |= (uint)(shape) << OverlayShapeFlagShift; + else +#else + if (shape == OverlayShape.Cubemap && version >= OVRP_1_10_0.version) + flags |= (uint)(shape) << OverlayShapeFlagShift; + else if (shape == OverlayShape.Cylinder && version >= OVRP_1_16_0.version) + flags |= (uint)(shape) << OverlayShapeFlagShift; + else +#endif + return false; + } + + if (shape == OverlayShape.OffcenterCubemap) + { +#if UNITY_ANDROID + if (version >= OVRP_1_11_0.version) + flags |= (uint)(shape) << OverlayShapeFlagShift; + else +#endif + return false; + } + + if (shape == OverlayShape.Equirect) + { +#if UNITY_ANDROID + if (version >= OVRP_1_21_0.version) + flags |= (uint)(shape) << OverlayShapeFlagShift; + else +#endif + return false; + } + + if (version >= OVRP_1_15_0.version && layerId != -1) + return OVRP_1_15_0.ovrp_EnqueueSubmitLayer(flags, leftTexture, rightTexture, layerId, frameIndex, ref pose, ref scale, layerIndex) == Result.Success; + + return OVRP_1_6_0.ovrp_SetOverlayQuad3(flags, leftTexture, rightTexture, IntPtr.Zero, pose, scale, layerIndex) == Bool.True; + } + + if (layerIndex != 0) + return false; + + return OVRP_0_1_1.ovrp_SetOverlayQuad2(ToBool(onTop), ToBool(headLocked), leftTexture, IntPtr.Zero, pose, scale) == Bool.True; +#endif + } + + public static LayerDesc CalculateLayerDesc(OverlayShape shape, LayerLayout layout, Sizei textureSize, + int mipLevels, int sampleCount, EyeTextureFormat format, int layerFlags) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new LayerDesc(); +#else + LayerDesc layerDesc = new LayerDesc(); + + if (version >= OVRP_1_15_0.version) + { + OVRP_1_15_0.ovrp_CalculateLayerDesc (shape, layout, ref textureSize, + mipLevels, sampleCount, format, layerFlags, ref layerDesc); + } + + return layerDesc; +#endif + } + + public static bool EnqueueSetupLayer(LayerDesc desc, int compositionDepth, IntPtr layerID) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_28_0.version) + return OVRP_1_28_0.ovrp_EnqueueSetupLayer2(ref desc, compositionDepth, layerID) == Result.Success; + else if (version >= OVRP_1_15_0.version) + { + if (compositionDepth != 0) + { + Debug.LogWarning("Use Oculus Plugin 1.28.0 or above to support non-zero compositionDepth"); + } + return OVRP_1_15_0.ovrp_EnqueueSetupLayer(ref desc, layerID) == Result.Success; + } + + return false; +#endif + } + + public static bool EnqueueDestroyLayer(IntPtr layerID) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_15_0.version) + return OVRP_1_15_0.ovrp_EnqueueDestroyLayer(layerID) == Result.Success; + + return false; +#endif + } + + public static IntPtr GetLayerTexture(int layerId, int stage, Eye eyeId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return IntPtr.Zero; +#else + IntPtr textureHandle = IntPtr.Zero; + + if (version >= OVRP_1_15_0.version) + OVRP_1_15_0.ovrp_GetLayerTexturePtr(layerId, stage, eyeId, ref textureHandle); + + return textureHandle; +#endif + } + + public static int GetLayerTextureStageCount(int layerId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 1; +#else + int stageCount = 1; + + if (version >= OVRP_1_15_0.version) + OVRP_1_15_0.ovrp_GetLayerTextureStageCount(layerId, ref stageCount); + + return stageCount; +#endif + } + + public static bool UpdateNodePhysicsPoses(int frameIndex, double predictionSeconds) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_8_0.version) + return OVRP_1_8_0.ovrp_Update2((int)Step.Physics, frameIndex, predictionSeconds) == Bool.True; + + return false; +#endif + } + + public static Posef GetNodePose(Node nodeId, Step stepId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return Posef.identity; +#else + if (version >= OVRP_1_12_0.version) + return OVRP_1_12_0.ovrp_GetNodePoseState(stepId, nodeId).Pose; + + if (version >= OVRP_1_8_0.version && stepId == Step.Physics) + return OVRP_1_8_0.ovrp_GetNodePose2(0, nodeId); + + return OVRP_0_1_2.ovrp_GetNodePose(nodeId); +#endif + } + + public static Vector3f GetNodeVelocity(Node nodeId, Step stepId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new Vector3f(); +#else + if (version >= OVRP_1_12_0.version) + return OVRP_1_12_0.ovrp_GetNodePoseState(stepId, nodeId).Velocity; + + if (version >= OVRP_1_8_0.version && stepId == Step.Physics) + return OVRP_1_8_0.ovrp_GetNodeVelocity2(0, nodeId).Position; + + return OVRP_0_1_3.ovrp_GetNodeVelocity(nodeId).Position; +#endif + } + + public static Vector3f GetNodeAngularVelocity(Node nodeId, Step stepId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new Vector3f(); +#else + if (version >= OVRP_1_12_0.version) + return OVRP_1_12_0.ovrp_GetNodePoseState(stepId, nodeId).AngularVelocity; + + return new Vector3f(); //TODO: Convert legacy quat to vec3? +#endif + } + + public static Vector3f GetNodeAcceleration(Node nodeId, Step stepId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new Vector3f(); +#else + if (version >= OVRP_1_12_0.version) + return OVRP_1_12_0.ovrp_GetNodePoseState(stepId, nodeId).Acceleration; + + if (version >= OVRP_1_8_0.version && stepId == Step.Physics) + return OVRP_1_8_0.ovrp_GetNodeAcceleration2(0, nodeId).Position; + + return OVRP_0_1_3.ovrp_GetNodeAcceleration(nodeId).Position; +#endif + } + + public static Vector3f GetNodeAngularAcceleration(Node nodeId, Step stepId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new Vector3f(); +#else + if (version >= OVRP_1_12_0.version) + return OVRP_1_12_0.ovrp_GetNodePoseState(stepId, nodeId).AngularAcceleration; + + return new Vector3f(); //TODO: Convert legacy quat to vec3? +#endif + } + + public static bool GetNodePresent(Node nodeId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return OVRP_1_1_0.ovrp_GetNodePresent(nodeId) == Bool.True; +#endif + } + + public static bool GetNodeOrientationTracked(Node nodeId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return OVRP_1_1_0.ovrp_GetNodeOrientationTracked(nodeId) == Bool.True; +#endif + } + + public static bool GetNodePositionTracked(Node nodeId) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return OVRP_1_1_0.ovrp_GetNodePositionTracked(nodeId) == Bool.True; +#endif + } + + public static ControllerState GetControllerState(uint controllerMask) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new ControllerState(); +#else + return OVRP_1_1_0.ovrp_GetControllerState(controllerMask); +#endif + } + + public static ControllerState2 GetControllerState2(uint controllerMask) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new ControllerState2(); +#else + if (version >= OVRP_1_12_0.version) + { + return OVRP_1_12_0.ovrp_GetControllerState2(controllerMask); + } + + return new ControllerState2(OVRP_1_1_0.ovrp_GetControllerState(controllerMask)); +#endif + } + + public static ControllerState4 GetControllerState4(uint controllerMask) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new ControllerState4(); +#else + if (version >= OVRP_1_16_0.version) + { + ControllerState4 controllerState = new ControllerState4(); + OVRP_1_16_0.ovrp_GetControllerState4(controllerMask, ref controllerState); + return controllerState; + } + + return new ControllerState4(GetControllerState2(controllerMask)); +#endif + } + + public static bool SetControllerVibration(uint controllerMask, float frequency, float amplitude) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return OVRP_0_1_2.ovrp_SetControllerVibration(controllerMask, frequency, amplitude) == Bool.True; +#endif + } + + public static HapticsDesc GetControllerHapticsDesc(uint controllerMask) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new HapticsDesc(); +#else + if (version >= OVRP_1_6_0.version) + { + return OVRP_1_6_0.ovrp_GetControllerHapticsDesc(controllerMask); + } + else + { + return new HapticsDesc(); + } +#endif + } + + public static HapticsState GetControllerHapticsState(uint controllerMask) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new HapticsState(); +#else + if (version >= OVRP_1_6_0.version) + { + return OVRP_1_6_0.ovrp_GetControllerHapticsState(controllerMask); + } + else + { + return new HapticsState(); + } +#endif + } + + public static bool SetControllerHaptics(uint controllerMask, HapticsBuffer hapticsBuffer) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_6_0.version) + { + return OVRP_1_6_0.ovrp_SetControllerHaptics(controllerMask, hapticsBuffer) == Bool.True; + } + else + { + return false; + } +#endif + } + + public static float GetEyeRecommendedResolutionScale() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 1.0f; +#else + if (version >= OVRP_1_6_0.version) + { + return OVRP_1_6_0.ovrp_GetEyeRecommendedResolutionScale(); + } + else + { + return 1.0f; + } +#endif + } + + public static float GetAppCpuStartToGpuEndTime() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0.0f; +#else + if (version >= OVRP_1_6_0.version) + { + return OVRP_1_6_0.ovrp_GetAppCpuStartToGpuEndTime(); + } + else + { + return 0.0f; + } +#endif + } + + public static bool GetBoundaryConfigured() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_8_0.version) + { + return OVRP_1_8_0.ovrp_GetBoundaryConfigured() == OVRPlugin.Bool.True; + } + else + { + return false; + } +#endif + } + + public static BoundaryTestResult TestBoundaryNode(Node nodeId, BoundaryType boundaryType) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new BoundaryTestResult(); +#else + if (version >= OVRP_1_8_0.version) + { + return OVRP_1_8_0.ovrp_TestBoundaryNode(nodeId, boundaryType); + } + else + { + return new BoundaryTestResult(); + } +#endif + } + + public static BoundaryTestResult TestBoundaryPoint(Vector3f point, BoundaryType boundaryType) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new BoundaryTestResult(); +#else + if (version >= OVRP_1_8_0.version) + { + return OVRP_1_8_0.ovrp_TestBoundaryPoint(point, boundaryType); + } + else + { + return new BoundaryTestResult(); + } +#endif + } + + public static bool SetBoundaryLookAndFeel(BoundaryLookAndFeel lookAndFeel) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_8_0.version) + { + return OVRP_1_8_0.ovrp_SetBoundaryLookAndFeel(lookAndFeel) == OVRPlugin.Bool.True; + } + else + { + return false; + } +#endif + } + + public static bool ResetBoundaryLookAndFeel() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_8_0.version) + { + return OVRP_1_8_0.ovrp_ResetBoundaryLookAndFeel() == OVRPlugin.Bool.True; + } + else + { + return false; + } +#endif + } + + public static BoundaryGeometry GetBoundaryGeometry(BoundaryType boundaryType) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new BoundaryGeometry(); +#else + if (version >= OVRP_1_8_0.version) + { + return OVRP_1_8_0.ovrp_GetBoundaryGeometry(boundaryType); + } + else + { + return new BoundaryGeometry(); + } +#endif + } + + public static bool GetBoundaryGeometry2(BoundaryType boundaryType, IntPtr points, ref int pointsCount) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + pointsCount = 0; + return false; +#else + if (version >= OVRP_1_9_0.version) + { + return OVRP_1_9_0.ovrp_GetBoundaryGeometry2(boundaryType, points, ref pointsCount) == OVRPlugin.Bool.True; + } + else + { + pointsCount = 0; + + return false; + } +#endif + } + + public static AppPerfStats GetAppPerfStats() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new AppPerfStats(); +#else + if (version >= OVRP_1_9_0.version) + { + return OVRP_1_9_0.ovrp_GetAppPerfStats(); + } + else + { + return new AppPerfStats(); + } +#endif + } + + public static bool ResetAppPerfStats() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + + if (version >= OVRP_1_9_0.version) + { + return OVRP_1_9_0.ovrp_ResetAppPerfStats() == OVRPlugin.Bool.True; + } + else + { + return false; + } +#endif + } + + public static float GetAppFramerate() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0.0f; +#else + if (version >= OVRP_1_12_0.version) + { + return OVRP_1_12_0.ovrp_GetAppFramerate(); + } + else + { + return 0.0f; + } +#endif + } + + public static bool SetHandNodePoseStateLatency(double latencyInSeconds) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_18_0.version) + { + Result result = OVRP_1_18_0.ovrp_SetHandNodePoseStateLatency(latencyInSeconds); + if (result == Result.Success) + { + return true; + } + else + { + //Debug.LogWarning("ovrp_SetHandNodePoseStateLatency return " + result); + return false; + } + } + else + { + return false; + } +#endif + } + + public static double GetHandNodePoseStateLatency() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0.0; +#else + if (version >= OVRP_1_18_0.version) + { + double value = 0.0; + if (OVRP_1_18_0.ovrp_GetHandNodePoseStateLatency(out value) == OVRPlugin.Result.Success) + { + return value; + } + else + { + return 0.0; + } + } + else + { + return 0.0; + } +#endif + } + + public static EyeTextureFormat GetDesiredEyeTextureFormat() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return EyeTextureFormat.Default; +#else + if (version >= OVRP_1_11_0.version) + { + uint eyeTextureFormatValue = (uint)OVRP_1_11_0.ovrp_GetDesiredEyeTextureFormat(); + + // convert both R8G8B8A8 and R8G8B8A8_SRGB to R8G8B8A8 here for avoid confusing developers + if (eyeTextureFormatValue == 1) + eyeTextureFormatValue = 0; + + return (EyeTextureFormat)eyeTextureFormatValue; + } + else + { + return EyeTextureFormat.Default; + } +#endif + } + + public static bool SetDesiredEyeTextureFormat(EyeTextureFormat value) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_11_0.version) + { + return OVRP_1_11_0.ovrp_SetDesiredEyeTextureFormat(value) == OVRPlugin.Bool.True; + } + else + { + return false; + } +#endif + } + + public static bool InitializeMixedReality() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_15_0.version) + { + Result result = OVRP_1_15_0.ovrp_InitializeMixedReality(); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_InitializeMixedReality return " + result); + } + return result == Result.Success; + } + else + { + return false; + } +#endif + } + + public static bool ShutdownMixedReality() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_15_0.version) + { + Result result = OVRP_1_15_0.ovrp_ShutdownMixedReality(); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_ShutdownMixedReality return " + result); + } + return result == Result.Success; + } + else + { + return false; + } +#endif + } + + public static bool IsMixedRealityInitialized() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_15_0.version) + { + return OVRP_1_15_0.ovrp_GetMixedRealityInitialized() == Bool.True; + } + else + { + return false; + } +#endif + } + + public static int GetExternalCameraCount() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0; +#else + if (version >= OVRP_1_15_0.version) + { + int cameraCount = 0; + Result result = OVRP_1_15_0.ovrp_GetExternalCameraCount(out cameraCount); + if (result != OVRPlugin.Result.Success) + { + //Debug.LogWarning("ovrp_GetExternalCameraCount return " + result); + return 0; + } + + return cameraCount; + } + else + { + return 0; + } +#endif + } + + public static bool UpdateExternalCamera() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_15_0.version) + { + Result result = OVRP_1_15_0.ovrp_UpdateExternalCamera(); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_UpdateExternalCamera return " + result); + } + return result == Result.Success; + } + else + { + return false; + } +#endif + } + + public static bool GetMixedRealityCameraInfo(int cameraId, out CameraExtrinsics cameraExtrinsics, out CameraIntrinsics cameraIntrinsics) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + cameraExtrinsics = default(CameraExtrinsics); + cameraIntrinsics = default(CameraIntrinsics); + return false; +#else + cameraExtrinsics = default(CameraExtrinsics); + cameraIntrinsics = default(CameraIntrinsics); + + if (version >= OVRP_1_15_0.version) + { + bool retValue = true; + + Result result = OVRP_1_15_0.ovrp_GetExternalCameraExtrinsics(cameraId, out cameraExtrinsics); + if (result != Result.Success) + { + retValue = false; + //Debug.LogWarning("ovrp_GetExternalCameraExtrinsics return " + result); + } + + result = OVRP_1_15_0.ovrp_GetExternalCameraIntrinsics(cameraId, out cameraIntrinsics); + if (result != Result.Success) + { + retValue = false; + //Debug.LogWarning("ovrp_GetExternalCameraIntrinsics return " + result); + } + return retValue; + } + else + { + return false; + } +#endif + } + + public static Vector3f GetBoundaryDimensions(BoundaryType boundaryType) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new Vector3f(); +#else + if (version >= OVRP_1_8_0.version) + { + return OVRP_1_8_0.ovrp_GetBoundaryDimensions(boundaryType); + } + else + { + return new Vector3f(); + } +#endif + } + + public static bool GetBoundaryVisible() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_8_0.version) + { + return OVRP_1_8_0.ovrp_GetBoundaryVisible() == OVRPlugin.Bool.True; + } + else + { + return false; + } +#endif + } + + public static bool SetBoundaryVisible(bool value) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_8_0.version) + { + return OVRP_1_8_0.ovrp_SetBoundaryVisible(ToBool(value)) == OVRPlugin.Bool.True; + } + else + { + return false; + } +#endif + } + + public static SystemHeadset GetSystemHeadsetType() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return SystemHeadset.None; +#else + if (version >= OVRP_1_9_0.version) + return OVRP_1_9_0.ovrp_GetSystemHeadsetType(); + + return SystemHeadset.None; +#endif + } + + public static Controller GetActiveController() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return Controller.None; +#else + if (version >= OVRP_1_9_0.version) + return OVRP_1_9_0.ovrp_GetActiveController(); + + return Controller.None; +#endif + } + + public static Controller GetConnectedControllers() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return Controller.None; +#else + if (version >= OVRP_1_9_0.version) + return OVRP_1_9_0.ovrp_GetConnectedControllers(); + + return Controller.None; +#endif + } + + private static Bool ToBool(bool b) + { + return (b) ? OVRPlugin.Bool.True : OVRPlugin.Bool.False; + } + + public static TrackingOrigin GetTrackingOriginType() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return default(TrackingOrigin); +#else + return OVRP_1_0_0.ovrp_GetTrackingOriginType(); +#endif + } + + public static bool SetTrackingOriginType(TrackingOrigin originType) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return OVRP_1_0_0.ovrp_SetTrackingOriginType(originType) == Bool.True; +#endif + } + + public static Posef GetTrackingCalibratedOrigin() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return Posef.identity; +#else + return OVRP_1_0_0.ovrp_GetTrackingCalibratedOrigin(); +#endif + } + + public static bool SetTrackingCalibratedOrigin() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return OVRP_1_2_0.ovrpi_SetTrackingCalibratedOrigin() == Bool.True; +#endif + } + + public static bool RecenterTrackingOrigin(RecenterFlags flags) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + return OVRP_1_0_0.ovrp_RecenterTrackingOrigin((uint)flags) == Bool.True; +#endif + } + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + public static bool UpdateCameraDevices() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_16_0.version) + { + Result result = OVRP_1_16_0.ovrp_UpdateCameraDevices(); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_UpdateCameraDevices return " + result); + } + return result == Result.Success; + } + else + { + return false; + } +#endif + } + + public static bool IsCameraDeviceAvailable(CameraDevice cameraDevice) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_16_0.version) + { + Bool result = OVRP_1_16_0.ovrp_IsCameraDeviceAvailable(cameraDevice); + return result == Bool.True; + } + else + { + return false; + } +#endif + } + + public static bool SetCameraDevicePreferredColorFrameSize(CameraDevice cameraDevice, int width, int height) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_16_0.version) + { + Sizei size = new Sizei(); + size.w = width; + size.h = height; + Result result = OVRP_1_16_0.ovrp_SetCameraDevicePreferredColorFrameSize(cameraDevice, size); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_SetCameraDevicePreferredColorFrameSize return " + result); + } + return result == Result.Success; + } + else + { + return false; + } +#endif + } + + public static bool OpenCameraDevice(CameraDevice cameraDevice) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_16_0.version) + { + Result result = OVRP_1_16_0.ovrp_OpenCameraDevice(cameraDevice); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_OpenCameraDevice return " + result); + } + return result == Result.Success; + } + else + { + return false; + } +#endif + } + + public static bool CloseCameraDevice(CameraDevice cameraDevice) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_16_0.version) + { + Result result = OVRP_1_16_0.ovrp_CloseCameraDevice(cameraDevice); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_OpenCameraDevice return " + result); + } + return result == Result.Success; + } + else + { + return false; + } +#endif + } + + public static bool HasCameraDeviceOpened(CameraDevice cameraDevice) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_16_0.version) + { + Bool result = OVRP_1_16_0.ovrp_HasCameraDeviceOpened(cameraDevice); + return result == Bool.True; + } + else + { + return false; + } +#endif + } + + public static bool IsCameraDeviceColorFrameAvailable(CameraDevice cameraDevice) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_16_0.version) + { + Bool result = OVRP_1_16_0.ovrp_IsCameraDeviceColorFrameAvailable(cameraDevice); + return result == Bool.True; + } + else + { + return false; + } +#endif + } + + private static Texture2D cachedCameraFrameTexture = null; + public static Texture2D GetCameraDeviceColorFrameTexture(CameraDevice cameraDevice) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return null; +#else + if (version >= OVRP_1_16_0.version) + { + Sizei size = new Sizei(); + Result result = OVRP_1_16_0.ovrp_GetCameraDeviceColorFrameSize(cameraDevice, out size); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_GetCameraDeviceColorFrameSize return " + result); + return null; + } + IntPtr pixels; + int rowPitch; + result = OVRP_1_16_0.ovrp_GetCameraDeviceColorFrameBgraPixels(cameraDevice, out pixels, out rowPitch); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_GetCameraDeviceColorFrameBgraPixels return " + result); + return null; + } + if (rowPitch != size.w * 4) + { + //Debug.LogWarning(string.Format("RowPitch mismatch, expected {0}, get {1}", size.w * 4, rowPitch)); + return null; + } + if (!cachedCameraFrameTexture || cachedCameraFrameTexture.width != size.w || cachedCameraFrameTexture.height != size.h) + { + cachedCameraFrameTexture = new Texture2D(size.w, size.h, TextureFormat.BGRA32, false); + } + cachedCameraFrameTexture.LoadRawTextureData(pixels, rowPitch * size.h); + cachedCameraFrameTexture.Apply(); + return cachedCameraFrameTexture; + } + else + { + return null; + } +#endif + } + + public static bool DoesCameraDeviceSupportDepth(CameraDevice cameraDevice) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_17_0.version) + { + Bool supportDepth; + Result result = OVRP_1_17_0.ovrp_DoesCameraDeviceSupportDepth(cameraDevice, out supportDepth); + return result == Result.Success && supportDepth == Bool.True; + } + else + { + return false; + } +#endif + } + + public static bool SetCameraDeviceDepthSensingMode(CameraDevice camera, CameraDeviceDepthSensingMode depthSensoringMode) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_17_0.version) + { + Result result = OVRP_1_17_0.ovrp_SetCameraDeviceDepthSensingMode(camera, depthSensoringMode); + return result == Result.Success; + } + else + { + return false; + } +#endif + } + + public static bool SetCameraDevicePreferredDepthQuality(CameraDevice camera, CameraDeviceDepthQuality depthQuality) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_17_0.version) + { + Result result = OVRP_1_17_0.ovrp_SetCameraDevicePreferredDepthQuality(camera, depthQuality); + return result == Result.Success; + } + else + { + return false; + } +#endif + } + + public static bool IsCameraDeviceDepthFrameAvailable(CameraDevice cameraDevice) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_17_0.version) + { + Bool available; + Result result = OVRP_1_17_0.ovrp_IsCameraDeviceDepthFrameAvailable(cameraDevice, out available); + return result == Result.Success && available == Bool.True; + } + else + { + return false; + } +#endif + } + + private static Texture2D cachedCameraDepthTexture = null; + public static Texture2D GetCameraDeviceDepthFrameTexture(CameraDevice cameraDevice) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return null; +#else + if (version >= OVRP_1_17_0.version) + { + Sizei size = new Sizei(); + Result result = OVRP_1_17_0.ovrp_GetCameraDeviceDepthFrameSize(cameraDevice, out size); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_GetCameraDeviceDepthFrameSize return " + result); + return null; + } + IntPtr depthData; + int rowPitch; + result = OVRP_1_17_0.ovrp_GetCameraDeviceDepthFramePixels(cameraDevice, out depthData, out rowPitch); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_GetCameraDeviceDepthFramePixels return " + result); + return null; + } + if (rowPitch != size.w * 4) + { + //Debug.LogWarning(string.Format("RowPitch mismatch, expected {0}, get {1}", size.w * 4, rowPitch)); + return null; + } + if (!cachedCameraDepthTexture || cachedCameraDepthTexture.width != size.w || cachedCameraDepthTexture.height != size.h) + { + cachedCameraDepthTexture = new Texture2D(size.w, size.h, TextureFormat.RFloat, false); + cachedCameraDepthTexture.filterMode = FilterMode.Point; + } + cachedCameraDepthTexture.LoadRawTextureData(depthData, rowPitch * size.h); + cachedCameraDepthTexture.Apply(); + return cachedCameraDepthTexture; + } + else + { + return null; + } +#endif + } + + private static Texture2D cachedCameraDepthConfidenceTexture = null; + public static Texture2D GetCameraDeviceDepthConfidenceTexture(CameraDevice cameraDevice) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return null; +#else + if (version >= OVRP_1_17_0.version) + { + Sizei size = new Sizei(); + Result result = OVRP_1_17_0.ovrp_GetCameraDeviceDepthFrameSize(cameraDevice, out size); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_GetCameraDeviceDepthFrameSize return " + result); + return null; + } + IntPtr confidenceData; + int rowPitch; + result = OVRP_1_17_0.ovrp_GetCameraDeviceDepthConfidencePixels(cameraDevice, out confidenceData, out rowPitch); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_GetCameraDeviceDepthConfidencePixels return " + result); + return null; + } + if (rowPitch != size.w * 4) + { + //Debug.LogWarning(string.Format("RowPitch mismatch, expected {0}, get {1}", size.w * 4, rowPitch)); + return null; + } + if (!cachedCameraDepthConfidenceTexture || cachedCameraDepthConfidenceTexture.width != size.w || cachedCameraDepthConfidenceTexture.height != size.h) + { + cachedCameraDepthConfidenceTexture = new Texture2D(size.w, size.h, TextureFormat.RFloat, false); + } + cachedCameraDepthConfidenceTexture.LoadRawTextureData(confidenceData, rowPitch * size.h); + cachedCameraDepthConfidenceTexture.Apply(); + return cachedCameraDepthConfidenceTexture; + } + else + { + return null; + } +#endif + } +#endif + + public static bool tiledMultiResSupported + { + get + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_21_0.version) + { + Bool supported; + Result result = OVRP_1_21_0.ovrp_GetTiledMultiResSupported(out supported); + if (result == Result.Success) + { + return supported == Bool.True; + } + else + { + //Debug.LogWarning("ovrp_GetTiledMultiResSupported return " + result); + return false; + } + } + else + { + return false; + } +#endif + } + } + + public static TiledMultiResLevel tiledMultiResLevel + { + get + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return TiledMultiResLevel.Off; +#else + if (version >= OVRP_1_21_0.version && tiledMultiResSupported) + { + TiledMultiResLevel level; + Result result = OVRP_1_21_0.ovrp_GetTiledMultiResLevel(out level); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_GetTiledMultiResLevel return " + result); + } + return level; + } + else + { + return TiledMultiResLevel.Off; + } +#endif + } + set + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + if (version >= OVRP_1_21_0.version && tiledMultiResSupported) + { + Result result = OVRP_1_21_0.ovrp_SetTiledMultiResLevel(value); + if (result != Result.Success) + { + //Debug.LogWarning("ovrp_SetTiledMultiResLevel return " + result); + } + } +#endif + } + } + + public static bool gpuUtilSupported + { + get + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_21_0.version) + { + Bool supported; + Result result = OVRP_1_21_0.ovrp_GetGPUUtilSupported(out supported); + if (result == Result.Success) + { + return supported == Bool.True; + } + else + { + //Debug.LogWarning("ovrp_GetGPUUtilSupported return " + result); + return false; + } + } + else + { + return false; + } +#endif + } + } + + public static float gpuUtilLevel + { + get + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0.0f; +#else + if (version >= OVRP_1_21_0.version && gpuUtilSupported) + { + float level; + Result result = OVRP_1_21_0.ovrp_GetGPUUtilLevel(out level); + if (result == Result.Success) + { + return level; + } + else + { + //Debug.LogWarning("ovrp_GetGPUUtilLevel return " + result); + return 0.0f; + } + } + else + { + return 0.0f; + } +#endif + } + } + +#if !OVRPLUGIN_UNSUPPORTED_PLATFORM + private static OVRNativeBuffer _nativeSystemDisplayFrequenciesAvailable = null; + private static float[] _cachedSystemDisplayFrequenciesAvailable = null; +#endif + + public static float[] systemDisplayFrequenciesAvailable + { + get + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return new float[0]; +#else + if (_cachedSystemDisplayFrequenciesAvailable == null) + { + _cachedSystemDisplayFrequenciesAvailable = new float[0]; + + if (version >= OVRP_1_21_0.version) + { + int numFrequencies = 0; + Result result = OVRP_1_21_0.ovrp_GetSystemDisplayAvailableFrequencies(IntPtr.Zero, out numFrequencies); + if (result == Result.Success) + { + if (numFrequencies > 0) + { + int maxNumElements = numFrequencies; + _nativeSystemDisplayFrequenciesAvailable = new OVRNativeBuffer(sizeof(float) * maxNumElements); + result = OVRP_1_21_0.ovrp_GetSystemDisplayAvailableFrequencies(_nativeSystemDisplayFrequenciesAvailable.GetPointer(), out numFrequencies); + if (result == Result.Success) + { + int numElementsToCopy = (numFrequencies <= maxNumElements) ? numFrequencies : maxNumElements; + if (numElementsToCopy > 0) + { + _cachedSystemDisplayFrequenciesAvailable = new float[numElementsToCopy]; + Marshal.Copy(_nativeSystemDisplayFrequenciesAvailable.GetPointer(), _cachedSystemDisplayFrequenciesAvailable, 0, numElementsToCopy); + } + } + } + } + } + } + + return _cachedSystemDisplayFrequenciesAvailable; +#endif + } + } + + public static float systemDisplayFrequency + { + get + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return 0.0f; +#else + if (version >= OVRP_1_21_0.version) + { + float displayFrequency; + Result result = OVRP_1_21_0.ovrp_GetSystemDisplayFrequency2(out displayFrequency); + if (result == Result.Success) + { + return displayFrequency; + } + + return 0.0f; + } + else if (version >= OVRP_1_1_0.version) + { + return OVRP_1_1_0.ovrp_GetSystemDisplayFrequency(); + } + else + { + return 0.0f; + } +#endif + } + set + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return; +#else + if (version >= OVRP_1_21_0.version) + { + OVRP_1_21_0.ovrp_SetSystemDisplayFrequency(value); + } +#endif + } + } + + public static bool GetNodeFrustum2(Node nodeId, out Frustumf2 frustum) + { + frustum = default(Frustumf2); + +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_15_0.version) + { + Result result = OVRP_1_15_0.ovrp_GetNodeFrustum2(nodeId, out frustum); + if (result != Result.Success) + { + return false; + } + else + { + return true; + } + } + else + { + return false; + } +#endif + } + + public static bool AsymmetricFovEnabled + { + get + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_21_0.version) + { + Bool asymmetricFovEnabled = Bool.False; + Result result = OVRP_1_21_0.ovrp_GetAppAsymmetricFov(out asymmetricFovEnabled); + + if (result != Result.Success) + { + return false; + } + else + { + return asymmetricFovEnabled == Bool.True; + } + } + else + { + return false; + } +#endif + } + } + + public static bool EyeTextureArrayEnabled + { + get + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_15_0.version) + { + Bool enabled = Bool.False; + enabled = OVRP_1_15_0.ovrp_GetEyeTextureArrayEnabled(); + return enabled == Bool.True; + } + else + { + return false; + } +#endif + } + } + + + public static Handedness GetDominantHand() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return Handedness.Unsupported; +#else + Handedness dominantHand; + + if (version >= OVRP_1_28_0.version && OVRP_1_28_0.ovrp_GetDominantHand(out dominantHand) == Result.Success) + { + return dominantHand; + } + + return Handedness.Unsupported; +#endif + } + + public static bool GetReorientHMDOnControllerRecenter() + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + Bool recenterMode; + if (version < OVRP_1_28_0.version || OVRP_1_28_0.ovrp_GetReorientHMDOnControllerRecenter(out recenterMode) != Result.Success) + return false; + + return (recenterMode == Bool.True); +#endif + } + + public static bool SetReorientHMDOnControllerRecenter(bool recenterSetting) + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + Bool ovrpBoolRecenterSetting = recenterSetting ? Bool.True : Bool.False; + if (version < OVRP_1_28_0.version || OVRP_1_28_0.ovrp_SetReorientHMDOnControllerRecenter(ovrpBoolRecenterSetting) != Result.Success) + return false; + + return true; +#endif + } + + public static bool SendEvent(string name, string param = "") + { +#if OVRPLUGIN_UNSUPPORTED_PLATFORM + return false; +#else + if (version >= OVRP_1_28_0.version) + { + return OVRP_1_28_0.ovrp_SendEvent(name, param) == Result.Success; + } + else + { + return false; + } +#endif + } + + private const string pluginName = "OVRPlugin"; + private static System.Version _versionZero = new System.Version(0, 0, 0); + + // Disable all the DllImports when the platform is not supported +#if !OVRPLUGIN_UNSUPPORTED_PLATFORM + + private static class OVRP_0_1_0 + { + public static readonly System.Version version = new System.Version(0, 1, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Sizei ovrp_GetEyeTextureSize(Eye eyeId); + } + + private static class OVRP_0_1_1 + { + public static readonly System.Version version = new System.Version(0, 1, 1); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetOverlayQuad2(Bool onTop, Bool headLocked, IntPtr texture, IntPtr device, Posef pose, Vector3f scale); + } + + private static class OVRP_0_1_2 + { + public static readonly System.Version version = new System.Version(0, 1, 2); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Posef ovrp_GetNodePose(Node nodeId); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetControllerVibration(uint controllerMask, float frequency, float amplitude); + } + + private static class OVRP_0_1_3 + { + public static readonly System.Version version = new System.Version(0, 1, 3); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Posef ovrp_GetNodeVelocity(Node nodeId); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Posef ovrp_GetNodeAcceleration(Node nodeId); + } + + private static class OVRP_0_5_0 + { + public static readonly System.Version version = new System.Version(0, 5, 0); + } + + private static class OVRP_1_0_0 + { + public static readonly System.Version version = new System.Version(1, 0, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern TrackingOrigin ovrp_GetTrackingOriginType(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetTrackingOriginType(TrackingOrigin originType); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Posef ovrp_GetTrackingCalibratedOrigin(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_RecenterTrackingOrigin(uint flags); + } + + private static class OVRP_1_1_0 + { + public static readonly System.Version version = new System.Version(1, 1, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetInitialized(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl, EntryPoint = "ovrp_GetVersion")] + private static extern IntPtr _ovrp_GetVersion(); + public static string ovrp_GetVersion() { return Marshal.PtrToStringAnsi(_ovrp_GetVersion()); } + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl, EntryPoint = "ovrp_GetNativeSDKVersion")] + private static extern IntPtr _ovrp_GetNativeSDKVersion(); + public static string ovrp_GetNativeSDKVersion() { return Marshal.PtrToStringAnsi(_ovrp_GetNativeSDKVersion()); } + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern IntPtr ovrp_GetAudioOutId(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern IntPtr ovrp_GetAudioInId(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern float ovrp_GetEyeTextureScale(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetEyeTextureScale(float value); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetTrackingOrientationSupported(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetTrackingOrientationEnabled(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetTrackingOrientationEnabled(Bool value); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetTrackingPositionSupported(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetTrackingPositionEnabled(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetTrackingPositionEnabled(Bool value); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetNodePresent(Node nodeId); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetNodeOrientationTracked(Node nodeId); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetNodePositionTracked(Node nodeId); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Frustumf ovrp_GetNodeFrustum(Node nodeId); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern ControllerState ovrp_GetControllerState(uint controllerMask); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern int ovrp_GetSystemCpuLevel(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetSystemCpuLevel(int value); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern int ovrp_GetSystemGpuLevel(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetSystemGpuLevel(int value); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetSystemPowerSavingMode(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern float ovrp_GetSystemDisplayFrequency(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern int ovrp_GetSystemVSyncCount(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern float ovrp_GetSystemVolume(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern BatteryStatus ovrp_GetSystemBatteryStatus(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern float ovrp_GetSystemBatteryLevel(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern float ovrp_GetSystemBatteryTemperature(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl, EntryPoint = "ovrp_GetSystemProductName")] + private static extern IntPtr _ovrp_GetSystemProductName(); + public static string ovrp_GetSystemProductName() { return Marshal.PtrToStringAnsi(_ovrp_GetSystemProductName()); } + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_ShowSystemUI(PlatformUI ui); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetAppMonoscopic(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetAppMonoscopic(Bool value); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetAppHasVrFocus(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetAppShouldQuit(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetAppShouldRecenter(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl, EntryPoint = "ovrp_GetAppLatencyTimings")] + private static extern IntPtr _ovrp_GetAppLatencyTimings(); + public static string ovrp_GetAppLatencyTimings() { return Marshal.PtrToStringAnsi(_ovrp_GetAppLatencyTimings()); } + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetUserPresent(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern float ovrp_GetUserIPD(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetUserIPD(float value); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern float ovrp_GetUserEyeDepth(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetUserEyeDepth(float value); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern float ovrp_GetUserEyeHeight(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetUserEyeHeight(float value); + } + + private static class OVRP_1_2_0 + { + public static readonly System.Version version = new System.Version(1, 2, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetSystemVSyncCount(int vsyncCount); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrpi_SetTrackingCalibratedOrigin(); + } + + private static class OVRP_1_3_0 + { + public static readonly System.Version version = new System.Version(1, 3, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetEyeOcclusionMeshEnabled(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetEyeOcclusionMeshEnabled(Bool value); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetSystemHeadphonesPresent(); + } + + private static class OVRP_1_5_0 + { + public static readonly System.Version version = new System.Version(1, 5, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern SystemRegion ovrp_GetSystemRegion(); + } + + private static class OVRP_1_6_0 + { + public static readonly System.Version version = new System.Version(1, 6, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetTrackingIPDEnabled(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetTrackingIPDEnabled(Bool value); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern HapticsDesc ovrp_GetControllerHapticsDesc(uint controllerMask); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern HapticsState ovrp_GetControllerHapticsState(uint controllerMask); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetControllerHaptics(uint controllerMask, HapticsBuffer hapticsBuffer); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetOverlayQuad3(uint flags, IntPtr textureLeft, IntPtr textureRight, IntPtr device, Posef pose, Vector3f scale, int layerIndex); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern float ovrp_GetEyeRecommendedResolutionScale(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern float ovrp_GetAppCpuStartToGpuEndTime(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern int ovrp_GetSystemRecommendedMSAALevel(); + } + + private static class OVRP_1_7_0 + { + public static readonly System.Version version = new System.Version(1, 7, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetAppChromaticCorrection(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetAppChromaticCorrection(Bool value); + } + + private static class OVRP_1_8_0 + { + public static readonly System.Version version = new System.Version(1, 8, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetBoundaryConfigured(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern BoundaryTestResult ovrp_TestBoundaryNode(Node nodeId, BoundaryType boundaryType); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern BoundaryTestResult ovrp_TestBoundaryPoint(Vector3f point, BoundaryType boundaryType); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetBoundaryLookAndFeel(BoundaryLookAndFeel lookAndFeel); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_ResetBoundaryLookAndFeel(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern BoundaryGeometry ovrp_GetBoundaryGeometry(BoundaryType boundaryType); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Vector3f ovrp_GetBoundaryDimensions(BoundaryType boundaryType); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetBoundaryVisible(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetBoundaryVisible(Bool value); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_Update2(int stateId, int frameIndex, double predictionSeconds); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Posef ovrp_GetNodePose2(int stateId, Node nodeId); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Posef ovrp_GetNodeVelocity2(int stateId, Node nodeId); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Posef ovrp_GetNodeAcceleration2(int stateId, Node nodeId); + } + + private static class OVRP_1_9_0 + { + public static readonly System.Version version = new System.Version(1, 9, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern SystemHeadset ovrp_GetSystemHeadsetType(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Controller ovrp_GetActiveController(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Controller ovrp_GetConnectedControllers(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetBoundaryGeometry2(BoundaryType boundaryType, IntPtr points, ref int pointsCount); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern AppPerfStats ovrp_GetAppPerfStats(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_ResetAppPerfStats(); + } + + private static class OVRP_1_10_0 + { + public static readonly System.Version version = new System.Version(1, 10, 0); + } + + private static class OVRP_1_11_0 + { + public static readonly System.Version version = new System.Version(1, 11, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_SetDesiredEyeTextureFormat(EyeTextureFormat value); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern EyeTextureFormat ovrp_GetDesiredEyeTextureFormat(); + } + + private static class OVRP_1_12_0 + { + public static readonly System.Version version = new System.Version(1, 12, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern float ovrp_GetAppFramerate(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern PoseStatef ovrp_GetNodePoseState(Step stepId, Node nodeId); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern ControllerState2 ovrp_GetControllerState2(uint controllerMask); + } + + private static class OVRP_1_15_0 + { + public const int OVRP_EXTERNAL_CAMERA_NAME_SIZE = 32; + + public static readonly System.Version version = new System.Version(1, 15, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_InitializeMixedReality(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_ShutdownMixedReality(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetMixedRealityInitialized(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_UpdateExternalCamera(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetExternalCameraCount(out int cameraCount); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetExternalCameraName(int cameraId, [MarshalAs(UnmanagedType.LPArray, SizeConst = OVRP_EXTERNAL_CAMERA_NAME_SIZE)] char[] cameraName); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetExternalCameraIntrinsics(int cameraId, out CameraIntrinsics cameraIntrinsics); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetExternalCameraExtrinsics(int cameraId, out CameraExtrinsics cameraExtrinsics); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_CalculateLayerDesc(OverlayShape shape, LayerLayout layout, ref Sizei textureSize, + int mipLevels, int sampleCount, EyeTextureFormat format, int layerFlags, ref LayerDesc layerDesc); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_EnqueueSetupLayer(ref LayerDesc desc, IntPtr layerId); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_EnqueueDestroyLayer(IntPtr layerId); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetLayerTextureStageCount(int layerId, ref int layerTextureStageCount); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetLayerTexturePtr(int layerId, int stage, Eye eyeId, ref IntPtr textureHandle); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_EnqueueSubmitLayer(uint flags, IntPtr textureLeft, IntPtr textureRight, int layerId, int frameIndex, ref Posef pose, ref Vector3f scale, int layerIndex); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetNodeFrustum2(Node nodeId, out Frustumf2 nodeFrustum); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_GetEyeTextureArrayEnabled(); + } + + private static class OVRP_1_16_0 + { + public static readonly System.Version version = new System.Version(1, 16, 0); + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_UpdateCameraDevices(); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_IsCameraDeviceAvailable(CameraDevice cameraDevice); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_SetCameraDevicePreferredColorFrameSize(CameraDevice cameraDevice, Sizei preferredColorFrameSize); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_OpenCameraDevice(CameraDevice cameraDevice); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_CloseCameraDevice(CameraDevice cameraDevice); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_HasCameraDeviceOpened(CameraDevice cameraDevice); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Bool ovrp_IsCameraDeviceColorFrameAvailable(CameraDevice cameraDevice); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetCameraDeviceColorFrameSize(CameraDevice cameraDevice, out Sizei colorFrameSize); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetCameraDeviceColorFrameBgraPixels(CameraDevice cameraDevice, out IntPtr colorFrameBgraPixels, out int colorFrameRowPitch); +#endif + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetControllerState4(uint controllerMask, ref ControllerState4 controllerState); + } + + private static class OVRP_1_17_0 + { + public static readonly System.Version version = new System.Version(1, 17, 0); + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetExternalCameraPose(CameraDevice camera, out Posef cameraPose); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_ConvertPoseToCameraSpace(CameraDevice camera, ref Posef trackingSpacePose, out Posef cameraSpacePose); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetCameraDeviceIntrinsicsParameters(CameraDevice camera, out Bool supportIntrinsics, out CameraDeviceIntrinsicsParameters intrinsicsParameters); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_DoesCameraDeviceSupportDepth(CameraDevice camera, out Bool supportDepth); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetCameraDeviceDepthSensingMode(CameraDevice camera, out CameraDeviceDepthSensingMode depthSensoringMode); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_SetCameraDeviceDepthSensingMode(CameraDevice camera, CameraDeviceDepthSensingMode depthSensoringMode); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetCameraDevicePreferredDepthQuality(CameraDevice camera, out CameraDeviceDepthQuality depthQuality); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_SetCameraDevicePreferredDepthQuality(CameraDevice camera, CameraDeviceDepthQuality depthQuality); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_IsCameraDeviceDepthFrameAvailable(CameraDevice camera, out Bool available); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetCameraDeviceDepthFrameSize(CameraDevice camera, out Sizei depthFrameSize); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetCameraDeviceDepthFramePixels(CameraDevice cameraDevice, out IntPtr depthFramePixels, out int depthFrameRowPitch); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetCameraDeviceDepthConfidencePixels(CameraDevice cameraDevice, out IntPtr depthConfidencePixels, out int depthConfidenceRowPitch); +#endif + } + + private static class OVRP_1_18_0 + { + public static readonly System.Version version = new System.Version(1, 18, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_SetHandNodePoseStateLatency(double latencyInSeconds); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetHandNodePoseStateLatency(out double latencyInSeconds); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetAppHasInputFocus(out Bool appHasInputFocus); + } + + private static class OVRP_1_19_0 + { + public static readonly System.Version version = new System.Version(1, 19, 0); + } + + private static class OVRP_1_21_0 + { + public static readonly System.Version version = new System.Version(1, 21, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetTiledMultiResSupported(out Bool foveationSupported); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetTiledMultiResLevel(out TiledMultiResLevel level); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_SetTiledMultiResLevel(TiledMultiResLevel level); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetGPUUtilSupported(out Bool gpuUtilSupported); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetGPUUtilLevel(out float gpuUtil); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetSystemDisplayFrequency2(out float systemDisplayFrequency); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetSystemDisplayAvailableFrequencies(IntPtr systemDisplayAvailableFrequencies, out int numFrequencies); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_SetSystemDisplayFrequency(float requestedFrequency); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetAppAsymmetricFov(out Bool useAsymmetricFov); + } + + private static class OVRP_1_28_0 + { + public static readonly System.Version version = new System.Version(1, 28, 0); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetDominantHand(out Handedness dominantHand); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_GetReorientHMDOnControllerRecenter(out Bool recenter); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_SetReorientHMDOnControllerRecenter(Bool recenter); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_SendEvent(string name, string param); + + [DllImport(pluginName, CallingConvention = CallingConvention.Cdecl)] + public static extern Result ovrp_EnqueueSetupLayer2(ref LayerDesc desc, int compositionDepth, IntPtr layerId); + } + +#endif // !OVRPLUGIN_UNSUPPORTED_PLATFORM + +} diff --git a/Assets/Oculus/VR/Scripts/OVRPlugin.cs.meta b/Assets/Oculus/VR/Scripts/OVRPlugin.cs.meta new file mode 100644 index 0000000..78331ef --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRPlugin.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 61abd23f3aff5394ba8027ee380760b8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/OVRProfile.cs b/Assets/Oculus/VR/Scripts/OVRProfile.cs new file mode 100644 index 0000000..cd4ad94 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRProfile.cs @@ -0,0 +1,55 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections; +using System.Threading; +using VR = UnityEngine.VR; + +/// +/// (Deprecated) Contains information about the user's preferences and body dimensions. +/// +public class OVRProfile : Object +{ + [System.Obsolete] + public enum State + { + NOT_TRIGGERED, + LOADING, + READY, + ERROR + }; + + [System.Obsolete] + public string id { get { return "000abc123def"; } } + [System.Obsolete] + public string userName { get { return "Oculus User"; } } + [System.Obsolete] + public string locale { get { return "en_US"; } } + + public float ipd { get { return Vector3.Distance (OVRPlugin.GetNodePose (OVRPlugin.Node.EyeLeft, OVRPlugin.Step.Render).ToOVRPose ().position, OVRPlugin.GetNodePose (OVRPlugin.Node.EyeRight, OVRPlugin.Step.Render).ToOVRPose ().position); } } + public float eyeHeight { get { return OVRPlugin.eyeHeight; } } + public float eyeDepth { get { return OVRPlugin.eyeDepth; } } + public float neckHeight { get { return eyeHeight - 0.075f; } } + + [System.Obsolete] + public State state { get { return State.READY; } } +} diff --git a/Assets/Oculus/VR/Scripts/OVRProfile.cs.meta b/Assets/Oculus/VR/Scripts/OVRProfile.cs.meta new file mode 100644 index 0000000..f965330 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRProfile.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 08539141953f28e439731aaf7cd5362f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/OVRTracker.cs b/Assets/Oculus/VR/Scripts/OVRTracker.cs new file mode 100644 index 0000000..c1ad0fe --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRTracker.cs @@ -0,0 +1,199 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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.Runtime.InteropServices; +using UnityEngine; +using VR = UnityEngine.VR; + +/// +/// An infrared camera that tracks the position of a head-mounted display. +/// +public class OVRTracker +{ + /// + /// The (symmetric) visible area in front of the sensor. + /// + public struct Frustum + { + /// + /// The sensor's minimum supported distance to the HMD. + /// + public float nearZ; + /// + /// The sensor's maximum supported distance to the HMD. + /// + public float farZ; + /// + /// The sensor's horizontal and vertical fields of view in degrees. + /// + public Vector2 fov; + } + + /// + /// If true, a sensor is attached to the system. + /// + public bool isPresent + { + get { + if (!OVRManager.isHmdPresent) + return false; + + return OVRPlugin.positionSupported; + } + } + + /// + /// If true, the sensor is actively tracking the HMD's position. Otherwise the HMD may be temporarily occluded, the system may not support position tracking, etc. + /// + public bool isPositionTracked + { + get { + return OVRPlugin.positionTracked; + } + } + + /// + /// If this is true and a sensor is available, the system will use position tracking when isPositionTracked is also true. + /// + public bool isEnabled + { + get { + if (!OVRManager.isHmdPresent) + return false; + + return OVRPlugin.position; + } + + set { + if (!OVRManager.isHmdPresent) + return; + + OVRPlugin.position = value; + } + } + + /// + /// Returns the number of sensors currently connected to the system. + /// + public int count + { + get { + int count = 0; + + for (int i = 0; i < (int)OVRPlugin.Tracker.Count; ++i) + { + if (GetPresent(i)) + count++; + } + + return count; + } + } + + /// + /// Gets the sensor's viewing frustum. + /// + public Frustum GetFrustum(int tracker = 0) + { + if (!OVRManager.isHmdPresent) + return new Frustum(); + + return OVRPlugin.GetTrackerFrustum((OVRPlugin.Tracker)tracker).ToFrustum(); + } + + /// + /// Gets the sensor's pose, relative to the head's pose at the time of the last pose recentering. + /// + public OVRPose GetPose(int tracker = 0) + { + if (!OVRManager.isHmdPresent) + return OVRPose.identity; + + OVRPose p; + switch (tracker) + { + case 0: + p = OVRPlugin.GetNodePose(OVRPlugin.Node.TrackerZero, OVRPlugin.Step.Render).ToOVRPose(); + break; + case 1: + p = OVRPlugin.GetNodePose(OVRPlugin.Node.TrackerOne, OVRPlugin.Step.Render).ToOVRPose(); + break; + case 2: + p = OVRPlugin.GetNodePose(OVRPlugin.Node.TrackerTwo, OVRPlugin.Step.Render).ToOVRPose(); + break; + case 3: + p = OVRPlugin.GetNodePose(OVRPlugin.Node.TrackerThree, OVRPlugin.Step.Render).ToOVRPose(); + break; + default: + return OVRPose.identity; + } + + return new OVRPose() + { + position = p.position, + orientation = p.orientation * Quaternion.Euler(0, 180, 0) + }; + } + + /// + /// If true, the pose of the sensor is valid and is ready to be queried. + /// + public bool GetPoseValid(int tracker = 0) + { + if (!OVRManager.isHmdPresent) + return false; + + switch (tracker) + { + case 0: + return OVRPlugin.GetNodePositionTracked(OVRPlugin.Node.TrackerZero); + case 1: + return OVRPlugin.GetNodePositionTracked(OVRPlugin.Node.TrackerOne); + case 2: + return OVRPlugin.GetNodePositionTracked(OVRPlugin.Node.TrackerTwo); + case 3: + return OVRPlugin.GetNodePositionTracked(OVRPlugin.Node.TrackerThree); + default: + return false; + } + } + + public bool GetPresent(int tracker = 0) + { + if (!OVRManager.isHmdPresent) + return false; + + switch (tracker) + { + case 0: + return OVRPlugin.GetNodePresent(OVRPlugin.Node.TrackerZero); + case 1: + return OVRPlugin.GetNodePresent(OVRPlugin.Node.TrackerOne); + case 2: + return OVRPlugin.GetNodePresent(OVRPlugin.Node.TrackerTwo); + case 3: + return OVRPlugin.GetNodePresent(OVRPlugin.Node.TrackerThree); + default: + return false; + } + } +} diff --git a/Assets/Oculus/VR/Scripts/OVRTracker.cs.meta b/Assets/Oculus/VR/Scripts/OVRTracker.cs.meta new file mode 100644 index 0000000..316ef06 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/OVRTracker.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7cb3c9d4cb0970e448c655096649e814 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util.meta b/Assets/Oculus/VR/Scripts/Util.meta new file mode 100644 index 0000000..f044ea9 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: c0c7a593695f68e4bbe0cabb0f4f93f2 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRChromaticAberration.cs b/Assets/Oculus/VR/Scripts/Util/OVRChromaticAberration.cs new file mode 100644 index 0000000..82c4cf0 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRChromaticAberration.cs @@ -0,0 +1,56 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; + +/// +/// Allows you to toggle chromatic aberration correction with a gamepad button press. +/// +public class OVRChromaticAberration : MonoBehaviour +{ + /// + /// The button that will toggle chromatic aberration correction. + /// + public OVRInput.RawButton toggleButton = OVRInput.RawButton.X; + + private bool chromatic = false; + + void Start () + { + // Enable/Disable Chromatic Aberration Correction. + // NOTE: Enabling Chromatic Aberration for mobile has a large performance cost. + OVRManager.instance.chromatic = chromatic; + } + + void Update() + { + // NOTE: some of the buttons defined in OVRInput.RawButton are not available on the Android game pad controller + if (OVRInput.GetDown(toggleButton)) + { + //************************* + // toggle chromatic aberration correction + //************************* + chromatic = !chromatic; + OVRManager.instance.chromatic = chromatic; + } + } + +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRChromaticAberration.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRChromaticAberration.cs.meta new file mode 100644 index 0000000..8371b9d --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRChromaticAberration.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b56515a831f2fb44bc7ae02679aeebc +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRCubemapCapture.cs b/Assets/Oculus/VR/Scripts/Util/OVRCubemapCapture.cs new file mode 100644 index 0000000..36fcf28 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRCubemapCapture.cs @@ -0,0 +1,268 @@ +using UnityEngine; +using System.Collections; +using System.IO; + +/// +/// Helper script for capture cubemap and save it into PNG or JPG file +/// + +/// +/// How it works: +/// 1) This script can be attached to a existing game object, you can also use prefab Assets\OVR\Prefabs\OVRCubemapCaptureProbe +/// There are 2 ways to trigger a capture if you attached this script to a game object. +/// * Automatic capturing: if [autoTriggerAfterLaunch] is true, a automatic capturing will be triggered after [autoTriggerDelay] seconds. +/// * Keyboard trigger: press key [triggeredByKey], a capturing will be triggered. +/// 2) If you like to trigger the screen capture in your code logic, just call static function [OVRCubemapCapture.TriggerCubemapCapture] with proper input arguments. +/// + +public class OVRCubemapCapture : MonoBehaviour +{ + /// + /// Enable the automatic screenshot trigger, which will capture a cubemap after autoTriggerDelay (seconds) + /// + public bool autoTriggerAfterLaunch = true; + public float autoTriggerDelay = 1.0f; + private float autoTriggerElapse = 0.0f; + + /// + /// Trigger cubemap screenshot if user pressed key triggeredByKey + /// + public KeyCode triggeredByKey = KeyCode.F8; + + /// + /// The complete file path for saving the cubemap screenshot, including the filename and extension + /// if pathName is blank, screenshots will be saved into %USERPROFILE%\Documents\OVR_ScreenShot360 + /// + public string pathName; + + /// + /// The cube face resolution + /// + public int cubemapSize = 2048; + + // Update is called once per frame + void Update() + { + // Trigger after autoTriggerDelay + if (autoTriggerAfterLaunch) + { + autoTriggerElapse += Time.deltaTime; + if (autoTriggerElapse >= autoTriggerDelay) + { + autoTriggerAfterLaunch = false; + TriggerCubemapCapture(transform.position, cubemapSize, pathName); + } + } + + // Trigger by press triggeredByKey + if ( Input.GetKeyDown( triggeredByKey ) ) + { + TriggerCubemapCapture(transform.position, cubemapSize, pathName); + } + } + + /// + /// Generate unity cubemap at specific location and save into JPG/PNG + /// + /// + /// Default save folder: your app's persistentDataPath + /// Default file name: using current time OVR_hh_mm_ss.png + /// Note1: this will take a few seconds to finish + /// Note2: if you only want to specify path not filename, please end [pathName] with "/" + /// + + public static void TriggerCubemapCapture(Vector3 capturePos, int cubemapSize = 2048, string pathName = null) + { + GameObject ownerObj = new GameObject("CubemapCamera", typeof(Camera)); + ownerObj.hideFlags = HideFlags.HideAndDontSave; + ownerObj.transform.position = capturePos; + ownerObj.transform.rotation = Quaternion.identity; + Camera camComponent = ownerObj.GetComponent(); + camComponent.farClipPlane = 10000.0f; + camComponent.enabled = false; + + Cubemap cubemap = new Cubemap(cubemapSize, TextureFormat.RGB24, false); + RenderIntoCubemap(camComponent, cubemap); + SaveCubemapCapture(cubemap, pathName); + DestroyImmediate(cubemap); + DestroyImmediate(ownerObj); + } + + + public static void RenderIntoCubemap(Camera ownerCamera, Cubemap outCubemap) + { + int width = (int)outCubemap.width; + int height = (int)outCubemap.height; + + CubemapFace[] faces = new CubemapFace[] { CubemapFace.PositiveX, CubemapFace.NegativeX, CubemapFace.PositiveY, CubemapFace.NegativeY, CubemapFace.PositiveZ, CubemapFace.NegativeZ }; + Vector3[] faceAngles = new Vector3[] { new Vector3(0.0f, 90.0f, 0.0f), new Vector3(0.0f, -90.0f, 0.0f), new Vector3(-90.0f, 0.0f, 0.0f), new Vector3(90.0f, 0.0f, 0.0f), new Vector3(0.0f, 0.0f, 0.0f), new Vector3(0.0f, 180.0f, 0.0f) }; + + // Backup states + RenderTexture backupRenderTex = RenderTexture.active; + float backupFieldOfView = ownerCamera.fieldOfView; + float backupAspect = ownerCamera.aspect; + Quaternion backupRot = ownerCamera.transform.rotation; + //RenderTexture backupRT = ownerCamera.targetTexture; + + // Enable 8X MSAA + RenderTexture faceTexture = new RenderTexture(width, height, 24); + faceTexture.antiAliasing = 8; + faceTexture.dimension = UnityEngine.Rendering.TextureDimension.Tex2D; + faceTexture.hideFlags = HideFlags.HideAndDontSave; + + // For intermediate saving + Texture2D swapTex = new Texture2D(width, height, TextureFormat.RGB24, false); + swapTex.hideFlags = HideFlags.HideAndDontSave; + + // Capture 6 Directions + ownerCamera.targetTexture = faceTexture; + ownerCamera.fieldOfView = 90; + ownerCamera.aspect = 1.0f; + + Color[] mirroredPixels = new Color[swapTex.height * swapTex.width]; + for (int i = 0; i < faces.Length; i++) + { + ownerCamera.transform.eulerAngles = faceAngles[i]; + ownerCamera.Render(); + RenderTexture.active = faceTexture; + swapTex.ReadPixels(new Rect(0, 0, width, height), 0, 0); + + // Mirror vertically to meet the standard of unity cubemap + Color[] OrignalPixels = swapTex.GetPixels(); + for (int y1 = 0; y1 < height; y1++) + { + for (int x1 = 0; x1 < width; x1++) + { + mirroredPixels[y1 * width + x1] = OrignalPixels[((height - 1 - y1) * width) + x1]; + } + }; + outCubemap.SetPixels(mirroredPixels, faces[i]); + } + + outCubemap.SmoothEdges(); + + // Restore states + RenderTexture.active = backupRenderTex; + ownerCamera.fieldOfView = backupFieldOfView; + ownerCamera.aspect = backupAspect; + ownerCamera.transform.rotation = backupRot; + ownerCamera.targetTexture = backupRenderTex; + + DestroyImmediate(swapTex); + DestroyImmediate(faceTexture); + + } + + + /// + /// Save unity cubemap into NPOT 6x1 cubemap/texture atlas in the following format PX NX PY NY PZ NZ + /// + /// + /// Supported format: PNG/JPG + /// Default file name: using current time OVR_hh_mm_ss.png + /// + + public static bool SaveCubemapCapture(Cubemap cubemap, string pathName = null) + { + string fileName; + string dirName; + int width = cubemap.width; + int height = cubemap.height; + int x = 0; + int y = 0; + bool saveToPNG = true; + + if (string.IsNullOrEmpty(pathName)) + { + dirName = Application.persistentDataPath + "/OVR_ScreenShot360/"; + fileName = null; + } + else + { + dirName = Path.GetDirectoryName(pathName); + fileName = Path.GetFileName(pathName); + + if (dirName[dirName.Length - 1] != '/' || dirName[dirName.Length - 1] != '\\') + dirName += "/"; + } + + if (string.IsNullOrEmpty(fileName)) + fileName = "OVR_" + System.DateTime.Now.ToString("hh_mm_ss") + ".png"; + + string extName = Path.GetExtension(fileName); + if (extName == ".png") + { + saveToPNG = true; + } + else if (extName == ".jpg") + { + saveToPNG = false; + } + else + { + Debug.LogError("Unsupported file format" + extName); + return false; + } + + // Validate path + try + { + System.IO.Directory.CreateDirectory(dirName); + } + catch (System.Exception e) + { + Debug.LogError("Failed to create path " + dirName + " since " + e.ToString()); + return false; + } + + + // Create the new texture + Texture2D tex = new Texture2D(width * 6, height, TextureFormat.RGB24, false); + if (tex == null) + { + Debug.LogError("[OVRScreenshotWizard] Failed creating the texture!"); + return false; + } + + // Merge all the cubemap faces into the texture + // Reference cubemap format: http://docs.unity3d.com/Manual/class-Cubemap.html + CubemapFace[] faces = new CubemapFace[] { CubemapFace.PositiveX, CubemapFace.NegativeX, CubemapFace.PositiveY, CubemapFace.NegativeY, CubemapFace.PositiveZ, CubemapFace.NegativeZ }; + for (int i = 0; i < faces.Length; i++) + { + // get the pixels from the cubemap + Color[] srcPixels = null; + Color[] pixels = cubemap.GetPixels(faces[i]); + // if desired, flip them as they are ordered left to right, bottom to top + srcPixels = new Color[pixels.Length]; + for (int y1 = 0; y1 < height; y1++) + { + for (int x1 = 0; x1 < width; x1++) + { + srcPixels[y1 * width + x1] = pixels[((height - 1 - y1) * width) + x1]; + } + } + // Copy them to the dest texture + tex.SetPixels(x, y, width, height, srcPixels); + x += width; + } + + try + { + // Encode the texture and save it to disk + byte[] bytes = saveToPNG ? tex.EncodeToPNG() : tex.EncodeToJPG(); + + System.IO.File.WriteAllBytes(dirName + fileName, bytes); + Debug.Log("Cubemap file created " + dirName + fileName); + } + catch (System.Exception e) + { + Debug.LogError("Failed to save cubemap file since " + e.ToString()); + return false; + } + + DestroyImmediate(tex); + return true; + } + +} + diff --git a/Assets/Oculus/VR/Scripts/Util/OVRCubemapCapture.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRCubemapCapture.cs.meta new file mode 100644 index 0000000..5150e69 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRCubemapCapture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7a489178b0acf0147846b3873447beaf +timeCreated: 1464728890 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRDebugInfo.cs b/Assets/Oculus/VR/Scripts/Util/OVRDebugInfo.cs new file mode 100644 index 0000000..2124458 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRDebugInfo.cs @@ -0,0 +1,438 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections; +using UnityEngine.UI; + +//------------------------------------------------------------------------------------- +/// +/// Shows debug information on a heads-up display. +/// +public class OVRDebugInfo : MonoBehaviour +{ + #region GameObjects for Debug Information UIs + GameObject debugUIManager; + GameObject debugUIObject; + GameObject riftPresent; + GameObject fps; + GameObject ipd; + GameObject fov; + GameObject height; + GameObject depth; + GameObject resolutionEyeTexture; + GameObject latencies; + GameObject texts; + #endregion + + #region Debug strings + string strRiftPresent = null; // "VR DISABLED" + string strFPS = null; // "FPS: 0"; + string strIPD = null; // "IPD: 0.000"; + string strFOV = null; // "FOV: 0.0f"; + string strHeight = null; // "Height: 0.0f"; + string strDepth = null; // "Depth: 0.0f"; + string strResolutionEyeTexture = null; // "Resolution : {0} x {1}" + string strLatencies = null; // "R: {0:F3} TW: {1:F3} PP: {2:F3} RE: {3:F3} TWE: {4:F3}" + #endregion + + /// + /// Variables for FPS + /// + float updateInterval = 0.5f; + float accum = 0.0f; + int frames = 0; + float timeLeft = 0.0f; + + /// + /// Managing for UI initialization + /// + bool initUIComponent = false; + bool isInited = false; + + /// + /// UIs Y offset + /// + float offsetY = 55.0f; + + /// + /// Managing for rift detection UI + /// + float riftPresentTimeout = 0.0f; + + /// + /// Turn on / off VR variables + /// + bool showVRVars = false; + + #region MonoBehaviour handler + + /// + /// Initialization + /// + void Awake() + { + // Create canvas for using new GUI + debugUIManager = new GameObject(); + debugUIManager.name = "DebugUIManager"; + debugUIManager.transform.parent = GameObject.Find("LeftEyeAnchor").transform; + + RectTransform rectTransform = debugUIManager.AddComponent(); + rectTransform.sizeDelta = new Vector2(100f, 100f); + rectTransform.localScale = new Vector3(0.001f, 0.001f, 0.001f); + rectTransform.localPosition = new Vector3(0.01f, 0.17f, 0.53f); + rectTransform.localEulerAngles = Vector3.zero; + + Canvas canvas = debugUIManager.AddComponent(); + canvas.renderMode = RenderMode.WorldSpace; + canvas.pixelPerfect = false; + } + + /// + /// Updating VR variables and managing UI present + /// + void Update() + { + if (initUIComponent && !isInited) + { + InitUIComponents(); + } + + if (Input.GetKeyDown(KeyCode.Space) && riftPresentTimeout < 0.0f) + { + initUIComponent = true; + showVRVars ^= true; + } + + UpdateDeviceDetection(); + + // Presenting VR variables + if (showVRVars) + { + debugUIManager.SetActive(true); + UpdateVariable(); + UpdateStrings(); + } + else + { + debugUIManager.SetActive(false); + } + } + + /// + /// Initialize isInited value on OnDestroy + /// + void OnDestroy() + { + isInited = false; + } + #endregion + + #region Private Functions + /// + /// Initialize UI GameObjects + /// + void InitUIComponents() + { + float posY = 0.0f; + int fontSize = 20; + + debugUIObject = new GameObject(); + debugUIObject.name = "DebugInfo"; + debugUIObject.transform.parent = GameObject.Find("DebugUIManager").transform; + debugUIObject.transform.localPosition = new Vector3(0.0f, 100.0f, 0.0f); + debugUIObject.transform.localEulerAngles = Vector3.zero; + debugUIObject.transform.localScale = new Vector3(1.0f, 1.0f, 1.0f); + + // Print out for FPS + if (!string.IsNullOrEmpty(strFPS)) + { + fps = VariableObjectManager(fps, "FPS", posY -= offsetY, strFPS, fontSize); + } + + // Print out for IPD + if (!string.IsNullOrEmpty(strIPD)) + { + ipd = VariableObjectManager(ipd, "IPD", posY -= offsetY, strIPD, fontSize); + } + + // Print out for FOV + if (!string.IsNullOrEmpty(strFOV)) + { + fov = VariableObjectManager(fov, "FOV", posY -= offsetY, strFOV, fontSize); + } + + // Print out for Height + if (!string.IsNullOrEmpty(strHeight)) + { + height = VariableObjectManager(height, "Height", posY -= offsetY, strHeight, fontSize); + } + + // Print out for Depth + if (!string.IsNullOrEmpty(strDepth)) + { + depth = VariableObjectManager(depth, "Depth", posY -= offsetY, strDepth, fontSize); + } + + // Print out for Resoulution of Eye Texture + if (!string.IsNullOrEmpty(strResolutionEyeTexture)) + { + resolutionEyeTexture = VariableObjectManager(resolutionEyeTexture, "Resolution", posY -= offsetY, strResolutionEyeTexture, fontSize); + } + + // Print out for Latency + if (!string.IsNullOrEmpty(strLatencies)) + { + latencies = VariableObjectManager(latencies, "Latency", posY -= offsetY, strLatencies, 17); + posY = 0.0f; + } + + initUIComponent = false; + isInited = true; + + } + + /// + /// Update VR Variables + /// + void UpdateVariable() + { + UpdateIPD(); + UpdateEyeHeightOffset(); + UpdateEyeDepthOffset(); + UpdateFOV(); + UpdateResolutionEyeTexture(); + UpdateLatencyValues(); + UpdateFPS(); + } + + /// + /// Update Strings + /// + void UpdateStrings() + { + if (debugUIObject == null) + return; + + if (!string.IsNullOrEmpty(strFPS)) + fps.GetComponentInChildren().text = strFPS; + if (!string.IsNullOrEmpty(strIPD)) + ipd.GetComponentInChildren().text = strIPD; + if (!string.IsNullOrEmpty(strFOV)) + fov.GetComponentInChildren().text = strFOV; + if (!string.IsNullOrEmpty(strResolutionEyeTexture)) + resolutionEyeTexture.GetComponentInChildren().text = strResolutionEyeTexture; + if (!string.IsNullOrEmpty(strLatencies)) + { + latencies.GetComponentInChildren().text = strLatencies; + latencies.GetComponentInChildren().fontSize = 14; + } + if (!string.IsNullOrEmpty(strHeight)) + height.GetComponentInChildren().text = strHeight; + if (!string.IsNullOrEmpty(strDepth)) + depth.GetComponentInChildren().text = strDepth; + } + + /// + /// It's for rift present GUI + /// + void RiftPresentGUI(GameObject guiMainOBj) + { + riftPresent = ComponentComposition(riftPresent); + riftPresent.transform.SetParent(guiMainOBj.transform); + riftPresent.name = "RiftPresent"; + RectTransform rectTransform = riftPresent.GetComponent(); + rectTransform.localPosition = new Vector3(0.0f, 0.0f, 0.0f); + rectTransform.localScale = new Vector3(1.0f, 1.0f, 1.0f); + rectTransform.localEulerAngles = Vector3.zero; + + Text text = riftPresent.GetComponentInChildren(); + text.text = strRiftPresent; + text.fontSize = 20; + } + + /// + /// Updates the device detection. + /// + void UpdateDeviceDetection() + { + if (riftPresentTimeout >= 0.0f) + { + riftPresentTimeout -= Time.deltaTime; + } + } + + /// + /// Object Manager for Variables + /// + /// gameobject for each Variable + GameObject VariableObjectManager(GameObject gameObject, string name, float posY, string str, int fontSize) + { + gameObject = ComponentComposition(gameObject); + gameObject.name = name; + gameObject.transform.SetParent(debugUIObject.transform); + + RectTransform rectTransform = gameObject.GetComponent(); + rectTransform.localPosition = new Vector3(0.0f, posY -= offsetY, 0.0f); + + Text text = gameObject.GetComponentInChildren(); + text.text = str; + text.fontSize = fontSize; + gameObject.transform.localEulerAngles = Vector3.zero; + + rectTransform.localScale = new Vector3(1.0f, 1.0f, 1.0f); + + return gameObject; + } + + /// + /// Component composition + /// + /// Composed gameobject. + GameObject ComponentComposition(GameObject GO) + { + GO = new GameObject(); + GO.AddComponent(); + GO.AddComponent(); + GO.AddComponent(); + GO.GetComponent().sizeDelta = new Vector2(350f, 50f); + GO.GetComponent().color = new Color(7f / 255f, 45f / 255f, 71f / 255f, 200f / 255f); + + texts = new GameObject(); + texts.AddComponent(); + texts.AddComponent(); + texts.AddComponent(); + texts.GetComponent().sizeDelta = new Vector2(350f, 50f); + texts.GetComponent().font = Resources.GetBuiltinResource(typeof(Font), "Arial.ttf") as Font; + texts.GetComponent().alignment = TextAnchor.MiddleCenter; + + texts.transform.SetParent(GO.transform); + texts.name = "TextBox"; + + return GO; + } + #endregion + + #region Debugging variables handler + /// + /// Updates the IPD. + /// + void UpdateIPD() + { + strIPD = System.String.Format("IPD (mm): {0:F4}", OVRManager.profile.ipd * 1000.0f); + } + + /// + /// Updates the eye height offset. + /// + void UpdateEyeHeightOffset() + { + float eyeHeight = OVRManager.profile.eyeHeight; + strHeight = System.String.Format("Eye Height (m): {0:F3}", eyeHeight); + } + + /// + /// Updates the eye depth offset. + /// + void UpdateEyeDepthOffset() + { + float eyeDepth = OVRManager.profile.eyeDepth; + strDepth = System.String.Format("Eye Depth (m): {0:F3}", eyeDepth); + } + + /// + /// Updates the FOV. + /// + void UpdateFOV() + { +#if UNITY_2017_2_OR_NEWER + OVRDisplay.EyeRenderDesc eyeDesc = OVRManager.display.GetEyeRenderDesc(UnityEngine.XR.XRNode.LeftEye); +#else + OVRDisplay.EyeRenderDesc eyeDesc = OVRManager.display.GetEyeRenderDesc(UnityEngine.VR.VRNode.LeftEye); +#endif + strFOV = System.String.Format("FOV (deg): {0:F3}", eyeDesc.fov.y); + } + + /// + /// Updates resolution of eye texture + /// + void UpdateResolutionEyeTexture() + { +#if UNITY_2017_2_OR_NEWER + OVRDisplay.EyeRenderDesc leftEyeDesc = OVRManager.display.GetEyeRenderDesc(UnityEngine.XR.XRNode.LeftEye); + OVRDisplay.EyeRenderDesc rightEyeDesc = OVRManager.display.GetEyeRenderDesc(UnityEngine.XR.XRNode.RightEye); + + float scale = UnityEngine.XR.XRSettings.renderViewportScale; +#else + OVRDisplay.EyeRenderDesc leftEyeDesc = OVRManager.display.GetEyeRenderDesc(UnityEngine.VR.VRNode.LeftEye); + OVRDisplay.EyeRenderDesc rightEyeDesc = OVRManager.display.GetEyeRenderDesc(UnityEngine.VR.VRNode.RightEye); + + float scale = UnityEngine.VR.VRSettings.renderViewportScale; +#endif + float w = (int)(scale * (float)(leftEyeDesc.resolution.x + rightEyeDesc.resolution.x)); + float h = (int)(scale * (float)Mathf.Max(leftEyeDesc.resolution.y, rightEyeDesc.resolution.y)); + + strResolutionEyeTexture = System.String.Format("Resolution : {0} x {1}", w, h); + } + + /// + /// Updates latency values + /// + void UpdateLatencyValues() + { +#if !UNITY_ANDROID || UNITY_EDITOR + OVRDisplay.LatencyData latency = OVRManager.display.latency; + if (latency.render < 0.000001f && latency.timeWarp < 0.000001f && latency.postPresent < 0.000001f) + strLatencies = System.String.Format("Latency values are not available."); + else + strLatencies = System.String.Format("Render: {0:F3} TimeWarp: {1:F3} Post-Present: {2:F3}\nRender Error: {3:F3} TimeWarp Error: {4:F3}", + latency.render, + latency.timeWarp, + latency.postPresent, + latency.renderError, + latency.timeWarpError); +#endif + } + + /// + /// Updates the FPS. + /// + void UpdateFPS() + { + timeLeft -= Time.unscaledDeltaTime; + accum += Time.unscaledDeltaTime; + ++frames; + + // Interval ended - update GUI text and start new interval + if (timeLeft <= 0.0) + { + // display two fractional digits (f2 format) + float fps = frames / accum; + + strFPS = System.String.Format("FPS: {0:F2}", fps); + + timeLeft += updateInterval; + accum = 0.0f; + frames = 0; + } + } + #endregion +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRDebugInfo.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRDebugInfo.cs.meta new file mode 100644 index 0000000..329e6bd --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRDebugInfo.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b71d1996d67004241a3b69960856ffcb +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRGazePointer.cs b/Assets/Oculus/VR/Scripts/Util/OVRGazePointer.cs new file mode 100644 index 0000000..13c1829 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRGazePointer.cs @@ -0,0 +1,289 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +/// +/// UI pointer driven by gaze input. +/// +public class OVRGazePointer : MonoBehaviour { + private Transform gazeIcon; //the transform that rotates according to our movement + + [Tooltip("Should the pointer be hidden when not over interactive objects.")] + public bool hideByDefault = true; + + [Tooltip("Time after leaving interactive object before pointer fades.")] + public float showTimeoutPeriod = 1; + + [Tooltip("Time after mouse pointer becoming inactive before pointer unfades.")] + public float hideTimeoutPeriod = 0.1f; + + [Tooltip("Keep a faint version of the pointer visible while using a mouse")] + public bool dimOnHideRequest = true; + + [Tooltip("Angular scale of pointer")] + public float depthScaleMultiplier = 0.03f; + + /// + /// The gaze ray. + /// + public Transform rayTransform; + + /// + /// Is gaze pointer current visible + /// + public bool hidden { get; private set; } + + /// + /// Current scale applied to pointer + /// + public float currentScale { get; private set; } + + /// + /// Current depth of pointer from camera + /// + private float depth; + private float hideUntilTime; + /// + /// How many times position has been set this frame. Used to detect when there are no position sets in a frame. + /// + private int positionSetsThisFrame = 0; + /// + /// Last time code requested the pointer be shown. Usually when pointer passes over interactive elements. + /// + private float lastShowRequestTime; + /// + /// Last time pointer was requested to be hidden. Usually mouse pointer activity. + /// + private float lastHideRequestTime; + + [Tooltip("Radius of the cursor. Used for preventing geometry intersections.")] + public float cursorRadius = 1f; + + // Optionally present GUI element displaying progress when using gaze-to-select mechanics + private OVRProgressIndicator progressIndicator; + + private static OVRGazePointer _instance; + public static OVRGazePointer instance + { + // If there's no GazePointer already in the scene, instanciate one now. + get + { + if (_instance == null) + { + Debug.Log(string.Format("Instanciating GazePointer", 0)); + _instance = (OVRGazePointer)GameObject.Instantiate((OVRGazePointer)Resources.Load("Prefabs/GazePointerRing", typeof(OVRGazePointer))); + } + return _instance; + } + + } + + + /// + /// Used to determine alpha level of gaze cursor. Could also be used to determine cursor size, for example, as the cursor fades out. + /// + public float visibilityStrength + { + get + { + // It's possible there are reasons to show the cursor - such as it hovering over some UI - and reasons to hide + // the cursor - such as another input method (e.g. mouse) being used. We take both of these in to account. + + + float strengthFromShowRequest; + if (hideByDefault) + { + // fade the cursor out with time + strengthFromShowRequest = Mathf.Clamp01(1 - (Time.time - lastShowRequestTime) / showTimeoutPeriod); + } + else + { + // keep it fully visible + strengthFromShowRequest = 1; + } + + // Now consider factors requesting pointer to be hidden + float strengthFromHideRequest; + + strengthFromHideRequest = (lastHideRequestTime + hideTimeoutPeriod > Time.time) ? (dimOnHideRequest ? 0.1f : 0) : 1; + + + // Hide requests take priority + return Mathf.Min(strengthFromShowRequest, strengthFromHideRequest); + } + } + + public float SelectionProgress + { + get + { + return progressIndicator ? progressIndicator.currentProgress : 0; + } + set + { + if (progressIndicator) + progressIndicator.currentProgress = value; + } + } + + public void Awake() + { + currentScale = 1; + // Only allow one instance at runtime. + if (_instance != null && _instance != this) + { + enabled = false; + DestroyImmediate(this); + return; + } + + _instance = this; + + gazeIcon = transform.Find("GazeIcon"); + progressIndicator = transform.GetComponent(); + } + + void Update () + { + if (rayTransform == null && Camera.main != null) + rayTransform = Camera.main.transform; + + // Move the gaze cursor to keep it in the middle of the view + transform.position = rayTransform.position + rayTransform.forward * depth; + + // Should we show or hide the gaze cursor? + if (visibilityStrength == 0 && !hidden) + { + Hide(); + } + else if (visibilityStrength > 0 && hidden) + { + Show(); + } + } + + /// + /// Set position and orientation of pointer + /// + /// + /// + public void SetPosition(Vector3 pos, Vector3 normal) + { + transform.position = pos; + + // Set the rotation to match the normal of the surface it's on. + Quaternion newRot = transform.rotation; + newRot.SetLookRotation(normal, rayTransform.up); + transform.rotation = newRot; + + // record depth so that distance doesn't pop when pointer leaves an object + depth = (rayTransform.position - pos).magnitude; + + //set scale based on depth + currentScale = depth * depthScaleMultiplier; + transform.localScale = new Vector3(currentScale, currentScale, currentScale); + + positionSetsThisFrame++; + } + + /// + /// SetPosition overload without normal. Just makes cursor face user + /// + /// + public void SetPosition(Vector3 pos) + { + SetPosition(pos, rayTransform.forward); + } + + public float GetCurrentRadius() + { + return cursorRadius * currentScale; + } + + void LateUpdate() + { + // This happens after all Updates so we know that if positionSetsThisFrame is zero then nothing set the position this frame + if (positionSetsThisFrame == 0) + { + // No geometry intersections, so gazing into space. Make the cursor face directly at the camera + Quaternion newRot = transform.rotation; + newRot.SetLookRotation(rayTransform.forward, rayTransform.up); + transform.rotation = newRot; + } + + Quaternion iconRotation = gazeIcon.rotation; + iconRotation.SetLookRotation(transform.rotation * new Vector3(0, 0, 1)); + gazeIcon.rotation = iconRotation; + + positionSetsThisFrame = 0; + } + + /// + /// Request the pointer be hidden + /// + public void RequestHide() + { + if (!dimOnHideRequest) + { + Hide(); + } + lastHideRequestTime = Time.time; + } + + /// + /// Request the pointer be shown. Hide requests take priority + /// + public void RequestShow() + { + Show(); + lastShowRequestTime = Time.time; + } + + + // Disable/Enable child elements when we show/hide the cursor. For performance reasons. + void Hide() + { + foreach (Transform child in transform) + { + child.gameObject.SetActive(false); + } + if (GetComponent()) + GetComponent().enabled = false; + hidden = true; + } + + void Show() + { + foreach (Transform child in transform) + { + child.gameObject.SetActive(true); + } + if (GetComponent()) + GetComponent().enabled = true; + hidden = false; + } + +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRGazePointer.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRGazePointer.cs.meta new file mode 100644 index 0000000..ef0ba4f --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRGazePointer.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 30530ad0e40d0a64ea26d753ee4996ea +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRGearVrControllerTest.cs b/Assets/Oculus/VR/Scripts/Util/OVRGearVrControllerTest.cs new file mode 100644 index 0000000..ee9e066 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRGearVrControllerTest.cs @@ -0,0 +1,217 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using UnityEngine.UI; +using System.Collections; +using System.Collections.Generic; +using System.Text; + +public class OVRGearVrControllerTest : MonoBehaviour +{ + public class BoolMonitor + { + public delegate bool BoolGenerator(); + + private string m_name = ""; + private BoolGenerator m_generator; + private bool m_prevValue = false; + private bool m_currentValue = false; + private bool m_currentValueRecentlyChanged = false; + private float m_displayTimeout = 0.0f; + private float m_displayTimer = 0.0f; + + public BoolMonitor(string name, BoolGenerator generator, float displayTimeout = 0.5f) + { + m_name = name; + m_generator = generator; + m_displayTimeout = displayTimeout; + } + + public void Update() + { + m_prevValue = m_currentValue; + m_currentValue = m_generator(); + + if (m_currentValue != m_prevValue) + { + m_currentValueRecentlyChanged = true; + m_displayTimer = m_displayTimeout; + } + + if (m_displayTimer > 0.0f) + { + m_displayTimer -= Time.deltaTime; + + if (m_displayTimer <= 0.0f) + { + m_currentValueRecentlyChanged = false; + m_displayTimer = 0.0f; + } + } + } + + public void AppendToStringBuilder(ref StringBuilder sb) + { + sb.Append(m_name); + + if (m_currentValue && m_currentValueRecentlyChanged) + sb.Append(": *True*\n"); + else if (m_currentValue) + sb.Append(": True \n"); + else if (!m_currentValue && m_currentValueRecentlyChanged) + sb.Append(": *False*\n"); + else if (!m_currentValue) + sb.Append(": False \n"); + } + } + + public Text uiText; + private List monitors; + private StringBuilder data; + + void Start() + { + if (uiText != null) + { + uiText.supportRichText = false; + } + + data = new StringBuilder(2048); + + monitors = new List() + { + // virtual + new BoolMonitor("WasRecentered", () => OVRInput.GetControllerWasRecentered()), + new BoolMonitor("One", () => OVRInput.Get(OVRInput.Button.One)), + new BoolMonitor("OneDown", () => OVRInput.GetDown(OVRInput.Button.One)), + new BoolMonitor("OneUp", () => OVRInput.GetUp(OVRInput.Button.One)), + new BoolMonitor("One (Touch)", () => OVRInput.Get(OVRInput.Touch.One)), + new BoolMonitor("OneDown (Touch)", () => OVRInput.GetDown(OVRInput.Touch.One)), + new BoolMonitor("OneUp (Touch)", () => OVRInput.GetUp(OVRInput.Touch.One)), + new BoolMonitor("Two", () => OVRInput.Get(OVRInput.Button.Two)), + new BoolMonitor("TwoDown", () => OVRInput.GetDown(OVRInput.Button.Two)), + new BoolMonitor("TwoUp", () => OVRInput.GetUp(OVRInput.Button.Two)), + new BoolMonitor("PrimaryIndexTrigger", () => OVRInput.Get(OVRInput.Button.PrimaryIndexTrigger)), + new BoolMonitor("PrimaryIndexTriggerDown", () => OVRInput.GetDown(OVRInput.Button.PrimaryIndexTrigger)), + new BoolMonitor("PrimaryIndexTriggerUp", () => OVRInput.GetUp(OVRInput.Button.PrimaryIndexTrigger)), + new BoolMonitor("PrimaryIndexTrigger (Touch)", () => OVRInput.Get(OVRInput.Touch.PrimaryIndexTrigger)), + new BoolMonitor("PrimaryIndexTriggerDown (Touch)", () => OVRInput.GetDown(OVRInput.Touch.PrimaryIndexTrigger)), + new BoolMonitor("PrimaryIndexTriggerUp (Touch)", () => OVRInput.GetUp(OVRInput.Touch.PrimaryIndexTrigger)), + new BoolMonitor("PrimaryHandTrigger", () => OVRInput.Get(OVRInput.Button.PrimaryHandTrigger)), + new BoolMonitor("PrimaryHandTriggerDown", () => OVRInput.GetDown(OVRInput.Button.PrimaryHandTrigger)), + new BoolMonitor("PrimaryHandTriggerUp", () => OVRInput.GetUp(OVRInput.Button.PrimaryHandTrigger)), + new BoolMonitor("Up", () => OVRInput.Get(OVRInput.Button.Up)), + new BoolMonitor("Down", () => OVRInput.Get(OVRInput.Button.Down)), + new BoolMonitor("Left", () => OVRInput.Get(OVRInput.Button.Left)), + new BoolMonitor("Right", () => OVRInput.Get(OVRInput.Button.Right)), + new BoolMonitor("Touchpad (Click)", () => OVRInput.Get(OVRInput.Button.PrimaryTouchpad)), + new BoolMonitor("TouchpadDown (Click)", () => OVRInput.GetDown(OVRInput.Button.PrimaryTouchpad)), + new BoolMonitor("TouchpadUp (Click)", () => OVRInput.GetUp(OVRInput.Button.PrimaryTouchpad)), + new BoolMonitor("Touchpad (Touch)", () => OVRInput.Get(OVRInput.Touch.PrimaryTouchpad)), + new BoolMonitor("TouchpadDown (Touch)", () => OVRInput.GetDown(OVRInput.Touch.PrimaryTouchpad)), + new BoolMonitor("TouchpadUp (Touch)", () => OVRInput.GetUp(OVRInput.Touch.PrimaryTouchpad)), + + // raw + new BoolMonitor("Start", () => OVRInput.Get(OVRInput.RawButton.Start)), + new BoolMonitor("StartDown", () => OVRInput.GetDown(OVRInput.RawButton.Start)), + new BoolMonitor("StartUp", () => OVRInput.GetUp(OVRInput.RawButton.Start)), + new BoolMonitor("Back", () => OVRInput.Get(OVRInput.RawButton.Back)), + new BoolMonitor("BackDown", () => OVRInput.GetDown(OVRInput.RawButton.Back)), + new BoolMonitor("BackUp", () => OVRInput.GetUp(OVRInput.RawButton.Back)), + new BoolMonitor("A", () => OVRInput.Get(OVRInput.RawButton.A)), + new BoolMonitor("ADown", () => OVRInput.GetDown(OVRInput.RawButton.A)), + new BoolMonitor("AUp", () => OVRInput.GetUp(OVRInput.RawButton.A)), + }; + } + static string prevConnected = ""; + static BoolMonitor controllers = new BoolMonitor("Controllers Changed", () => { return OVRInput.GetConnectedControllers().ToString() != prevConnected; }); + + void Update() + { + OVRInput.Controller activeController = OVRInput.GetActiveController(); + + data.Length = 0; + byte recenterCount = OVRInput.GetControllerRecenterCount(); + data.AppendFormat("RecenterCount: {0}\n", recenterCount); + + byte battery = OVRInput.GetControllerBatteryPercentRemaining(); + data.AppendFormat("Battery: {0}\n", battery); + + float framerate = OVRPlugin.GetAppFramerate(); + data.AppendFormat("Framerate: {0:F2}\n", framerate); + + string activeControllerName = activeController.ToString(); + data.AppendFormat("Active: {0}\n", activeControllerName); + + string connectedControllerNames = OVRInput.GetConnectedControllers().ToString(); + data.AppendFormat("Connected: {0}\n", connectedControllerNames); + + data.AppendFormat("PrevConnected: {0}\n", prevConnected); + + controllers.Update(); + controllers.AppendToStringBuilder(ref data); + + prevConnected = connectedControllerNames; + + Quaternion rot = OVRInput.GetLocalControllerRotation(activeController); + data.AppendFormat("Orientation: ({0:F2}, {1:F2}, {2:F2}, {3:F2})\n", rot.x, rot.y, rot.z, rot.w); + + Vector3 angVel = OVRInput.GetLocalControllerAngularVelocity(activeController); + data.AppendFormat("AngVel: ({0:F2}, {1:F2}, {2:F2})\n", angVel.x, angVel.y, angVel.z); + + Vector3 angAcc = OVRInput.GetLocalControllerAngularAcceleration(activeController); + data.AppendFormat("AngAcc: ({0:F2}, {1:F2}, {2:F2})\n", angAcc.x, angAcc.y, angAcc.z); + + Vector3 pos = OVRInput.GetLocalControllerPosition(activeController); + data.AppendFormat("Position: ({0:F2}, {1:F2}, {2:F2})\n", pos.x, pos.y, pos.z); + + Vector3 vel = OVRInput.GetLocalControllerVelocity(activeController); + data.AppendFormat("Vel: ({0:F2}, {1:F2}, {2:F2})\n", vel.x, vel.y, vel.z); + + Vector3 acc = OVRInput.GetLocalControllerAcceleration(activeController); + data.AppendFormat("Acc: ({0:F2}, {1:F2}, {2:F2})\n", acc.x, acc.y, acc.z); + + Vector2 primaryTouchpad = OVRInput.Get(OVRInput.Axis2D.PrimaryTouchpad); + data.AppendFormat("PrimaryTouchpad: ({0:F2}, {1:F2})\n", primaryTouchpad.x, primaryTouchpad.y); + + Vector2 secondaryTouchpad = OVRInput.Get(OVRInput.Axis2D.SecondaryTouchpad); + data.AppendFormat("SecondaryTouchpad: ({0:F2}, {1:F2})\n", secondaryTouchpad.x, secondaryTouchpad.y); + + float indexTrigger = OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTrigger); + data.AppendFormat("PrimaryIndexTriggerAxis1D: ({0:F2})\n", indexTrigger); + + float handTrigger = OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger); + data.AppendFormat("PrimaryHandTriggerAxis1D: ({0:F2})\n", handTrigger); + + for (int i = 0; i < monitors.Count; i++) + { + monitors[i].Update(); + monitors[i].AppendToStringBuilder(ref data); + } + + if (uiText != null) + { + uiText.text = data.ToString(); + } + } +} + diff --git a/Assets/Oculus/VR/Scripts/Util/OVRGearVrControllerTest.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRGearVrControllerTest.cs.meta new file mode 100644 index 0000000..cb3767f --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRGearVrControllerTest.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7acc4619d4cb5e64e9ed05e5a7a8099f +timeCreated: 1486173066 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRGrabbable.cs b/Assets/Oculus/VR/Scripts/Util/OVRGrabbable.cs new file mode 100644 index 0000000..6ad10a3 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRGrabbable.cs @@ -0,0 +1,169 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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 UnityEngine; + +/// +/// An object that can be grabbed and thrown by OVRGrabber. +/// +public class OVRGrabbable : MonoBehaviour +{ + [SerializeField] + protected bool m_allowOffhandGrab = true; + [SerializeField] + protected bool m_snapPosition = false; + [SerializeField] + protected bool m_snapOrientation = false; + [SerializeField] + protected Transform m_snapOffset; + [SerializeField] + protected Collider[] m_grabPoints = null; + + protected bool m_grabbedKinematic = false; + protected Collider m_grabbedCollider = null; + protected OVRGrabber m_grabbedBy = null; + + /// + /// If true, the object can currently be grabbed. + /// + public bool allowOffhandGrab + { + get { return m_allowOffhandGrab; } + } + + /// + /// If true, the object is currently grabbed. + /// + public bool isGrabbed + { + get { return m_grabbedBy != null; } + } + + /// + /// If true, the object's position will snap to match snapOffset when grabbed. + /// + public bool snapPosition + { + get { return m_snapPosition; } + } + + /// + /// If true, the object's orientation will snap to match snapOffset when grabbed. + /// + public bool snapOrientation + { + get { return m_snapOrientation; } + } + + /// + /// An offset relative to the OVRGrabber where this object can snap when grabbed. + /// + public Transform snapOffset + { + get { return m_snapOffset; } + } + + /// + /// Returns the OVRGrabber currently grabbing this object. + /// + public OVRGrabber grabbedBy + { + get { return m_grabbedBy; } + } + + /// + /// The transform at which this object was grabbed. + /// + public Transform grabbedTransform + { + get { return m_grabbedCollider.transform; } + } + + /// + /// The Rigidbody of the collider that was used to grab this object. + /// + public Rigidbody grabbedRigidbody + { + get { return m_grabbedCollider.attachedRigidbody; } + } + + /// + /// The contact point(s) where the object was grabbed. + /// + public Collider[] grabPoints + { + get { return m_grabPoints; } + } + + /// + /// Notifies the object that it has been grabbed. + /// + virtual public void GrabBegin(OVRGrabber hand, Collider grabPoint) + { + m_grabbedBy = hand; + m_grabbedCollider = grabPoint; + gameObject.GetComponent().isKinematic = true; + } + + /// + /// Notifies the object that it has been released. + /// + virtual public void GrabEnd(Vector3 linearVelocity, Vector3 angularVelocity) + { + Rigidbody rb = gameObject.GetComponent(); + rb.isKinematic = m_grabbedKinematic; + rb.velocity = linearVelocity; + rb.angularVelocity = angularVelocity; + m_grabbedBy = null; + m_grabbedCollider = null; + } + + void Awake() + { + if (m_grabPoints.Length == 0) + { + // Get the collider from the grabbable + Collider collider = this.GetComponent(); + if (collider == null) + { + throw new ArgumentException("Grabbables cannot have zero grab points and no collider -- please add a grab point or collider."); + } + + // Create a default grab point + m_grabPoints = new Collider[1] { collider }; + } + } + + protected virtual void Start() + { + m_grabbedKinematic = GetComponent().isKinematic; + } + + void OnDestroy() + { + if (m_grabbedBy != null) + { + // Notify the hand to release destroyed grabbables + m_grabbedBy.ForceRelease(this); + } + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRGrabbable.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRGrabbable.cs.meta new file mode 100644 index 0000000..69f59b2 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRGrabbable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 02d61468f8b77ae4b92c344bc9a600fb +timeCreated: 1481833527 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRGrabber.cs b/Assets/Oculus/VR/Scripts/Util/OVRGrabber.cs new file mode 100644 index 0000000..3d8823b --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRGrabber.cs @@ -0,0 +1,379 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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.Collections.Generic; +using UnityEngine; + +/// +/// Allows grabbing and throwing of objects with the OVRGrabbable component on them. +/// +[RequireComponent(typeof(Rigidbody))] +public class OVRGrabber : MonoBehaviour +{ + // Grip trigger thresholds for picking up objects, with some hysteresis. + public float grabBegin = 0.55f; + public float grabEnd = 0.35f; + + // Demonstrates parenting the held object to the hand's transform when grabbed. + // When false, the grabbed object is moved every FixedUpdate using MovePosition. + // Note that MovePosition is required for proper physics simulation. If you set this to true, you can + // easily observe broken physics simulation by, for example, moving the bottom cube of a stacked + // tower and noting a complete loss of friction. + [SerializeField] + protected bool m_parentHeldObject = false; + + // Child/attached transforms of the grabber, indicating where to snap held objects to (if you snap them). + // Also used for ranking grab targets in case of multiple candidates. + [SerializeField] + protected Transform m_gripTransform = null; + // Child/attached Colliders to detect candidate grabbable objects. + [SerializeField] + protected Collider[] m_grabVolumes = null; + + // Should be OVRInput.Controller.LTouch or OVRInput.Controller.RTouch. + [SerializeField] + protected OVRInput.Controller m_controller; + + [SerializeField] + protected Transform m_parentTransform; + + protected bool m_grabVolumeEnabled = true; + protected Vector3 m_lastPos; + protected Quaternion m_lastRot; + protected Quaternion m_anchorOffsetRotation; + protected Vector3 m_anchorOffsetPosition; + protected float m_prevFlex; + protected OVRGrabbable m_grabbedObj = null; + protected Vector3 m_grabbedObjectPosOff; + protected Quaternion m_grabbedObjectRotOff; + protected Dictionary m_grabCandidates = new Dictionary(); + protected bool operatingWithoutOVRCameraRig = true; + + /// + /// The currently grabbed object. + /// + public OVRGrabbable grabbedObject + { + get { return m_grabbedObj; } + } + + public void ForceRelease(OVRGrabbable grabbable) + { + bool canRelease = ( + (m_grabbedObj != null) && + (m_grabbedObj == grabbable) + ); + if (canRelease) + { + GrabEnd(); + } + } + + protected virtual void Awake() + { + m_anchorOffsetPosition = transform.localPosition; + m_anchorOffsetRotation = transform.localRotation; + + // If we are being used with an OVRCameraRig, let it drive input updates, which may come from Update or FixedUpdate. + + OVRCameraRig rig = null; + if (transform.parent != null && transform.parent.parent != null) + rig = transform.parent.parent.GetComponent(); + + if (rig != null) + { + rig.UpdatedAnchors += (r) => {OnUpdatedAnchors();}; + operatingWithoutOVRCameraRig = false; + } + } + + protected virtual void Start() + { + m_lastPos = transform.position; + m_lastRot = transform.rotation; + if(m_parentTransform == null) + { + if(gameObject.transform.parent != null) + { + m_parentTransform = gameObject.transform.parent.transform; + } + else + { + m_parentTransform = new GameObject().transform; + m_parentTransform.position = Vector3.zero; + m_parentTransform.rotation = Quaternion.identity; + } + } + } + + void FixedUpdate() + { + if (operatingWithoutOVRCameraRig) + OnUpdatedAnchors(); + } + + // Hands follow the touch anchors by calling MovePosition each frame to reach the anchor. + // This is done instead of parenting to achieve workable physics. If you don't require physics on + // your hands or held objects, you may wish to switch to parenting. + void OnUpdatedAnchors() + { + Vector3 handPos = OVRInput.GetLocalControllerPosition(m_controller); + Quaternion handRot = OVRInput.GetLocalControllerRotation(m_controller); + Vector3 destPos = m_parentTransform.TransformPoint(m_anchorOffsetPosition + handPos); + Quaternion destRot = m_parentTransform.rotation * handRot * m_anchorOffsetRotation; + GetComponent().MovePosition(destPos); + GetComponent().MoveRotation(destRot); + + if (!m_parentHeldObject) + { + MoveGrabbedObject(destPos, destRot); + } + m_lastPos = transform.position; + m_lastRot = transform.rotation; + + float prevFlex = m_prevFlex; + // Update values from inputs + m_prevFlex = OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger, m_controller); + + CheckForGrabOrRelease(prevFlex); + } + + void OnDestroy() + { + if (m_grabbedObj != null) + { + GrabEnd(); + } + } + + void OnTriggerEnter(Collider otherCollider) + { + // Get the grab trigger + OVRGrabbable grabbable = otherCollider.GetComponent() ?? otherCollider.GetComponentInParent(); + if (grabbable == null) return; + + // Add the grabbable + int refCount = 0; + m_grabCandidates.TryGetValue(grabbable, out refCount); + m_grabCandidates[grabbable] = refCount + 1; + } + + void OnTriggerExit(Collider otherCollider) + { + OVRGrabbable grabbable = otherCollider.GetComponent() ?? otherCollider.GetComponentInParent(); + if (grabbable == null) return; + + // Remove the grabbable + int refCount = 0; + bool found = m_grabCandidates.TryGetValue(grabbable, out refCount); + if (!found) + { + return; + } + + if (refCount > 1) + { + m_grabCandidates[grabbable] = refCount - 1; + } + else + { + m_grabCandidates.Remove(grabbable); + } + } + + protected void CheckForGrabOrRelease(float prevFlex) + { + if ((m_prevFlex >= grabBegin) && (prevFlex < grabBegin)) + { + GrabBegin(); + } + else if ((m_prevFlex <= grabEnd) && (prevFlex > grabEnd)) + { + GrabEnd(); + } + } + + protected virtual void GrabBegin() + { + float closestMagSq = float.MaxValue; + OVRGrabbable closestGrabbable = null; + Collider closestGrabbableCollider = null; + + // Iterate grab candidates and find the closest grabbable candidate + foreach (OVRGrabbable grabbable in m_grabCandidates.Keys) + { + bool canGrab = !(grabbable.isGrabbed && !grabbable.allowOffhandGrab); + if (!canGrab) + { + continue; + } + + for (int j = 0; j < grabbable.grabPoints.Length; ++j) + { + Collider grabbableCollider = grabbable.grabPoints[j]; + // Store the closest grabbable + Vector3 closestPointOnBounds = grabbableCollider.ClosestPointOnBounds(m_gripTransform.position); + float grabbableMagSq = (m_gripTransform.position - closestPointOnBounds).sqrMagnitude; + if (grabbableMagSq < closestMagSq) + { + closestMagSq = grabbableMagSq; + closestGrabbable = grabbable; + closestGrabbableCollider = grabbableCollider; + } + } + } + + // Disable grab volumes to prevent overlaps + GrabVolumeEnable(false); + + if (closestGrabbable != null) + { + if (closestGrabbable.isGrabbed) + { + closestGrabbable.grabbedBy.OffhandGrabbed(closestGrabbable); + } + + m_grabbedObj = closestGrabbable; + m_grabbedObj.GrabBegin(this, closestGrabbableCollider); + + m_lastPos = transform.position; + m_lastRot = transform.rotation; + + // Set up offsets for grabbed object desired position relative to hand. + if(m_grabbedObj.snapPosition) + { + m_grabbedObjectPosOff = m_gripTransform.localPosition; + if(m_grabbedObj.snapOffset) + { + Vector3 snapOffset = m_grabbedObj.snapOffset.position; + if (m_controller == OVRInput.Controller.LTouch) snapOffset.x = -snapOffset.x; + m_grabbedObjectPosOff += snapOffset; + } + } + else + { + Vector3 relPos = m_grabbedObj.transform.position - transform.position; + relPos = Quaternion.Inverse(transform.rotation) * relPos; + m_grabbedObjectPosOff = relPos; + } + + if (m_grabbedObj.snapOrientation) + { + m_grabbedObjectRotOff = m_gripTransform.localRotation; + if(m_grabbedObj.snapOffset) + { + m_grabbedObjectRotOff = m_grabbedObj.snapOffset.rotation * m_grabbedObjectRotOff; + } + } + else + { + Quaternion relOri = Quaternion.Inverse(transform.rotation) * m_grabbedObj.transform.rotation; + m_grabbedObjectRotOff = relOri; + } + + // Note: force teleport on grab, to avoid high-speed travel to dest which hits a lot of other objects at high + // speed and sends them flying. The grabbed object may still teleport inside of other objects, but fixing that + // is beyond the scope of this demo. + MoveGrabbedObject(m_lastPos, m_lastRot, true); + if(m_parentHeldObject) + { + m_grabbedObj.transform.parent = transform; + } + } + } + + protected virtual void MoveGrabbedObject(Vector3 pos, Quaternion rot, bool forceTeleport = false) + { + if (m_grabbedObj == null) + { + return; + } + + Rigidbody grabbedRigidbody = m_grabbedObj.grabbedRigidbody; + Vector3 grabbablePosition = pos + rot * m_grabbedObjectPosOff; + Quaternion grabbableRotation = rot * m_grabbedObjectRotOff; + + if (forceTeleport) + { + grabbedRigidbody.transform.position = grabbablePosition; + grabbedRigidbody.transform.rotation = grabbableRotation; + } + else + { + grabbedRigidbody.MovePosition(grabbablePosition); + grabbedRigidbody.MoveRotation(grabbableRotation); + } + } + + protected void GrabEnd() + { + if (m_grabbedObj != null) + { + OVRPose localPose = new OVRPose { position = OVRInput.GetLocalControllerPosition(m_controller), orientation = OVRInput.GetLocalControllerRotation(m_controller) }; + OVRPose offsetPose = new OVRPose { position = m_anchorOffsetPosition, orientation = m_anchorOffsetRotation }; + localPose = localPose * offsetPose; + + OVRPose trackingSpace = transform.ToOVRPose() * localPose.Inverse(); + Vector3 linearVelocity = trackingSpace.orientation * OVRInput.GetLocalControllerVelocity(m_controller); + Vector3 angularVelocity = trackingSpace.orientation * OVRInput.GetLocalControllerAngularVelocity(m_controller); + + GrabbableRelease(linearVelocity, angularVelocity); + } + + // Re-enable grab volumes to allow overlap events + GrabVolumeEnable(true); + } + + protected void GrabbableRelease(Vector3 linearVelocity, Vector3 angularVelocity) + { + m_grabbedObj.GrabEnd(linearVelocity, angularVelocity); + if(m_parentHeldObject) m_grabbedObj.transform.parent = null; + m_grabbedObj = null; + } + + protected virtual void GrabVolumeEnable(bool enabled) + { + if (m_grabVolumeEnabled == enabled) + { + return; + } + + m_grabVolumeEnabled = enabled; + for (int i = 0; i < m_grabVolumes.Length; ++i) + { + Collider grabVolume = m_grabVolumes[i]; + grabVolume.enabled = m_grabVolumeEnabled; + } + + if (!m_grabVolumeEnabled) + { + m_grabCandidates.Clear(); + } + } + + protected virtual void OffhandGrabbed(OVRGrabbable grabbable) + { + if (m_grabbedObj == grabbable) + { + GrabbableRelease(Vector3.zero, Vector3.zero); + } + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRGrabber.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRGrabber.cs.meta new file mode 100644 index 0000000..6e32ddd --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRGrabber.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fd425c2d06f39bf4899d07c05d0f10eb +timeCreated: 1481832436 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRGridCube.cs b/Assets/Oculus/VR/Scripts/Util/OVRGridCube.cs new file mode 100644 index 0000000..60c999b --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRGridCube.cs @@ -0,0 +1,195 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections; + +/// +/// Diagnostic display with a regular grid of cubes for visual testing of +/// tracking and distortion. +/// +public class OVRGridCube : MonoBehaviour +{ + /// + /// The key that toggles the grid of cubes. + /// + public KeyCode GridKey = KeyCode.G; + + private GameObject CubeGrid = null; + + private bool CubeGridOn = false; + private bool CubeSwitchColorOld = false; + private bool CubeSwitchColor = false; + + private int gridSizeX = 6; + private int gridSizeY = 4; + private int gridSizeZ = 6; + private float gridScale = 0.3f; + private float cubeScale = 0.03f; + + // Handle to OVRCameraRig + private OVRCameraRig CameraController = null; + + /// + /// Update this instance. + /// + void Update () + { + UpdateCubeGrid(); + } + + /// + /// Sets the OVR camera controller. + /// + /// Camera controller. + public void SetOVRCameraController(ref OVRCameraRig cameraController) + { + CameraController = cameraController; + } + + void UpdateCubeGrid() + { + // Toggle the grid cube display on 'G' + if(Input.GetKeyDown(GridKey)) + { + if(CubeGridOn == false) + { + CubeGridOn = true; + Debug.LogWarning("CubeGrid ON"); + if(CubeGrid != null) + CubeGrid.SetActive(true); + else + CreateCubeGrid(); + } + else + { + CubeGridOn = false; + Debug.LogWarning("CubeGrid OFF"); + + if(CubeGrid != null) + CubeGrid.SetActive(false); + } + } + + if(CubeGrid != null) + { + // Set cube colors to let user know if camera is tracking + CubeSwitchColor = !OVRManager.tracker.isPositionTracked; + + if(CubeSwitchColor != CubeSwitchColorOld) + CubeGridSwitchColor(CubeSwitchColor); + CubeSwitchColorOld = CubeSwitchColor; + } + } + + void CreateCubeGrid() + { + Debug.LogWarning("Create CubeGrid"); + + // Create the visual cube grid + CubeGrid = new GameObject("CubeGrid"); + // Set a layer to target a specific camera + CubeGrid.layer = CameraController.gameObject.layer; + + for (int x = -gridSizeX; x <= gridSizeX; x++) + for (int y = -gridSizeY; y <= gridSizeY; y++) + for (int z = -gridSizeZ; z <= gridSizeZ; z++) + { + // Set the cube type: + // 0 = non-axis cube + // 1 = axis cube + // 2 = center cube + int CubeType = 0; + if ((x == 0 && y == 0) || (x == 0 && z == 0) || (y == 0 && z == 0)) + { + if((x == 0) && (y == 0) && (z == 0)) + CubeType = 2; + else + CubeType = 1; + } + + GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); + + BoxCollider bc = cube.GetComponent(); + bc.enabled = false; + + cube.layer = CameraController.gameObject.layer; + + // No shadows + Renderer r = cube.GetComponent(); + +#if UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_5 || UNITY_4_6 + // Renderer.castShadows was deprecated starting in Unity 5.0 + r.castShadows = false; +#else + r.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; +#endif + + r.receiveShadows = false; + + // Cube line is white down the middle + if (CubeType == 0) + r.material.color = Color.red; + else if (CubeType == 1) + r.material.color = Color.white; + else + r.material.color = Color.yellow; + + cube.transform.position = + new Vector3(((float)x * gridScale), + ((float)y * gridScale), + ((float)z * gridScale)); + + float s = 0.7f; + + // Axis cubes are bigger + if(CubeType == 1) + s = 1.0f; + // Center cube is the largest + if(CubeType == 2) + s = 2.0f; + + cube.transform.localScale = + new Vector3(cubeScale * s, cubeScale * s, cubeScale * s); + + cube.transform.parent = CubeGrid.transform; + } + } + + /// + /// Switch the Cube grid color. + /// + /// If set to true cube switch color. + void CubeGridSwitchColor(bool CubeSwitchColor) + { + Color c = Color.red; + if(CubeSwitchColor == true) + c = Color.blue; + + foreach(Transform child in CubeGrid.transform) + { + Material m = child.GetComponent().material; + // Cube line is white down the middle + if(m.color == Color.red || m.color == Color.blue) + m.color = c; + } + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRGridCube.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRGridCube.cs.meta new file mode 100644 index 0000000..f79a4dc --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRGridCube.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4988596c8a187f94f8e6a345ebb4254b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRInputModule.cs b/Assets/Oculus/VR/Scripts/Util/OVRInputModule.cs new file mode 100644 index 0000000..dc8d6fb --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRInputModule.cs @@ -0,0 +1,913 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; + +namespace UnityEngine.EventSystems +{ + /// + /// VR extension of PointerInputModule which supports gaze and controller pointing. + /// + public class OVRInputModule : PointerInputModule + { + [Tooltip("Object which points with Z axis. E.g. CentreEyeAnchor from OVRCameraRig")] + public Transform rayTransform; + + [Tooltip("Gamepad button to act as gaze click")] + public OVRInput.Button joyPadClickButton = OVRInput.Button.One; + + [Tooltip("Keyboard button to act as gaze click")] + public KeyCode gazeClickKey = KeyCode.Space; + + [Header("Physics")] + [Tooltip("Perform an sphere cast to determine correct depth for gaze pointer")] + public bool performSphereCastForGazepointer; + + [Tooltip("Match the gaze pointer normal to geometry normal for physics colliders")] + public bool matchNormalOnPhysicsColliders; + + [Header("Gamepad Stick Scroll")] + [Tooltip("Enable scrolling with the right stick on a gamepad")] + public bool useRightStickScroll = true; + + [Tooltip("Deadzone for right stick to prevent accidental scrolling")] + public float rightStickDeadZone = 0.15f; + + [Header("Touchpad Swipe Scroll")] + [Tooltip("Enable scrolling by swiping the GearVR touchpad")] + public bool useSwipeScroll = true; + [Tooltip("Minimum trackpad movement in pixels to start swiping")] + public float swipeDragThreshold = 2; + [Tooltip("Distance scrolled when swipe scroll occurs")] + public float swipeDragScale = 1f; + /* It's debatable which way left and right are on the Gear VR touchpad since it's facing away from you + * the following bool allows this to be swapped*/ + [Tooltip("Invert X axis on touchpad")] + public bool InvertSwipeXAxis = false; + + + // The raycaster that gets to do pointer interaction (e.g. with a mouse), gaze interaction always works + [NonSerialized] + public OVRRaycaster activeGraphicRaycaster; + [Header("Dragging")] + [Tooltip("Minimum pointer movement in degrees to start dragging")] + public float angleDragThreshold = 1; + + + + + + + + // The following region contains code exactly the same as the implementation + // of StandaloneInputModule. It is copied here rather than inheriting from StandaloneInputModule + // because most of StandaloneInputModule is private so it isn't possible to easily derive from. + // Future changes from Unity to StandaloneInputModule will make it possible for this class to + // derive from StandaloneInputModule instead of PointerInput module. + // + // The following functions are not present in the following region since they have modified + // versions in the next region: + // Process + // ProcessMouseEvent + // UseMouse + #region StandaloneInputModule code + private float m_NextAction; + + private Vector2 m_LastMousePosition; + private Vector2 m_MousePosition; + + protected OVRInputModule() + {} + +#if UNITY_EDITOR + protected override void Reset() + { + allowActivationOnMobileDevice = true; + } +#endif + + [Obsolete("Mode is no longer needed on input module as it handles both mouse and keyboard simultaneously.", false)] + public enum InputMode + { + Mouse, + Buttons + } + + [Obsolete("Mode is no longer needed on input module as it handles both mouse and keyboard simultaneously.", false)] + public InputMode inputMode + { + get { return InputMode.Mouse; } + } + [Header("Standalone Input Module")] + [SerializeField] + private string m_HorizontalAxis = "Horizontal"; + + /// + /// Name of the vertical axis for movement (if axis events are used). + /// + [SerializeField] + private string m_VerticalAxis = "Vertical"; + + /// + /// Name of the submit button. + /// + [SerializeField] + private string m_SubmitButton = "Submit"; + + /// + /// Name of the submit button. + /// + [SerializeField] + private string m_CancelButton = "Cancel"; + + [SerializeField] + private float m_InputActionsPerSecond = 10; + + [SerializeField] + private bool m_AllowActivationOnMobileDevice; + + public bool allowActivationOnMobileDevice + { + get { return m_AllowActivationOnMobileDevice; } + set { m_AllowActivationOnMobileDevice = value; } + } + + public float inputActionsPerSecond + { + get { return m_InputActionsPerSecond; } + set { m_InputActionsPerSecond = value; } + } + + /// + /// Name of the horizontal axis for movement (if axis events are used). + /// + public string horizontalAxis + { + get { return m_HorizontalAxis; } + set { m_HorizontalAxis = value; } + } + + /// + /// Name of the vertical axis for movement (if axis events are used). + /// + public string verticalAxis + { + get { return m_VerticalAxis; } + set { m_VerticalAxis = value; } + } + + public string submitButton + { + get { return m_SubmitButton; } + set { m_SubmitButton = value; } + } + + public string cancelButton + { + get { return m_CancelButton; } + set { m_CancelButton = value; } + } + + public override void UpdateModule() + { + m_LastMousePosition = m_MousePosition; + m_MousePosition = Input.mousePosition; + } + + public override bool IsModuleSupported() + { + // Check for mouse presence instead of whether touch is supported, + // as you can connect mouse to a tablet and in that case we'd want + // to use StandaloneInputModule for non-touch input events. + return m_AllowActivationOnMobileDevice || Input.mousePresent; + } + + public override bool ShouldActivateModule() + { + if (!base.ShouldActivateModule()) + return false; + + var shouldActivate = Input.GetButtonDown(m_SubmitButton); + shouldActivate |= Input.GetButtonDown(m_CancelButton); + shouldActivate |= !Mathf.Approximately(Input.GetAxisRaw(m_HorizontalAxis), 0.0f); + shouldActivate |= !Mathf.Approximately(Input.GetAxisRaw(m_VerticalAxis), 0.0f); + shouldActivate |= (m_MousePosition - m_LastMousePosition).sqrMagnitude > 0.0f; + shouldActivate |= Input.GetMouseButtonDown(0); + return shouldActivate; + } + + public override void ActivateModule() + { + base.ActivateModule(); + m_MousePosition = Input.mousePosition; + m_LastMousePosition = Input.mousePosition; + + var toSelect = eventSystem.currentSelectedGameObject; + if (toSelect == null) + toSelect = eventSystem.firstSelectedGameObject; + + eventSystem.SetSelectedGameObject(toSelect, GetBaseEventData()); + } + + public override void DeactivateModule() + { + base.DeactivateModule(); + ClearSelection(); + } + + + + /// + /// Process submit keys. + /// + private bool SendSubmitEventToSelectedObject() + { + if (eventSystem.currentSelectedGameObject == null) + return false; + + var data = GetBaseEventData(); + if (Input.GetButtonDown(m_SubmitButton)) + ExecuteEvents.Execute(eventSystem.currentSelectedGameObject, data, ExecuteEvents.submitHandler); + + if (Input.GetButtonDown(m_CancelButton)) + ExecuteEvents.Execute(eventSystem.currentSelectedGameObject, data, ExecuteEvents.cancelHandler); + return data.used; + } + + private bool AllowMoveEventProcessing(float time) + { + bool allow = Input.GetButtonDown(m_HorizontalAxis); + allow |= Input.GetButtonDown(m_VerticalAxis); + allow |= (time > m_NextAction); + return allow; + } + + private Vector2 GetRawMoveVector() + { + Vector2 move = Vector2.zero; + move.x = Input.GetAxisRaw(m_HorizontalAxis); + move.y = Input.GetAxisRaw(m_VerticalAxis); + + if (Input.GetButtonDown(m_HorizontalAxis)) + { + if (move.x < 0) + move.x = -1f; + if (move.x > 0) + move.x = 1f; + } + if (Input.GetButtonDown(m_VerticalAxis)) + { + if (move.y < 0) + move.y = -1f; + if (move.y > 0) + move.y = 1f; + } + return move; + } + + /// + /// Process keyboard events. + /// + private bool SendMoveEventToSelectedObject() + { + float time = Time.unscaledTime; + + if (!AllowMoveEventProcessing(time)) + return false; + + Vector2 movement = GetRawMoveVector(); + // Debug.Log(m_ProcessingEvent.rawType + " axis:" + m_AllowAxisEvents + " value:" + "(" + x + "," + y + ")"); + var axisEventData = GetAxisEventData(movement.x, movement.y, 0.6f); + if (!Mathf.Approximately(axisEventData.moveVector.x, 0f) + || !Mathf.Approximately(axisEventData.moveVector.y, 0f)) + { + ExecuteEvents.Execute(eventSystem.currentSelectedGameObject, axisEventData, ExecuteEvents.moveHandler); + } + m_NextAction = time + 1f / m_InputActionsPerSecond; + return axisEventData.used; + } + + + + + + private bool SendUpdateEventToSelectedObject() + { + if (eventSystem.currentSelectedGameObject == null) + return false; + + var data = GetBaseEventData(); + ExecuteEvents.Execute(eventSystem.currentSelectedGameObject, data, ExecuteEvents.updateSelectedHandler); + return data.used; + } + + /// + /// Process the current mouse press. + /// + private void ProcessMousePress(MouseButtonEventData data) + { + var pointerEvent = data.buttonData; + var currentOverGo = pointerEvent.pointerCurrentRaycast.gameObject; + + // PointerDown notification + if (data.PressedThisFrame()) + { + pointerEvent.eligibleForClick = true; + pointerEvent.delta = Vector2.zero; + pointerEvent.dragging = false; + pointerEvent.useDragThreshold = true; + pointerEvent.pressPosition = pointerEvent.position; + if (pointerEvent.IsVRPointer()) + { + pointerEvent.SetSwipeStart(Input.mousePosition); + } + pointerEvent.pointerPressRaycast = pointerEvent.pointerCurrentRaycast; + + DeselectIfSelectionChanged(currentOverGo, pointerEvent); + + // search for the control that will receive the press + // if we can't find a press handler set the press + // handler to be what would receive a click. + var newPressed = ExecuteEvents.ExecuteHierarchy(currentOverGo, pointerEvent, ExecuteEvents.pointerDownHandler); + + // didnt find a press handler... search for a click handler + if (newPressed == null) + newPressed = ExecuteEvents.GetEventHandler(currentOverGo); + + // Debug.Log("Pressed: " + newPressed); + + float time = Time.unscaledTime; + + if (newPressed == pointerEvent.lastPress) + { + var diffTime = time - pointerEvent.clickTime; + if (diffTime < 0.3f) + ++pointerEvent.clickCount; + else + pointerEvent.clickCount = 1; + + pointerEvent.clickTime = time; + } + else + { + pointerEvent.clickCount = 1; + } + + pointerEvent.pointerPress = newPressed; + pointerEvent.rawPointerPress = currentOverGo; + + pointerEvent.clickTime = time; + + // Save the drag handler as well + pointerEvent.pointerDrag = ExecuteEvents.GetEventHandler(currentOverGo); + + if (pointerEvent.pointerDrag != null) + ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, ExecuteEvents.initializePotentialDrag); + } + + // PointerUp notification + if (data.ReleasedThisFrame()) + { + // Debug.Log("Executing pressup on: " + pointer.pointerPress); + ExecuteEvents.Execute(pointerEvent.pointerPress, pointerEvent, ExecuteEvents.pointerUpHandler); + + // Debug.Log("KeyCode: " + pointer.eventData.keyCode); + + // see if we mouse up on the same element that we clicked on... + var pointerUpHandler = ExecuteEvents.GetEventHandler(currentOverGo); + + // PointerClick and Drop events + if (pointerEvent.pointerPress == pointerUpHandler && pointerEvent.eligibleForClick) + { + ExecuteEvents.Execute(pointerEvent.pointerPress, pointerEvent, ExecuteEvents.pointerClickHandler); + } + else if (pointerEvent.pointerDrag != null) + { + ExecuteEvents.ExecuteHierarchy(currentOverGo, pointerEvent, ExecuteEvents.dropHandler); + } + + pointerEvent.eligibleForClick = false; + pointerEvent.pointerPress = null; + pointerEvent.rawPointerPress = null; + + if (pointerEvent.pointerDrag != null && pointerEvent.dragging) + ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, ExecuteEvents.endDragHandler); + + pointerEvent.dragging = false; + pointerEvent.pointerDrag = null; + + // redo pointer enter / exit to refresh state + // so that if we moused over somethign that ignored it before + // due to having pressed on something else + // it now gets it. + if (currentOverGo != pointerEvent.pointerEnter) + { + HandlePointerExitAndEnter(pointerEvent, null); + HandlePointerExitAndEnter(pointerEvent, currentOverGo); + } + } + } +#endregion + #region Modified StandaloneInputModule methods + + /// + /// Process all mouse events. This is the same as the StandaloneInputModule version except that + /// it takes MouseState as a parameter, allowing it to be used for both Gaze and Mouse + /// pointerss. + /// + private void ProcessMouseEvent(MouseState mouseData) + { + var pressed = mouseData.AnyPressesThisFrame(); + var released = mouseData.AnyReleasesThisFrame(); + + var leftButtonData = mouseData.GetButtonState(PointerEventData.InputButton.Left).eventData; + + if (!UseMouse(pressed, released, leftButtonData.buttonData)) + return; + + // Process the first mouse button fully + ProcessMousePress(leftButtonData); + ProcessMove(leftButtonData.buttonData); + ProcessDrag(leftButtonData.buttonData); + + // Now process right / middle clicks + ProcessMousePress(mouseData.GetButtonState(PointerEventData.InputButton.Right).eventData); + ProcessDrag(mouseData.GetButtonState(PointerEventData.InputButton.Right).eventData.buttonData); + ProcessMousePress(mouseData.GetButtonState(PointerEventData.InputButton.Middle).eventData); + ProcessDrag(mouseData.GetButtonState(PointerEventData.InputButton.Middle).eventData.buttonData); + + if (!Mathf.Approximately(leftButtonData.buttonData.scrollDelta.sqrMagnitude, 0.0f)) + { + var scrollHandler = ExecuteEvents.GetEventHandler(leftButtonData.buttonData.pointerCurrentRaycast.gameObject); + ExecuteEvents.ExecuteHierarchy(scrollHandler, leftButtonData.buttonData, ExecuteEvents.scrollHandler); + } + } + + /// + /// Process this InputModule. Same as the StandaloneInputModule version, except that it calls + /// ProcessMouseEvent twice, once for gaze pointers, and once for mouse pointers. + /// + public override void Process() + { + bool usedEvent = SendUpdateEventToSelectedObject(); + + if (eventSystem.sendNavigationEvents) + { + if (!usedEvent) + usedEvent |= SendMoveEventToSelectedObject(); + + if (!usedEvent) + SendSubmitEventToSelectedObject(); + } + + ProcessMouseEvent(GetGazePointerData()); +#if !UNITY_ANDROID + ProcessMouseEvent(GetCanvasPointerData()); +#endif + } + /// + /// Decide if mouse events need to be processed this frame. Same as StandloneInputModule except + /// that the IsPointerMoving method from this class is used, instead of the method on PointerEventData + /// + private static bool UseMouse(bool pressed, bool released, PointerEventData pointerData) + { + if (pressed || released || IsPointerMoving(pointerData) || pointerData.IsScrolling()) + return true; + + return false; + } + #endregion + + + /// + /// Convenience function for cloning PointerEventData + /// + /// Copy this value + /// to this object + protected void CopyFromTo(OVRPointerEventData @from, OVRPointerEventData @to) + { + @to.position = @from.position; + @to.delta = @from.delta; + @to.scrollDelta = @from.scrollDelta; + @to.pointerCurrentRaycast = @from.pointerCurrentRaycast; + @to.pointerEnter = @from.pointerEnter; + @to.worldSpaceRay = @from.worldSpaceRay; + } + /// + /// Convenience function for cloning PointerEventData + /// + /// Copy this value + /// to this object + protected new void CopyFromTo(PointerEventData @from, PointerEventData @to) + { + @to.position = @from.position; + @to.delta = @from.delta; + @to.scrollDelta = @from.scrollDelta; + @to.pointerCurrentRaycast = @from.pointerCurrentRaycast; + @to.pointerEnter = @from.pointerEnter; + } + + + // In the following region we extend the PointerEventData system implemented in PointerInputModule + // We define an additional dictionary for ray(e.g. gaze) based pointers. Mouse pointers still use the dictionary + // in PointerInputModule +#region PointerEventData pool + + // Pool for OVRRayPointerEventData for ray based pointers + protected Dictionary m_VRRayPointerData = new Dictionary(); + + + protected bool GetPointerData(int id, out OVRPointerEventData data, bool create) + { + if (!m_VRRayPointerData.TryGetValue(id, out data) && create) + { + data = new OVRPointerEventData(eventSystem) + { + pointerId = id, + }; + + m_VRRayPointerData.Add(id, data); + return true; + } + return false; + } + + /// + /// Clear pointer state for both types of pointer + /// + protected new void ClearSelection() + { + var baseEventData = GetBaseEventData(); + + foreach (var pointer in m_PointerData.Values) + { + // clear all selection + HandlePointerExitAndEnter(pointer, null); + } + foreach (var pointer in m_VRRayPointerData.Values) + { + // clear all selection + HandlePointerExitAndEnter(pointer, null); + } + + m_PointerData.Clear(); + eventSystem.SetSelectedGameObject(null, baseEventData); + } +#endregion + + /// + /// For RectTransform, calculate it's normal in world space + /// + static Vector3 GetRectTransformNormal(RectTransform rectTransform) + { + Vector3[] corners = new Vector3[4]; + rectTransform.GetWorldCorners(corners); + Vector3 BottomEdge = corners[3] - corners[0]; + Vector3 LeftEdge = corners[1] - corners[0]; + rectTransform.GetWorldCorners(corners); + return Vector3.Cross(BottomEdge, LeftEdge).normalized; + } + + private readonly MouseState m_MouseState = new MouseState(); + + + // The following 2 functions are equivalent to PointerInputModule.GetMousePointerEventData but are customized to + // get data for ray pointers and canvas mouse pointers. + + /// + /// State for a pointer controlled by a world space ray. E.g. gaze pointer + /// + /// + virtual protected MouseState GetGazePointerData() + { + // Get the OVRRayPointerEventData reference + OVRPointerEventData leftData; + GetPointerData(kMouseLeftId, out leftData, true ); + leftData.Reset(); + + //Now set the world space ray. This ray is what the user uses to point at UI elements + leftData.worldSpaceRay = new Ray(rayTransform.position, rayTransform.forward); + leftData.scrollDelta = GetExtraScrollDelta(); + + //Populate some default values + leftData.button = PointerEventData.InputButton.Left; + leftData.useDragThreshold = true; + // Perform raycast to find intersections with world + eventSystem.RaycastAll(leftData, m_RaycastResultCache); + var raycast = FindFirstRaycast(m_RaycastResultCache); + leftData.pointerCurrentRaycast = raycast; + m_RaycastResultCache.Clear(); + + OVRRaycaster ovrRaycaster = raycast.module as OVRRaycaster; + // We're only interested in intersections from OVRRaycasters + if (ovrRaycaster) + { + // The Unity UI system expects event data to have a screen position + // so even though this raycast came from a world space ray we must get a screen + // space position for the camera attached to this raycaster for compatability + leftData.position = ovrRaycaster.GetScreenPosition(raycast); + + + // Find the world position and normal the Graphic the ray intersected + RectTransform graphicRect = raycast.gameObject.GetComponent(); + if (graphicRect != null) + { + // Set are gaze indicator with this world position and normal + Vector3 worldPos = raycast.worldPosition; + Vector3 normal = GetRectTransformNormal(graphicRect); + OVRGazePointer.instance.SetPosition(worldPos, normal); + // Make sure it's being shown + OVRGazePointer.instance.RequestShow(); + } + } + + // Now process physical raycast intersections + OVRPhysicsRaycaster physicsRaycaster = raycast.module as OVRPhysicsRaycaster; + if (physicsRaycaster) + { + Vector3 position = raycast.worldPosition; + + if (performSphereCastForGazepointer) + { + // Here we cast a sphere into the scene rather than a ray. This gives a more accurate depth + // for positioning a circular gaze pointer + List results = new List(); + physicsRaycaster.Spherecast(leftData, results, OVRGazePointer.instance.GetCurrentRadius()); + if (results.Count > 0 && results[0].distance < raycast.distance) + { + position = results[0].worldPosition; + } + } + + leftData.position = physicsRaycaster.GetScreenPos(raycast.worldPosition); + + // Show the cursor while pointing at an interactable object + OVRGazePointer.instance.RequestShow(); + if (matchNormalOnPhysicsColliders) + { + OVRGazePointer.instance.SetPosition(position, raycast.worldNormal); + } + else + { + OVRGazePointer.instance.SetPosition(position); + } + } + + + + + // Stick default data values in right and middle slots for compatability + + // copy the apropriate data into right and middle slots + OVRPointerEventData rightData; + GetPointerData(kMouseRightId, out rightData, true ); + CopyFromTo(leftData, rightData); + rightData.button = PointerEventData.InputButton.Right; + + OVRPointerEventData middleData; + GetPointerData(kMouseMiddleId, out middleData, true ); + CopyFromTo(leftData, middleData); + middleData.button = PointerEventData.InputButton.Middle; + + + m_MouseState.SetButtonState(PointerEventData.InputButton.Left, GetGazeButtonState(), leftData); + m_MouseState.SetButtonState(PointerEventData.InputButton.Right, PointerEventData.FramePressState.NotChanged, rightData); + m_MouseState.SetButtonState(PointerEventData.InputButton.Middle, PointerEventData.FramePressState.NotChanged, middleData); + return m_MouseState; + } + + /// + /// Get state for pointer which is a pointer moving in world space across the surface of a world space canvas. + /// + /// + protected MouseState GetCanvasPointerData() + { + // Get the OVRRayPointerEventData reference + PointerEventData leftData; + GetPointerData(kMouseLeftId, out leftData, true ); + leftData.Reset(); + + // Setup default values here. Set position to zero because we don't actually know the pointer + // positions. Each canvas knows the position of its canvas pointer. + leftData.position = Vector2.zero; + leftData.scrollDelta = Input.mouseScrollDelta; + leftData.button = PointerEventData.InputButton.Left; + + if (activeGraphicRaycaster) + { + // Let the active raycaster find intersections on its canvas + activeGraphicRaycaster.RaycastPointer(leftData, m_RaycastResultCache); + var raycast = FindFirstRaycast(m_RaycastResultCache); + leftData.pointerCurrentRaycast = raycast; + m_RaycastResultCache.Clear(); + + OVRRaycaster ovrRaycaster = raycast.module as OVRRaycaster; + if (ovrRaycaster) // raycast may not actually contain a result + { + // The Unity UI system expects event data to have a screen position + // so even though this raycast came from a world space ray we must get a screen + // space position for the camera attached to this raycaster for compatability + Vector2 position = ovrRaycaster.GetScreenPosition(raycast); + + leftData.delta = position - leftData.position; + leftData.position = position; + } + } + + // copy the apropriate data into right and middle slots + PointerEventData rightData; + GetPointerData(kMouseRightId, out rightData, true ); + CopyFromTo(leftData, rightData); + rightData.button = PointerEventData.InputButton.Right; + + PointerEventData middleData; + GetPointerData(kMouseMiddleId, out middleData, true ); + CopyFromTo(leftData, middleData); + middleData.button = PointerEventData.InputButton.Middle; + + m_MouseState.SetButtonState(PointerEventData.InputButton.Left, StateForMouseButton(0), leftData); + m_MouseState.SetButtonState(PointerEventData.InputButton.Right, StateForMouseButton(1), rightData); + m_MouseState.SetButtonState(PointerEventData.InputButton.Middle, StateForMouseButton(2), middleData); + return m_MouseState; + } + + /// + /// New version of ShouldStartDrag implemented first in PointerInputModule. This version differs in that + /// for ray based pointers it makes a decision about whether a drag should start based on the angular change + /// the pointer has made so far, as seen from the camera. This also works when the world space ray is + /// translated rather than rotated, since the beginning and end of the movement are considered as angle from + /// the same point. + /// + private bool ShouldStartDrag(PointerEventData pointerEvent) + { + if (!pointerEvent.useDragThreshold) + return true; + + if (!pointerEvent.IsVRPointer()) + { + // Same as original behaviour for canvas based pointers + return (pointerEvent.pressPosition - pointerEvent.position).sqrMagnitude >= eventSystem.pixelDragThreshold * eventSystem.pixelDragThreshold; + } + else + { +#if UNITY_ANDROID && !UNITY_EDITOR // On android allow swiping to start drag + if (useSwipeScroll && ((Vector3)pointerEvent.GetSwipeStart() - Input.mousePosition).magnitude > swipeDragThreshold) + { + return true; + } +#endif + // When it's not a screen space pointer we have to look at the angle it moved rather than the pixels distance + // For gaze based pointing screen-space distance moved will always be near 0 + Vector3 cameraPos = pointerEvent.pressEventCamera.transform.position; + Vector3 pressDir = (pointerEvent.pointerPressRaycast.worldPosition - cameraPos).normalized; + Vector3 currentDir = (pointerEvent.pointerCurrentRaycast.worldPosition - cameraPos).normalized; + return Vector3.Dot(pressDir, currentDir) < Mathf.Cos(Mathf.Deg2Rad * (angleDragThreshold)); + } + } + + /// + /// The purpose of this function is to allow us to switch between using the standard IsPointerMoving + /// method for mouse driven pointers, but to always return true when it's a ray based pointer. + /// All real-world ray-based input devices are always moving so for simplicity we just return true + /// for them. + /// + /// If PointerEventData.IsPointerMoving was virtual we could just override that in + /// OVRRayPointerEventData. + /// + /// + /// + static bool IsPointerMoving(PointerEventData pointerEvent) + { + if (pointerEvent.IsVRPointer()) + return true; + else + return pointerEvent.IsPointerMoving(); + } + + protected Vector2 SwipeAdjustedPosition(Vector2 originalPosition, PointerEventData pointerEvent) + { +#if UNITY_ANDROID && !UNITY_EDITOR + // On android we use the touchpad position (accessed through Input.mousePosition) to modify + // the effective cursor position for events related to dragging. This allows the user to + // use the touchpad to drag draggable UI elements + if (useSwipeScroll) + { + Vector2 delta = (Vector2)Input.mousePosition - pointerEvent.GetSwipeStart(); + if (InvertSwipeXAxis) + delta.x *= -1; + return originalPosition + delta * swipeDragScale; + } +#endif + // If not Gear VR or swipe scroll isn't enabled just return original position + return originalPosition; + + } + + /// + /// Exactly the same as the code from PointerInputModule, except that we call our own + /// IsPointerMoving. + /// + /// This would also not be necessary if PointerEventData.IsPointerMoving was virtual + /// + /// + protected override void ProcessDrag(PointerEventData pointerEvent) + { + Vector2 originalPosition = pointerEvent.position; + bool moving = IsPointerMoving(pointerEvent); + if (moving && pointerEvent.pointerDrag != null + && !pointerEvent.dragging + && ShouldStartDrag(pointerEvent)) + { + if (pointerEvent.IsVRPointer()) + { + //adjust the position used based on swiping action. Allowing the user to + //drag items by swiping on the GearVR touchpad + pointerEvent.position = SwipeAdjustedPosition (originalPosition, pointerEvent); + } + ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, ExecuteEvents.beginDragHandler); + pointerEvent.dragging = true; + } + + // Drag notification + if (pointerEvent.dragging && moving && pointerEvent.pointerDrag != null) + { + if (pointerEvent.IsVRPointer()) + { + pointerEvent.position = SwipeAdjustedPosition(originalPosition, pointerEvent); + } + // Before doing drag we should cancel any pointer down state + // And clear selection! + if (pointerEvent.pointerPress != pointerEvent.pointerDrag) + { + ExecuteEvents.Execute(pointerEvent.pointerPress, pointerEvent, ExecuteEvents.pointerUpHandler); + + pointerEvent.eligibleForClick = false; + pointerEvent.pointerPress = null; + pointerEvent.rawPointerPress = null; + } + ExecuteEvents.Execute(pointerEvent.pointerDrag, pointerEvent, ExecuteEvents.dragHandler); + } + } + + /// + /// Get state of button corresponding to gaze pointer + /// + /// + virtual protected PointerEventData.FramePressState GetGazeButtonState() + { + var pressed = Input.GetKeyDown(gazeClickKey) || OVRInput.GetDown(joyPadClickButton); + var released = Input.GetKeyUp(gazeClickKey) || OVRInput.GetUp(joyPadClickButton); + +#if UNITY_ANDROID && !UNITY_EDITOR + // On Gear VR the mouse button events correspond to touch pad events. We only use these as gaze pointer clicks + // on Gear VR because on PC the mouse clicks are used for actual mouse pointer interactions. + pressed |= Input.GetMouseButtonDown(0); + released |= Input.GetMouseButtonUp(0); +#endif + + if (pressed && released) + return PointerEventData.FramePressState.PressedAndReleased; + if (pressed) + return PointerEventData.FramePressState.Pressed; + if (released) + return PointerEventData.FramePressState.Released; + return PointerEventData.FramePressState.NotChanged; + } + + /// + /// Get extra scroll delta from gamepad + /// + protected Vector2 GetExtraScrollDelta() + { + Vector2 scrollDelta = new Vector2(); + if (useRightStickScroll) + { + Vector2 s = OVRInput.Get(OVRInput.Axis2D.SecondaryThumbstick); + if (Mathf.Abs(s.x) < rightStickDeadZone) s.x = 0; + if (Mathf.Abs(s.y) < rightStickDeadZone) s.y = 0; + scrollDelta = s; + } + return scrollDelta; + } + }; +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRInputModule.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRInputModule.cs.meta new file mode 100644 index 0000000..faf7764 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRInputModule.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8f1a9a1d119a5944aacfb87d1ec283a2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRMixedRealityCaptureSettings.cs b/Assets/Oculus/VR/Scripts/Util/OVRMixedRealityCaptureSettings.cs new file mode 100644 index 0000000..e5a0077 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRMixedRealityCaptureSettings.cs @@ -0,0 +1,122 @@ +using UnityEngine; +using System; +using System.IO; + +#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN +public class OVRMixedRealityCaptureSettings : ScriptableObject +{ + public bool enableMixedReality = false; + public LayerMask extraHiddenLayers; + public OVRManager.CompositionMethod compositionMethod = OVRManager.CompositionMethod.External; + public OVRManager.CameraDevice capturingCameraDevice = OVRManager.CameraDevice.WebCamera0; + public bool flipCameraFrameHorizontally = false; + public bool flipCameraFrameVertically = false; + public float handPoseStateLatency = 0.0f; + public float sandwichCompositionRenderLatency = 0.0f; + public int sandwichCompositionBufferedFrames = 8; + public Color chromaKeyColor = Color.green; + public float chromaKeySimilarity = 0.6f; + public float chromaKeySmoothRange = 0.03f; + public float chromaKeySpillRange = 0.04f; + public bool useDynamicLighting = false; + public OVRManager.DepthQuality depthQuality = OVRManager.DepthQuality.Medium; + public float dynamicLightingSmoothFactor = 8.0f; + public float dynamicLightingDepthVariationClampingValue = 0.001f; + public OVRManager.VirtualGreenScreenType virtualGreenScreenType = OVRManager.VirtualGreenScreenType.Off; + public float virtualGreenScreenTopY; + public float virtualGreenScreenBottomY; + public bool virtualGreenScreenApplyDepthCulling = false; + public float virtualGreenScreenDepthTolerance = 0.2f; + + public void ReadFrom(OVRManager manager) + { + enableMixedReality = manager.enableMixedReality; + compositionMethod = manager.compositionMethod; + extraHiddenLayers = manager.extraHiddenLayers; + capturingCameraDevice = manager.capturingCameraDevice; + flipCameraFrameHorizontally = manager.flipCameraFrameHorizontally; + flipCameraFrameVertically = manager.flipCameraFrameVertically; + handPoseStateLatency = manager.handPoseStateLatency; + sandwichCompositionRenderLatency = manager.sandwichCompositionRenderLatency; + sandwichCompositionBufferedFrames = manager.sandwichCompositionBufferedFrames; + chromaKeyColor = manager.chromaKeyColor; + chromaKeySimilarity = manager.chromaKeySimilarity; + chromaKeySmoothRange = manager.chromaKeySmoothRange; + chromaKeySpillRange = manager.chromaKeySpillRange; + useDynamicLighting = manager.useDynamicLighting; + depthQuality = manager.depthQuality; + dynamicLightingSmoothFactor = manager.dynamicLightingSmoothFactor; + dynamicLightingDepthVariationClampingValue = manager.dynamicLightingDepthVariationClampingValue; + virtualGreenScreenType = manager.virtualGreenScreenType; + virtualGreenScreenTopY = manager.virtualGreenScreenTopY; + virtualGreenScreenBottomY = manager.virtualGreenScreenBottomY; + virtualGreenScreenApplyDepthCulling = manager.virtualGreenScreenApplyDepthCulling; + virtualGreenScreenDepthTolerance = manager.virtualGreenScreenDepthTolerance; + } + public void ApplyTo(OVRManager manager) + { + manager.enableMixedReality = enableMixedReality; + manager.compositionMethod = compositionMethod; + manager.extraHiddenLayers = extraHiddenLayers; + manager.capturingCameraDevice = capturingCameraDevice; + manager.flipCameraFrameHorizontally = flipCameraFrameHorizontally; + manager.flipCameraFrameVertically = flipCameraFrameVertically; + manager.handPoseStateLatency = handPoseStateLatency; + manager.sandwichCompositionRenderLatency = sandwichCompositionRenderLatency; + manager.sandwichCompositionBufferedFrames = sandwichCompositionBufferedFrames; + manager.chromaKeyColor = chromaKeyColor; + manager.chromaKeySimilarity = chromaKeySimilarity; + manager.chromaKeySmoothRange = chromaKeySmoothRange; + manager.chromaKeySpillRange = chromaKeySpillRange; + manager.useDynamicLighting = useDynamicLighting; + manager.depthQuality = depthQuality; + manager.dynamicLightingSmoothFactor = dynamicLightingSmoothFactor; + manager.dynamicLightingDepthVariationClampingValue = dynamicLightingDepthVariationClampingValue; + manager.virtualGreenScreenType = virtualGreenScreenType; + manager.virtualGreenScreenTopY = virtualGreenScreenTopY; + manager.virtualGreenScreenBottomY = virtualGreenScreenBottomY; + manager.virtualGreenScreenApplyDepthCulling = virtualGreenScreenApplyDepthCulling; + manager.virtualGreenScreenDepthTolerance = virtualGreenScreenDepthTolerance; + } + + const string configFileName = "mrc.config"; + public void WriteToConfigurationFile() + { + string text = JsonUtility.ToJson(this, true); + try + { + string configPath = Path.Combine(Application.dataPath, configFileName); + Debug.Log("Write OVRMixedRealityCaptureSettings to " + configPath); + File.WriteAllText(configPath, text); + } + catch(Exception e) + { + Debug.LogWarning("Exception caught " + e.Message); + } + } + + public void CombineWithConfigurationFile() + { + try + { + string configPath = Path.Combine(Application.dataPath, configFileName); + if (File.Exists(configPath)) + { + Debug.Log("MixedRealityCapture configuration file found at " + configPath); + string text = File.ReadAllText(configPath); + Debug.Log("Apply MixedRealityCapture configuration"); + JsonUtility.FromJsonOverwrite(text, this); + } + else + { + Debug.Log("MixedRealityCapture configuration file doesn't exist at " + configPath); + } + } + catch(Exception e) + { + Debug.LogWarning("Exception caught " + e.Message); + } + } +} +#endif + diff --git a/Assets/Oculus/VR/Scripts/Util/OVRMixedRealityCaptureSettings.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRMixedRealityCaptureSettings.cs.meta new file mode 100644 index 0000000..a280de9 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRMixedRealityCaptureSettings.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 99bbd170d56da4248941de890e6d7af5 +timeCreated: 1501004238 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRModeParms.cs b/Assets/Oculus/VR/Scripts/Util/OVRModeParms.cs new file mode 100644 index 0000000..865a426 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRModeParms.cs @@ -0,0 +1,86 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; + +/// +/// Logs when the application enters power save mode and allows you to a low-power CPU/GPU level with a button press. +/// +public class OVRModeParms : MonoBehaviour +{ +#region Member Variables + + /// + /// The gamepad button that will switch the application to CPU level 0 and GPU level 1. + /// + public OVRInput.RawButton resetButton = OVRInput.RawButton.X; + +#endregion + + /// + /// Invoke power state mode test. + /// + void Start() + { + if (!OVRManager.isHmdPresent) + { + enabled = false; + return; + } + + // Call TestPowerLevelState after 10 seconds + // and repeats every 10 seconds. + InvokeRepeating ( "TestPowerStateMode", 10, 10.0f ); + } + + /// + /// Change default vr mode parms dynamically. + /// + void Update() + { + // NOTE: some of the buttons defined in OVRInput.RawButton are not available on the Android game pad controller + if ( OVRInput.GetDown(resetButton)) + { + //************************* + // Dynamically change VrModeParms cpu and gpu level. + // NOTE: Reset will cause 1 frame of flicker as it leaves + // and re-enters Vr mode. + //************************* + OVRPlugin.cpuLevel = 0; + OVRPlugin.gpuLevel = 1; + } + } + + /// + /// Check current power state mode. + /// + void TestPowerStateMode() + { + //************************* + // Check power-level state mode + //************************* + if (OVRPlugin.powerSaving) + { + // The device has been throttled + Debug.Log("POWER SAVE MODE ACTIVATED"); + } + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRModeParms.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRModeParms.cs.meta new file mode 100644 index 0000000..71ae5d5 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRModeParms.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6a6ae8e8def81df429a8fdfc00f63e5c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRMonoscopic.cs b/Assets/Oculus/VR/Scripts/Util/OVRMonoscopic.cs new file mode 100644 index 0000000..08e63f6 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRMonoscopic.cs @@ -0,0 +1,53 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; + +/// +/// Allows you to toggle monoscopic rendering with a gamepad button press. +/// +public class OVRMonoscopic : MonoBehaviour +{ + /// + /// The gamepad button that will toggle monoscopic rendering. + /// + public OVRInput.RawButton toggleButton = OVRInput.RawButton.B; + + private bool monoscopic = false; + + /// + /// Check input and toggle monoscopic rendering mode if necessary + /// See the input mapping setup in the Unity Integration guide + /// + void Update() + { + // NOTE: some of the buttons defined in OVRInput.RawButton are not available on the Android game pad controller + if (OVRInput.GetDown(toggleButton)) + { + //************************* + // toggle monoscopic rendering mode + //************************* + monoscopic = !monoscopic; + OVRManager.instance.monoscopic = monoscopic; + } + } + +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRMonoscopic.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRMonoscopic.cs.meta new file mode 100644 index 0000000..c10f03a --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRMonoscopic.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 06ef2a389c534554c848533f88dbb32c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRPhysicsRaycaster.cs b/Assets/Oculus/VR/Scripts/Util/OVRPhysicsRaycaster.cs new file mode 100644 index 0000000..7d5b26d --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRPhysicsRaycaster.cs @@ -0,0 +1,185 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + + +Unless required by applicable law or agreed to in writing, the Oculus VR 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.Collections.Generic; + +namespace UnityEngine.EventSystems +{ + /// + /// Simple event system using physics raycasts. Very closely based on UnityEngine.EventSystems.PhysicsRaycaster + /// + [RequireComponent(typeof(OVRCameraRig))] + public class OVRPhysicsRaycaster : BaseRaycaster + { + /// + /// Const to use for clarity when no event mask is set + /// + protected const int kNoEventMaskSet = -1; + + + /// + /// Layer mask used to filter events. Always combined with the camera's culling mask if a camera is used. + /// + [SerializeField] + protected LayerMask m_EventMask = kNoEventMaskSet; + + protected OVRPhysicsRaycaster() + { } + + public override Camera eventCamera + { + get + { + return GetComponent().leftEyeCamera; + } + } + + /// + /// Depth used to determine the order of event processing. + /// + public virtual int depth + { + get { return (eventCamera != null) ? (int)eventCamera.depth : 0xFFFFFF; } + } + + public int sortOrder = 20; + public override int sortOrderPriority + { + get + { + return sortOrder; + } + } + + /// + /// Event mask used to determine which objects will receive events. + /// + public int finalEventMask + { + get { return (eventCamera != null) ? eventCamera.cullingMask & m_EventMask : kNoEventMaskSet; } + } + + /// + /// Layer mask used to filter events. Always combined with the camera's culling mask if a camera is used. + /// + public LayerMask eventMask + { + get { return m_EventMask; } + set { m_EventMask = value; } + } + + + /// + /// Perform a raycast using the worldSpaceRay in eventData. + /// + /// + /// + public override void Raycast(PointerEventData eventData, List resultAppendList) + { + // This function is closely based on PhysicsRaycaster.Raycast + + if (eventCamera == null) + return; + + if (!eventData.IsVRPointer()) + return; + + var ray = eventData.GetRay(); + + float dist = eventCamera.farClipPlane - eventCamera.nearClipPlane; + + var hits = Physics.RaycastAll(ray, dist, finalEventMask); + + if (hits.Length > 1) + System.Array.Sort(hits, (r1, r2) => r1.distance.CompareTo(r2.distance)); + + if (hits.Length != 0) + { + for (int b = 0, bmax = hits.Length; b < bmax; ++b) + { + var result = new RaycastResult + { + gameObject = hits[b].collider.gameObject, + module = this, + distance = hits[b].distance, + index = resultAppendList.Count, + worldPosition = hits[0].point, + worldNormal = hits[0].normal, + }; + resultAppendList.Add(result); + } + } + } + + /// + /// Perform a Spherecast using the worldSpaceRay in eventData. + /// + /// + /// + /// Radius of the sphere + public void Spherecast(PointerEventData eventData, List resultAppendList, float radius) + { + if (eventCamera == null) + return; + + if (!eventData.IsVRPointer()) + return; + + var ray = eventData.GetRay(); + + + float dist = eventCamera.farClipPlane - eventCamera.nearClipPlane; + + var hits = Physics.SphereCastAll(ray, radius, dist, finalEventMask); + + if (hits.Length > 1) + System.Array.Sort(hits, (r1, r2) => r1.distance.CompareTo(r2.distance)); + + if (hits.Length != 0) + { + for (int b = 0, bmax = hits.Length; b < bmax; ++b) + { + var result = new RaycastResult + { + gameObject = hits[b].collider.gameObject, + module = this, + distance = hits[b].distance, + index = resultAppendList.Count, + worldPosition = hits[0].point, + worldNormal = hits[0].normal, + }; + resultAppendList.Add(result); + } + } + } + /// + /// Get screen position of this world position as seen by the event camera of this OVRPhysicsRaycaster + /// + /// + /// + public Vector2 GetScreenPos(Vector3 worldPosition) + { + // In future versions of Uinty RaycastResult will contain screenPosition so this will not be necessary + return eventCamera.WorldToScreenPoint(worldPosition); + } + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRPhysicsRaycaster.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRPhysicsRaycaster.cs.meta new file mode 100644 index 0000000..c9c554d --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRPhysicsRaycaster.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f8e7ff1cdf4c4e74db00c3684108bc9a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRPlayerController.cs b/Assets/Oculus/VR/Scripts/Util/OVRPlayerController.cs new file mode 100644 index 0000000..aba7fb1 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRPlayerController.cs @@ -0,0 +1,593 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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 UnityEngine; + +/// +/// Controls the player's movement in virtual reality. +/// +[RequireComponent(typeof(CharacterController))] +public class OVRPlayerController : MonoBehaviour +{ + /// + /// The rate acceleration during movement. + /// + public float Acceleration = 0.1f; + + /// + /// The rate of damping on movement. + /// + public float Damping = 0.3f; + + /// + /// The rate of additional damping when moving sideways or backwards. + /// + public float BackAndSideDampen = 0.5f; + + /// + /// The force applied to the character when jumping. + /// + public float JumpForce = 0.3f; + + /// + /// The rate of rotation when using a gamepad. + /// + public float RotationAmount = 1.5f; + + /// + /// The rate of rotation when using the keyboard. + /// + public float RotationRatchet = 45.0f; + + /// + /// The player will rotate in fixed steps if Snap Rotation is enabled. + /// + [Tooltip("The player will rotate in fixed steps if Snap Rotation is enabled.")] + public bool SnapRotation = true; + + /// + /// How many fixed speeds to use with linear movement? 0=linear control + /// + [Tooltip("How many fixed speeds to use with linear movement? 0=linear control")] + public int FixedSpeedSteps; + + /// + /// If true, reset the initial yaw of the player controller when the Hmd pose is recentered. + /// + public bool HmdResetsY = true; + + /// + /// If true, tracking data from a child OVRCameraRig will update the direction of movement. + /// + public bool HmdRotatesY = true; + + /// + /// Modifies the strength of gravity. + /// + public float GravityModifier = 0.379f; + + /// + /// If true, each OVRPlayerController will use the player's physical height. + /// + public bool useProfileData = true; + + /// + /// The CameraHeight is the actual height of the HMD and can be used to adjust the height of the character controller, which will affect the + /// ability of the character to move into areas with a low ceiling. + /// + [NonSerialized] + public float CameraHeight; + + /// + /// This event is raised after the character controller is moved. This is used by the OVRAvatarLocomotion script to keep the avatar transform synchronized + /// with the OVRPlayerController. + /// + public event Action TransformUpdated; + + /// + /// This bool is set to true whenever the player controller has been teleported. It is reset after every frame. Some systems, such as + /// CharacterCameraConstraint, test this boolean in order to disable logic that moves the character controller immediately + /// following the teleport. + /// + [NonSerialized] // This doesn't need to be visible in the inspector. + public bool Teleported; + + /// + /// This event is raised immediately after the camera transform has been updated, but before movement is updated. + /// + public event Action CameraUpdated; + + /// + /// This event is raised right before the character controller is actually moved in order to provide other systems the opportunity to + /// move the character controller in response to things other than user input, such as movement of the HMD. See CharacterCameraConstraint.cs + /// for an example of this. + /// + public event Action PreCharacterMove; + + /// + /// When true, user input will be applied to linear movement. Set this to false whenever the player controller needs to ignore input for + /// linear movement. + /// + public bool EnableLinearMovement = true; + + /// + /// When true, user input will be applied to rotation. Set this to false whenever the player controller needs to ignore input for rotation. + /// + public bool EnableRotation = true; + + protected CharacterController Controller = null; + protected OVRCameraRig CameraRig = null; + + private float MoveScale = 1.0f; + private Vector3 MoveThrottle = Vector3.zero; + private float FallSpeed = 0.0f; + private OVRPose? InitialPose; + public float InitialYRotation { get; private set; } + private float MoveScaleMultiplier = 1.0f; + private float RotationScaleMultiplier = 1.0f; + private bool SkipMouseRotation = true; // It is rare to want to use mouse movement in VR, so ignore the mouse by default. + private bool HaltUpdateMovement = false; + private bool prevHatLeft = false; + private bool prevHatRight = false; + private float SimulationRate = 60f; + private float buttonRotation = 0f; + private bool ReadyToSnapTurn; // Set to true when a snap turn has occurred, code requires one frame of centered thumbstick to enable another snap turn. + + void Start() + { + // Add eye-depth as a camera offset from the player controller + var p = CameraRig.transform.localPosition; + p.z = OVRManager.profile.eyeDepth; + CameraRig.transform.localPosition = p; + } + + void Awake() + { + Controller = gameObject.GetComponent(); + + if(Controller == null) + Debug.LogWarning("OVRPlayerController: No CharacterController attached."); + + // We use OVRCameraRig to set rotations to cameras, + // and to be influenced by rotation + OVRCameraRig[] CameraRigs = gameObject.GetComponentsInChildren(); + + if(CameraRigs.Length == 0) + Debug.LogWarning("OVRPlayerController: No OVRCameraRig attached."); + else if (CameraRigs.Length > 1) + Debug.LogWarning("OVRPlayerController: More then 1 OVRCameraRig attached."); + else + CameraRig = CameraRigs[0]; + + InitialYRotation = transform.rotation.eulerAngles.y; + } + + void OnEnable() + { + OVRManager.display.RecenteredPose += ResetOrientation; + + if (CameraRig != null) + { + CameraRig.UpdatedAnchors += UpdateTransform; + } + } + + void OnDisable() + { + OVRManager.display.RecenteredPose -= ResetOrientation; + + if (CameraRig != null) + { + CameraRig.UpdatedAnchors -= UpdateTransform; + } + } + + void Update() + { + //Use keys to ratchet rotation + if (Input.GetKeyDown(KeyCode.Q)) + buttonRotation -= RotationRatchet; + + if (Input.GetKeyDown(KeyCode.E)) + buttonRotation += RotationRatchet; + } + + protected virtual void UpdateController() + { + if (useProfileData) + { + if (InitialPose == null) + { + // Save the initial pose so it can be recovered if useProfileData + // is turned off later. + InitialPose = new OVRPose() + { + position = CameraRig.transform.localPosition, + orientation = CameraRig.transform.localRotation + }; + } + + var p = CameraRig.transform.localPosition; + if (OVRManager.instance.trackingOriginType == OVRManager.TrackingOrigin.EyeLevel) + { + p.y = OVRManager.profile.eyeHeight - (0.5f * Controller.height) + Controller.center.y; + } + else if (OVRManager.instance.trackingOriginType == OVRManager.TrackingOrigin.FloorLevel) + { + p.y = - (0.5f * Controller.height) + Controller.center.y; + } + CameraRig.transform.localPosition = p; + } + else if (InitialPose != null) + { + // Return to the initial pose if useProfileData was turned off at runtime + CameraRig.transform.localPosition = InitialPose.Value.position; + CameraRig.transform.localRotation = InitialPose.Value.orientation; + InitialPose = null; + } + + CameraHeight = CameraRig.centerEyeAnchor.localPosition.y; + + if (CameraUpdated != null) + { + CameraUpdated(); + } + + UpdateMovement(); + + Vector3 moveDirection = Vector3.zero; + + float motorDamp = (1.0f + (Damping * SimulationRate * Time.deltaTime)); + + MoveThrottle.x /= motorDamp; + MoveThrottle.y = (MoveThrottle.y > 0.0f) ? (MoveThrottle.y / motorDamp) : MoveThrottle.y; + MoveThrottle.z /= motorDamp; + + moveDirection += MoveThrottle * SimulationRate * Time.deltaTime; + + // Gravity + if (Controller.isGrounded && FallSpeed <= 0) + FallSpeed = ((Physics.gravity.y * (GravityModifier * 0.002f))); + else + FallSpeed += ((Physics.gravity.y * (GravityModifier * 0.002f)) * SimulationRate * Time.deltaTime); + + moveDirection.y += FallSpeed * SimulationRate * Time.deltaTime; + + + if (Controller.isGrounded && MoveThrottle.y <= transform.lossyScale.y * 0.001f) + { + // Offset correction for uneven ground + float bumpUpOffset = Mathf.Max(Controller.stepOffset, new Vector3(moveDirection.x, 0, moveDirection.z).magnitude); + moveDirection -= bumpUpOffset * Vector3.up; + } + + if (PreCharacterMove != null) + { + PreCharacterMove(); + Teleported = false; + } + + Vector3 predictedXZ = Vector3.Scale((Controller.transform.localPosition + moveDirection), new Vector3(1, 0, 1)); + + // Move contoller + Controller.Move(moveDirection); + Vector3 actualXZ = Vector3.Scale(Controller.transform.localPosition, new Vector3(1, 0, 1)); + + if (predictedXZ != actualXZ) + MoveThrottle += (actualXZ - predictedXZ) / (SimulationRate * Time.deltaTime); + } + + + + + + public virtual void UpdateMovement() + { + if (HaltUpdateMovement) + return; + + if (EnableLinearMovement) + { + bool moveForward = Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow); + bool moveLeft = Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow); + bool moveRight = Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow); + bool moveBack = Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow); + + bool dpad_move = false; + + if (OVRInput.Get(OVRInput.Button.DpadUp)) + { + moveForward = true; + dpad_move = true; + + } + + if (OVRInput.Get(OVRInput.Button.DpadDown)) + { + moveBack = true; + dpad_move = true; + } + + MoveScale = 1.0f; + + if ((moveForward && moveLeft) || (moveForward && moveRight) || + (moveBack && moveLeft) || (moveBack && moveRight)) + MoveScale = 0.70710678f; + + // No positional movement if we are in the air + if (!Controller.isGrounded) + MoveScale = 0.0f; + + MoveScale *= SimulationRate * Time.deltaTime; + + // Compute this for key movement + float moveInfluence = Acceleration * 0.1f * MoveScale * MoveScaleMultiplier; + + // Run! + if (dpad_move || Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) + moveInfluence *= 2.0f; + + Quaternion ort = transform.rotation; + Vector3 ortEuler = ort.eulerAngles; + ortEuler.z = ortEuler.x = 0f; + ort = Quaternion.Euler(ortEuler); + + if (moveForward) + MoveThrottle += ort * (transform.lossyScale.z * moveInfluence * Vector3.forward); + if (moveBack) + MoveThrottle += ort * (transform.lossyScale.z * moveInfluence * BackAndSideDampen * Vector3.back); + if (moveLeft) + MoveThrottle += ort * (transform.lossyScale.x * moveInfluence * BackAndSideDampen * Vector3.left); + if (moveRight) + MoveThrottle += ort * (transform.lossyScale.x * moveInfluence * BackAndSideDampen * Vector3.right); + + + + moveInfluence = Acceleration * 0.1f * MoveScale * MoveScaleMultiplier; + +#if !UNITY_ANDROID // LeftTrigger not avail on Android game pad + moveInfluence *= 1.0f + OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTrigger); +#endif + + Vector2 primaryAxis = OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick); + + // If speed quantization is enabled, adjust the input to the number of fixed speed steps. + if (FixedSpeedSteps > 0) + { + primaryAxis.y = Mathf.Round(primaryAxis.y * FixedSpeedSteps) / FixedSpeedSteps; + primaryAxis.x = Mathf.Round(primaryAxis.x * FixedSpeedSteps) / FixedSpeedSteps; + } + + if (primaryAxis.y > 0.0f) + MoveThrottle += ort * (primaryAxis.y * transform.lossyScale.z * moveInfluence * Vector3.forward); + + if (primaryAxis.y < 0.0f) + MoveThrottle += ort * (Mathf.Abs(primaryAxis.y) * transform.lossyScale.z * moveInfluence * + BackAndSideDampen * Vector3.back); + + if (primaryAxis.x < 0.0f) + MoveThrottle += ort * (Mathf.Abs(primaryAxis.x) * transform.lossyScale.x * moveInfluence * + BackAndSideDampen * Vector3.left); + + if (primaryAxis.x > 0.0f) + MoveThrottle += ort * (primaryAxis.x * transform.lossyScale.x * moveInfluence * BackAndSideDampen * + Vector3.right); + } + + if (EnableRotation) + { + Vector3 euler = transform.rotation.eulerAngles; + float rotateInfluence = SimulationRate * Time.deltaTime * RotationAmount * RotationScaleMultiplier; + + bool curHatLeft = OVRInput.Get(OVRInput.Button.PrimaryShoulder); + + if (curHatLeft && !prevHatLeft) + euler.y -= RotationRatchet; + + prevHatLeft = curHatLeft; + + bool curHatRight = OVRInput.Get(OVRInput.Button.SecondaryShoulder); + + if (curHatRight && !prevHatRight) + euler.y += RotationRatchet; + + prevHatRight = curHatRight; + + euler.y += buttonRotation; + buttonRotation = 0f; + + +#if !UNITY_ANDROID || UNITY_EDITOR + if (!SkipMouseRotation) + euler.y += Input.GetAxis("Mouse X") * rotateInfluence * 3.25f; +#endif + + if (SnapRotation) + { + + if (OVRInput.Get(OVRInput.Button.SecondaryThumbstickLeft)) + { + if (ReadyToSnapTurn) + { + euler.y -= RotationRatchet; + ReadyToSnapTurn = false; + } + } + else if (OVRInput.Get(OVRInput.Button.SecondaryThumbstickRight)) + { + if (ReadyToSnapTurn) + { + euler.y += RotationRatchet; + ReadyToSnapTurn = false; + } + } + else + { + ReadyToSnapTurn = true; + } + } + else + { + Vector2 secondaryAxis = OVRInput.Get(OVRInput.Axis2D.SecondaryThumbstick); + euler.y += secondaryAxis.x * rotateInfluence; + } + + transform.rotation = Quaternion.Euler(euler); + } + } + + + /// + /// Invoked by OVRCameraRig's UpdatedAnchors callback. Allows the Hmd rotation to update the facing direction of the player. + /// + public void UpdateTransform(OVRCameraRig rig) + { + Transform root = CameraRig.trackingSpace; + Transform centerEye = CameraRig.centerEyeAnchor; + + if (HmdRotatesY && !Teleported) + { + Vector3 prevPos = root.position; + Quaternion prevRot = root.rotation; + + transform.rotation = Quaternion.Euler(0.0f, centerEye.rotation.eulerAngles.y, 0.0f); + + root.position = prevPos; + root.rotation = prevRot; + } + + UpdateController(); + if (TransformUpdated != null) + { + TransformUpdated(root); + } + } + + /// + /// Jump! Must be enabled manually. + /// + public bool Jump() + { + if (!Controller.isGrounded) + return false; + + MoveThrottle += new Vector3(0, transform.lossyScale.y * JumpForce, 0); + + return true; + } + + /// + /// Stop this instance. + /// + public void Stop() + { + Controller.Move(Vector3.zero); + MoveThrottle = Vector3.zero; + FallSpeed = 0.0f; + } + + /// + /// Gets the move scale multiplier. + /// + /// Move scale multiplier. + public void GetMoveScaleMultiplier(ref float moveScaleMultiplier) + { + moveScaleMultiplier = MoveScaleMultiplier; + } + + /// + /// Sets the move scale multiplier. + /// + /// Move scale multiplier. + public void SetMoveScaleMultiplier(float moveScaleMultiplier) + { + MoveScaleMultiplier = moveScaleMultiplier; + } + + /// + /// Gets the rotation scale multiplier. + /// + /// Rotation scale multiplier. + public void GetRotationScaleMultiplier(ref float rotationScaleMultiplier) + { + rotationScaleMultiplier = RotationScaleMultiplier; + } + + /// + /// Sets the rotation scale multiplier. + /// + /// Rotation scale multiplier. + public void SetRotationScaleMultiplier(float rotationScaleMultiplier) + { + RotationScaleMultiplier = rotationScaleMultiplier; + } + + /// + /// Gets the allow mouse rotation. + /// + /// Allow mouse rotation. + public void GetSkipMouseRotation(ref bool skipMouseRotation) + { + skipMouseRotation = SkipMouseRotation; + } + + /// + /// Sets the allow mouse rotation. + /// + /// If set to true allow mouse rotation. + public void SetSkipMouseRotation(bool skipMouseRotation) + { + SkipMouseRotation = skipMouseRotation; + } + + /// + /// Gets the halt update movement. + /// + /// Halt update movement. + public void GetHaltUpdateMovement(ref bool haltUpdateMovement) + { + haltUpdateMovement = HaltUpdateMovement; + } + + /// + /// Sets the halt update movement. + /// + /// If set to true halt update movement. + public void SetHaltUpdateMovement(bool haltUpdateMovement) + { + HaltUpdateMovement = haltUpdateMovement; + } + + /// + /// Resets the player look rotation when the device orientation is reset. + /// + public void ResetOrientation() + { + if (HmdResetsY && !HmdRotatesY) + { + Vector3 euler = transform.rotation.eulerAngles; + euler.y = InitialYRotation; + transform.rotation = Quaternion.Euler(euler); + } + } +} + diff --git a/Assets/Oculus/VR/Scripts/Util/OVRPlayerController.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRPlayerController.cs.meta new file mode 100644 index 0000000..40351ba --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRPlayerController.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0950df82e7936c84983497630bde5b54 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRPointerEventData.cs b/Assets/Oculus/VR/Scripts/Util/OVRPointerEventData.cs new file mode 100644 index 0000000..a1daed0 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRPointerEventData.cs @@ -0,0 +1,99 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + + +Unless required by applicable law or agreed to in writing, the Oculus VR 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.Text; +using UnityEngine; +using UnityEngine.Assertions; + + +namespace UnityEngine.EventSystems +{ + /// + /// Extension of Unity's PointerEventData to support ray based pointing and also touchpad swiping + /// + public class OVRPointerEventData : PointerEventData + { + public OVRPointerEventData(EventSystem eventSystem) + : base(eventSystem) + { + + } + + public Ray worldSpaceRay; + public Vector2 swipeStart; + + public override string ToString() + { + var sb = new StringBuilder(); + sb.AppendLine("Position: " + position); + sb.AppendLine("delta: " + delta); + sb.AppendLine("eligibleForClick: " + eligibleForClick); + sb.AppendLine("pointerEnter: " + pointerEnter); + sb.AppendLine("pointerPress: " + pointerPress); + sb.AppendLine("lastPointerPress: " + lastPress); + sb.AppendLine("pointerDrag: " + pointerDrag); + sb.AppendLine("worldSpaceRay: " + worldSpaceRay); + sb.AppendLine("swipeStart: " + swipeStart); + sb.AppendLine("Use Drag Threshold: " + useDragThreshold); + return sb.ToString(); + } + + } + + + /// + /// Static helpers for OVRPointerEventData. + /// + public static class PointerEventDataExtension + { + + public static bool IsVRPointer(this PointerEventData pointerEventData) + { + return (pointerEventData is OVRPointerEventData); + } + public static Ray GetRay(this PointerEventData pointerEventData) + { + OVRPointerEventData vrPointerEventData = pointerEventData as OVRPointerEventData; + Assert.IsNotNull(vrPointerEventData); + + return vrPointerEventData.worldSpaceRay; + } + public static Vector2 GetSwipeStart(this PointerEventData pointerEventData) + { + OVRPointerEventData vrPointerEventData = pointerEventData as OVRPointerEventData; + Assert.IsNotNull(vrPointerEventData); + + return vrPointerEventData.swipeStart; + } + public static void SetSwipeStart(this PointerEventData pointerEventData, Vector2 start) + { + OVRPointerEventData vrPointerEventData = pointerEventData as OVRPointerEventData; + Assert.IsNotNull(vrPointerEventData); + + vrPointerEventData.swipeStart = start; + } + + + + + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRPointerEventData.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRPointerEventData.cs.meta new file mode 100644 index 0000000..cefb186 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRPointerEventData.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 646c937ce12610744adc2b5e487f77ac +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRProfiler.cs b/Assets/Oculus/VR/Scripts/Util/OVRProfiler.cs new file mode 100644 index 0000000..f65b328 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRProfiler.cs @@ -0,0 +1,163 @@ +#if UNITY_EDITOR + +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; +using Assets.OVR.Scripts; + +public class OVRProfiler : EditorWindow +{ + enum TargetPlatform + { + OculusGo, + GearVR, + SantaCruz, + OculusRift + }; + + private static List mRecords = new List(); + private Vector2 mScrollPosition; + static private TargetPlatform mTargetPlatform; + + [MenuItem("Tools/Oculus/OVR Profiler")] + static void Init() + { + // Get existing open window or if none, make a new one: + EditorWindow.GetWindow(typeof(OVRProfiler)); +#if UNITY_ANDROID + mTargetPlatform = TargetPlatform.OculusGo; +#else + mTargetPlatform = TargetPlatform.OculusRift; +#endif + } + + void OnGUI() + { + GUILayout.Label("OVR Profiler", EditorStyles.boldLabel); + string[] options = new string[] + { + "Oculus Go", "Gear VR", "Santa Cruz", "Oculus Rift", + }; + mTargetPlatform = (TargetPlatform)EditorGUILayout.Popup("Target Oculus Platform", (int)mTargetPlatform, options); + + if (EditorApplication.isPlaying) + { + UpdateRecords(); + DrawResults(); + } + else + { + ShowCenterAlignedMessageLabel("Click Run in Unity to view stats."); + } + } + + void OnInspectorUpdate() + { + Repaint(); + } + + void DrawResults() + { + string lastCategory = ""; + + mScrollPosition = EditorGUILayout.BeginScrollView(mScrollPosition); + + foreach (RangedRecord record in mRecords) + { + // Add separator and label for new category + if (!record.category.Equals(lastCategory)) + { + lastCategory = record.category; + EditorGUILayout.Separator(); + EditorGUILayout.BeginHorizontal(); + GUILayout.Label(lastCategory, EditorStyles.label, GUILayout.Width(200)); + EditorGUILayout.EndHorizontal(); + } + + // Draw records + EditorGUILayout.BeginHorizontal(); + Rect r = EditorGUILayout.BeginVertical(); + EditorGUI.ProgressBar(r, record.value / (record.max * 2), record.category + " " + record.value.ToString()); + GUILayout.Space(16); + EditorGUILayout.EndVertical(); + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + GUILayout.Label(record.message); + EditorGUILayout.EndHorizontal(); + + GUI.enabled = true; + + } + + EditorGUILayout.EndScrollView(); + } + + private void UpdateRecords() + { + mRecords.Clear(); + + if (mTargetPlatform == TargetPlatform.OculusRift) + { + AddRecord("Client Frame CPU Time (ms)", "", UnityStats.frameTime * 1000, 0, 11); + AddRecord("Render Frame CPU Time (ms)", "", UnityStats.renderTime * 1000, 0, 11); + } + else + { + // Graphics memory + long memSizeByte = UnityStats.usedTextureMemorySize + UnityStats.vboTotalBytes; + AddRecord("Graphics Memory (MB)", "Please use less than 1024 MB of vertex and texture memory.", ConvertBytes(memSizeByte, "MB"), 0, 1024); + } + + float triVertRec = mTargetPlatform == TargetPlatform.OculusRift ? 1000000 : 100000; + // Triangle count + AddRecord("Triangles", "Please use less than 100000 triangles.", UnityStats.triangles, 0, triVertRec); + + // Vertices count + AddRecord("Vertices", "Please use less than 100000 vertices.", UnityStats.vertices, 0, triVertRec); + + float dcRec = mTargetPlatform == TargetPlatform.OculusRift ? 1000 : 100; + // Draw call count + AddRecord("Draw Call", "Please use less than 100 draw calls.", UnityStats.drawCalls, 0, dcRec); + } + + private string FormatBytes(long bytes, string target) + { + return System.String.Format("{0:0.##} {1}", ConvertBytes(bytes, target), target); + } + + private float ConvertBytes(long bytes, string target) + { + string[] Suffix = { "B", "KB", "MB", "GB", "TB" }; + int i; + double dblSByte = bytes; + for (i = 0; i < Suffix.Length; i++, bytes /= 1024) + { + if (Suffix[i] == target) + return (float)dblSByte; + dblSByte = bytes / 1024.0; + } + return 0; + } + + private void ShowCenterAlignedMessageLabel(string message) + { + GUILayout.BeginVertical(); + GUILayout.FlexibleSpace(); + GUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + GUILayout.Label(message, EditorStyles.boldLabel); + GUILayout.FlexibleSpace(); + GUILayout.EndHorizontal(); + GUILayout.FlexibleSpace(); + GUILayout.EndVertical(); + } + + private void AddRecord(string category, string message, float value, float min, float max) + { + RangedRecord record = new RangedRecord(category, message, value, min, max); + mRecords.Add(record); + } +} + +#endif diff --git a/Assets/Oculus/VR/Scripts/Util/OVRProfiler.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRProfiler.cs.meta new file mode 100644 index 0000000..1d19ac1 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRProfiler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3303d4232ee59ac40a9fdc223870fbbc +timeCreated: 1520636357 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRProgressIndicator.cs b/Assets/Oculus/VR/Scripts/Util/OVRProgressIndicator.cs new file mode 100644 index 0000000..691fce8 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRProgressIndicator.cs @@ -0,0 +1,49 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using UnityEngine.UI; +using System.Collections; + +/// +/// Visualizes progress for operations such as loading. +/// +public class OVRProgressIndicator : MonoBehaviour +{ + public MeshRenderer progressImage; + + [Range(0, 1)] + public float currentProgress = 0.7f; + + void Awake() + { + progressImage.sortingOrder = 150; + } + + + + // Update is called once per frame + void Update() + { + progressImage.sharedMaterial.SetFloat("_AlphaCutoff", 1-currentProgress); + + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRProgressIndicator.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRProgressIndicator.cs.meta new file mode 100644 index 0000000..b768199 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRProgressIndicator.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f14ece5575e2b1e4d80619901d65b428 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRRaycaster.cs b/Assets/Oculus/VR/Scripts/Util/OVRRaycaster.cs new file mode 100644 index 0000000..40a3f27 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRRaycaster.cs @@ -0,0 +1,320 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections.Generic; +using System.Text; +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.EventSystems; +using UnityEngine.Serialization; + +/// +/// Extension of GraphicRaycaster to support ray casting with world space rays instead of just screen-space +/// pointer positions +/// +[RequireComponent(typeof(Canvas))] +public class OVRRaycaster : GraphicRaycaster, IPointerEnterHandler +{ + [Tooltip("A world space pointer for this canvas")] + public GameObject pointer; + + public int sortOrder = 0; + + protected OVRRaycaster() + { } + + [NonSerialized] + private Canvas m_Canvas; + + private Canvas canvas + { + get + { + if (m_Canvas != null) + return m_Canvas; + + m_Canvas = GetComponent(); + return m_Canvas; + } + } + + public override Camera eventCamera + { + get + { + return canvas.worldCamera; + } + } + + public override int sortOrderPriority + { + get + { + return sortOrder; + } + } + + /// + /// For the given ray, find graphics on this canvas which it intersects and are not blocked by other + /// world objects + /// + [NonSerialized] + private List m_RaycastResults = new List(); + private void Raycast(PointerEventData eventData, List resultAppendList, Ray ray, bool checkForBlocking) + { + //This function is closely based on + //void GraphicRaycaster.Raycast(PointerEventData eventData, List resultAppendList) + + if (canvas == null) + return; + + float hitDistance = float.MaxValue; + + if (checkForBlocking && blockingObjects != BlockingObjects.None) + { + float dist = eventCamera.farClipPlane; + + if (blockingObjects == BlockingObjects.ThreeD || blockingObjects == BlockingObjects.All) + { + var hits = Physics.RaycastAll(ray, dist, m_BlockingMask); + + if (hits.Length > 0 && hits[0].distance < hitDistance) + { + hitDistance = hits[0].distance; + } + } + + if (blockingObjects == BlockingObjects.TwoD || blockingObjects == BlockingObjects.All) + { + var hits = Physics2D.GetRayIntersectionAll(ray, dist, m_BlockingMask); + + if (hits.Length > 0 && hits[0].fraction * dist < hitDistance) + { + hitDistance = hits[0].fraction * dist; + } + } + } + + m_RaycastResults.Clear(); + + GraphicRaycast(canvas, ray, m_RaycastResults); + + for (var index = 0; index < m_RaycastResults.Count; index++) + { + var go = m_RaycastResults[index].graphic.gameObject; + bool appendGraphic = true; + + if (ignoreReversedGraphics) + { + // If we have a camera compare the direction against the cameras forward. + var cameraFoward = ray.direction; + var dir = go.transform.rotation * Vector3.forward; + appendGraphic = Vector3.Dot(cameraFoward, dir) > 0; + } + + // Ignore points behind us (can happen with a canvas pointer) + if (eventCamera.transform.InverseTransformPoint(m_RaycastResults[index].worldPos).z <= 0) + { + appendGraphic = false; + } + + if (appendGraphic) + { + float distance = Vector3.Distance(ray.origin, m_RaycastResults[index].worldPos); + + if (distance >= hitDistance) + { + continue; + } + + var castResult = new RaycastResult + { + gameObject = go, + module = this, + distance = distance, + index = resultAppendList.Count, + depth = m_RaycastResults[index].graphic.depth, + + worldPosition = m_RaycastResults[index].worldPos + }; + resultAppendList.Add(castResult); + } + } + } + + /// + /// Performs a raycast using eventData.worldSpaceRay + /// + /// + /// + public override void Raycast(PointerEventData eventData, List resultAppendList) + { + if (eventData.IsVRPointer()) + { + Raycast(eventData, resultAppendList, eventData.GetRay(), true); + } + } + /// + /// Performs a raycast using the pointer object attached to this OVRRaycaster + /// + /// + /// + public void RaycastPointer(PointerEventData eventData, List resultAppendList) + { + if (pointer != null && pointer.activeInHierarchy) + { + Raycast(eventData, resultAppendList, new Ray(eventCamera.transform.position, (pointer.transform.position - eventCamera.transform.position).normalized), false); + } + } + + + /// + /// Perform a raycast into the screen and collect all graphics underneath it. + /// + [NonSerialized] + static readonly List s_SortedGraphics = new List(); + private void GraphicRaycast(Canvas canvas, Ray ray, List results) + { + //This function is based closely on : + // void GraphicRaycaster.Raycast(Canvas canvas, Camera eventCamera, Vector2 pointerPosition, List results) + // But modified to take a Ray instead of a canvas pointer, and also to explicitly ignore + // the graphic associated with the pointer + + // Necessary for the event system + var foundGraphics = GraphicRegistry.GetGraphicsForCanvas(canvas); + s_SortedGraphics.Clear(); + for (int i = 0; i < foundGraphics.Count; ++i) + { + Graphic graphic = foundGraphics[i]; + + // -1 means it hasn't been processed by the canvas, which means it isn't actually drawn + if (graphic.depth == -1 || (pointer == graphic.gameObject)) + continue; + Vector3 worldPos; + if (RayIntersectsRectTransform(graphic.rectTransform, ray, out worldPos)) + { + //Work out where this is on the screen for compatibility with existing Unity UI code + Vector2 screenPos = eventCamera.WorldToScreenPoint(worldPos); + // mask/image intersection - See Unity docs on eventAlphaThreshold for when this does anything + if (graphic.Raycast(screenPos, eventCamera)) + { + RaycastHit hit; + hit.graphic = graphic; + hit.worldPos = worldPos; + hit.fromMouse = false; + s_SortedGraphics.Add(hit); + } + } + } + + s_SortedGraphics.Sort((g1, g2) => g2.graphic.depth.CompareTo(g1.graphic.depth)); + + for (int i = 0; i < s_SortedGraphics.Count; ++i) + { + results.Add(s_SortedGraphics[i]); + } + } + /// + /// Get screen position of worldPosition contained in this RaycastResult + /// + /// + /// + public Vector2 GetScreenPosition(RaycastResult raycastResult) + { + // In future versions of Uinty RaycastResult will contain screenPosition so this will not be necessary + return eventCamera.WorldToScreenPoint(raycastResult.worldPosition); + } + + + /// + /// Detects whether a ray intersects a RectTransform and if it does also + /// returns the world position of the intersection. + /// + /// + /// + /// + /// + static bool RayIntersectsRectTransform(RectTransform rectTransform, Ray ray, out Vector3 worldPos) + { + Vector3[] corners = new Vector3[4]; + rectTransform.GetWorldCorners(corners); + Plane plane = new Plane(corners[0], corners[1], corners[2]); + + float enter; + if (!plane.Raycast(ray, out enter)) + { + worldPos = Vector3.zero; + return false; + } + + Vector3 intersection = ray.GetPoint(enter); + + Vector3 BottomEdge = corners[3] - corners[0]; + Vector3 LeftEdge = corners[1] - corners[0]; + float BottomDot = Vector3.Dot(intersection - corners[0], BottomEdge); + float LeftDot = Vector3.Dot(intersection - corners[0], LeftEdge); + if (BottomDot < BottomEdge.sqrMagnitude && // Can use sqrMag because BottomEdge is not normalized + LeftDot < LeftEdge.sqrMagnitude && + BottomDot >= 0 && + LeftDot >= 0) + { + worldPos = corners[0] + LeftDot * LeftEdge / LeftEdge.sqrMagnitude + BottomDot * BottomEdge / BottomEdge.sqrMagnitude; + return true; + } + else + { + worldPos = Vector3.zero; + return false; + } + } + + + struct RaycastHit + { + public Graphic graphic; + public Vector3 worldPos; + public bool fromMouse; + }; + + + /// + /// Is this the currently focussed Raycaster according to the InputModule + /// + /// + public bool IsFocussed() + { + OVRInputModule inputModule = EventSystem.current.currentInputModule as OVRInputModule; + return inputModule && inputModule.activeGraphicRaycaster == this; + } + + public void OnPointerEnter(PointerEventData e) + { + if (e.IsVRPointer()) + { + // Gaze has entered this canvas. We'll make it the active one so that canvas-mouse pointer can be used. + OVRInputModule inputModule = EventSystem.current.currentInputModule as OVRInputModule; + inputModule.activeGraphicRaycaster = this; + } + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRRaycaster.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRRaycaster.cs.meta new file mode 100644 index 0000000..b0c5315 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRRaycaster.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7aaf960227867044282d921171d2d7ac +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRRecord.cs b/Assets/Oculus/VR/Scripts/Util/OVRRecord.cs new file mode 100644 index 0000000..ffa8b5d --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRRecord.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Assets.OVR.Scripts +{ + public class Record + { + public string category; + public string message; + public Record(string cat, string msg) + { + category = cat; + message = msg; + } + } + + public class RangedRecord : Record + { + public float value; + public float min; + public float max; + public RangedRecord(string cat, string msg, float val, float minVal, float maxVal) + : base(cat, msg) + { + value = val; + min = minVal; + max = maxVal; + } + } + + public delegate void FixMethodDelegate(UnityEngine.Object obj, bool isLastInSet, int selectedIndex); + + public class FixRecord : Record + { + public FixMethodDelegate fixMethod; + public UnityEngine.Object targetObject; + public string[] buttonNames; + public bool complete; + + public FixRecord(string cat, string msg, FixMethodDelegate fix, UnityEngine.Object target, string[] buttons) + : base(cat, msg) + { + buttonNames = buttons; + fixMethod = fix; + targetObject = target; + complete = false; + } + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRRecord.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRRecord.cs.meta new file mode 100644 index 0000000..96fffaa --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRRecord.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 63f0fe0d60ddeb54f9f43d701286af2d +timeCreated: 1520636357 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRResetOrientation.cs b/Assets/Oculus/VR/Scripts/Util/OVRResetOrientation.cs new file mode 100644 index 0000000..36573d7 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRResetOrientation.cs @@ -0,0 +1,49 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; + +/// +/// Allows you to reset VR input tracking with a gamepad button press. +/// +public class OVRResetOrientation : MonoBehaviour +{ + /// + /// The gamepad button that will reset VR input tracking. + /// + public OVRInput.RawButton resetButton = OVRInput.RawButton.Y; + + /// + /// Check input and reset orientation if necessary + /// See the input mapping setup in the Unity Integration guide + /// + void Update() + { + // NOTE: some of the buttons defined in OVRInput.RawButton are not available on the Android game pad controller + if (OVRInput.GetDown(resetButton)) + { + //************************* + // reset orientation + //************************* + OVRManager.display.RecenterPose(); + } + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRResetOrientation.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRResetOrientation.cs.meta new file mode 100644 index 0000000..82ff7d0 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRResetOrientation.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 09bb0a17b6a704298b65be4fb08ef480 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRSceneSampleController.cs b/Assets/Oculus/VR/Scripts/Util/OVRSceneSampleController.cs new file mode 100644 index 0000000..775615f --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRSceneSampleController.cs @@ -0,0 +1,218 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections; + +/// +/// Sample that allows you to play with various VR settings. +/// +public class OVRSceneSampleController : MonoBehaviour +{ + /// + /// The key that quits the application. + /// + public KeyCode quitKey = KeyCode.Escape; + + /// + /// An optional texture that appears before the menu fades in. + /// + public Texture fadeInTexture = null; + + /// + /// Controls how quickly the player's speed and rotation change based on input. + /// + public float speedRotationIncrement = 0.05f; + + private OVRPlayerController playerController = null; + + // Handle to OVRCameraRig + private OVRCameraRig cameraController = null; + + /// + /// We can set the layer to be anything we want to, this allows + /// a specific camera to render it. + /// + public string layerName = "Default"; + + // Vision mode on/off + private bool visionMode = true; + + // We want to hold onto GridCube, for potential sharing + // of the menu RenderTarget + OVRGridCube gridCube = null; + +#if SHOW_DK2_VARIABLES + private string strVisionMode = "Vision Enabled: ON"; +#endif + + #region MonoBehaviour Message Handlers + /// + /// Awake this instance. + /// + void Awake() + { + // Find camera controller + OVRCameraRig[] cameraControllers; + cameraControllers = gameObject.GetComponentsInChildren(); + + if (cameraControllers.Length == 0) + { + Debug.LogWarning("OVRMainMenu: No OVRCameraRig attached."); + } + else if (cameraControllers.Length > 1) + { + Debug.LogWarning("OVRMainMenu: More then 1 OVRCameraRig attached."); + } + else + { + cameraController = cameraControllers[0]; + } + + // Find player controller + OVRPlayerController[] playerControllers; + playerControllers = gameObject.GetComponentsInChildren(); + + if (playerControllers.Length == 0) + { + Debug.LogWarning("OVRMainMenu: No OVRPlayerController attached."); + } + else if (playerControllers.Length > 1) + { + Debug.LogWarning("OVRMainMenu: More then 1 OVRPlayerController attached."); + } + else + { + playerController = playerControllers[0]; + } + } + + /// + /// Start this instance. + /// + void Start() + { + // Make sure to hide cursor + if (Application.isEditor == false) + { + Cursor.visible = false; + Cursor.lockState = CursorLockMode.Locked; + } + + // CameraController updates + if (cameraController != null) + { + // Add a GridCube component to this object + gridCube = gameObject.AddComponent(); + gridCube.SetOVRCameraController(ref cameraController); + } + } + + + /// + /// Update this instance. + /// + void Update() + { + // Recenter pose + UpdateRecenterPose(); + + // Turn On/Off Vision Mode + UpdateVisionMode(); + + // Update Speed and Rotation Scale + if (playerController != null) + UpdateSpeedAndRotationScaleMultiplier(); + + // Toggle Fullscreen + if (Input.GetKeyDown(KeyCode.F11)) + Screen.fullScreen = !Screen.fullScreen; + + if (Input.GetKeyDown(KeyCode.M)) +#if UNITY_2017_2_OR_NEWER + UnityEngine.XR.XRSettings.showDeviceView = !UnityEngine.XR.XRSettings.showDeviceView; +#else + UnityEngine.VR.VRSettings.showDeviceView = !UnityEngine.VR.VRSettings.showDeviceView; +#endif + +#if !UNITY_ANDROID || UNITY_EDITOR + // Escape Application + if (Input.GetKeyDown(quitKey)) + Application.Quit(); +#endif + } + #endregion + + /// + /// Updates the vision mode. + /// + void UpdateVisionMode() + { + if (Input.GetKeyDown(KeyCode.F2)) + { + visionMode ^= visionMode; + OVRManager.tracker.isEnabled = visionMode; + } + } + + /// + /// Updates the speed and rotation scale multiplier. + /// + void UpdateSpeedAndRotationScaleMultiplier() + { + float moveScaleMultiplier = 0.0f; + playerController.GetMoveScaleMultiplier(ref moveScaleMultiplier); + + if (Input.GetKeyDown(KeyCode.Alpha7)) + { + moveScaleMultiplier -= speedRotationIncrement; + } + else if (Input.GetKeyDown(KeyCode.Alpha8)) + { + moveScaleMultiplier += speedRotationIncrement; + } + + playerController.SetMoveScaleMultiplier(moveScaleMultiplier); + + float rotationScaleMultiplier = 0.0f; + playerController.GetRotationScaleMultiplier(ref rotationScaleMultiplier); + + if (Input.GetKeyDown(KeyCode.Alpha9)) + { + rotationScaleMultiplier -= speedRotationIncrement; + } + else if (Input.GetKeyDown(KeyCode.Alpha0)) + { + rotationScaleMultiplier += speedRotationIncrement; + } + + playerController.SetRotationScaleMultiplier(rotationScaleMultiplier); + } + + /// + /// Recenter pose + /// + void UpdateRecenterPose() + { + if (Input.GetKeyDown(KeyCode.R)) + OVRManager.display.RecenterPose(); + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRSceneSampleController.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRSceneSampleController.cs.meta new file mode 100644 index 0000000..cfc88b8 --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRSceneSampleController.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4f07515ada089df47868559a20dd6783 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRScreenFade.cs b/Assets/Oculus/VR/Scripts/Util/OVRScreenFade.cs new file mode 100644 index 0000000..51058be --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRScreenFade.cs @@ -0,0 +1,209 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections; // required for Coroutines + +/// +/// Fades the screen from black after a new scene is loaded. Fade can also be controlled mid-scene using SetUIFade and SetFadeLevel +/// +public class OVRScreenFade : MonoBehaviour +{ + [Tooltip("Fade duration")] + public float fadeTime = 2.0f; + + [Tooltip("Screen color at maximum fade")] + public Color fadeColor = new Color(0.01f, 0.01f, 0.01f, 1.0f); + + public bool fadeOnStart = true; + + /// + /// The render queue used by the fade mesh. Reduce this if you need to render on top of it. + /// + public int renderQueue = 5000; + + private float uiFadeAlpha = 0; + + private MeshRenderer fadeRenderer; + private MeshFilter fadeMesh; + private Material fadeMaterial = null; + private bool isFading = false; + + public float currentAlpha { get; private set; } + + void Awake() + { + // create the fade material + fadeMaterial = new Material(Shader.Find("Oculus/Unlit Transparent Color")); + fadeMesh = gameObject.AddComponent(); + fadeRenderer = gameObject.AddComponent(); + + var mesh = new Mesh(); + fadeMesh.mesh = mesh; + + Vector3[] vertices = new Vector3[4]; + + float width = 2f; + float height = 2f; + float depth = 1f; + + vertices[0] = new Vector3(-width, -height, depth); + vertices[1] = new Vector3(width, -height, depth); + vertices[2] = new Vector3(-width, height, depth); + vertices[3] = new Vector3(width, height, depth); + + mesh.vertices = vertices; + + int[] tri = new int[6]; + + tri[0] = 0; + tri[1] = 2; + tri[2] = 1; + + tri[3] = 2; + tri[4] = 3; + tri[5] = 1; + + mesh.triangles = tri; + + Vector3[] normals = new Vector3[4]; + + normals[0] = -Vector3.forward; + normals[1] = -Vector3.forward; + normals[2] = -Vector3.forward; + normals[3] = -Vector3.forward; + + mesh.normals = normals; + + Vector2[] uv = new Vector2[4]; + + uv[0] = new Vector2(0, 0); + uv[1] = new Vector2(1, 0); + uv[2] = new Vector2(0, 1); + uv[3] = new Vector2(1, 1); + + mesh.uv = uv; + + SetFadeLevel(0); + } + + /// + /// Start a fade out + /// + public void FadeOut() + { + StartCoroutine(Fade(0,1)); + } + + + /// + /// Starts a fade in when a new level is loaded + /// + void OnLevelFinishedLoading(int level) + { + StartCoroutine(Fade(1,0)); + } + + /// + /// Automatically starts a fade in + /// + void Start() + { + if (fadeOnStart) + { + StartCoroutine(Fade(1,0)); + } + } + + void OnEnable() + { + if (!fadeOnStart) + { + SetFadeLevel(0); + } + } + + /// + /// Cleans up the fade material + /// + void OnDestroy() + { + if (fadeRenderer != null) + Destroy(fadeRenderer); + + if (fadeMaterial != null) + Destroy(fadeMaterial); + + if (fadeMesh != null) + Destroy(fadeMesh); + } + + /// + /// Set the UI fade level - fade due to UI in foreground + /// + public void SetUIFade(float level) + { + uiFadeAlpha = Mathf.Clamp01(level); + SetMaterialAlpha(); + } + /// + /// Override current fade level + /// + /// + public void SetFadeLevel(float level) + { + currentAlpha = level; + SetMaterialAlpha(); + } + + /// + /// Fades alpha from 1.0 to 0.0 + /// + IEnumerator Fade(float startAlpha, float endAlpha) + { + float elapsedTime = 0.0f; + while (elapsedTime < fadeTime) + { + elapsedTime += Time.deltaTime; + currentAlpha = Mathf.Lerp(startAlpha, endAlpha, Mathf.Clamp01(elapsedTime / fadeTime)); + SetMaterialAlpha(); + yield return new WaitForEndOfFrame(); + } + } + + /// + /// Update material alpha. UI fade and the current fade due to fade in/out animations (or explicit control) + /// both affect the fade. (The max is taken) + /// + private void SetMaterialAlpha() + { + Color color = fadeColor; + color.a = Mathf.Max(currentAlpha, uiFadeAlpha); + isFading = color.a > 0; + if (fadeMaterial != null) + { + fadeMaterial.color = color; + fadeMaterial.renderQueue = renderQueue; + fadeRenderer.material = fadeMaterial; + fadeRenderer.enabled = isFading; + } + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRScreenFade.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRScreenFade.cs.meta new file mode 100644 index 0000000..05ea51c --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRScreenFade.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df8e1d778abf442e4bec449c360e9e1c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: -100 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRTrackedRemote.cs b/Assets/Oculus/VR/Scripts/Util/OVRTrackedRemote.cs new file mode 100644 index 0000000..078327d --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRTrackedRemote.cs @@ -0,0 +1,73 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; +using System.Collections; + +/// +/// Simple helper script that conditionally enables rendering of a controller if it is connected. +/// +public class OVRTrackedRemote : MonoBehaviour +{ + /// + /// The root GameObject that represents the GearVr Controller model. + /// + public GameObject m_modelGearVrController; + + /// + /// The root GameObject that represents the Oculus Go Controller model. + /// + public GameObject m_modelOculusGoController; + + /// + /// The controller that determines whether or not to enable rendering of the controller model. + /// + public OVRInput.Controller m_controller; + + private bool m_isOculusGo; + private bool m_prevControllerConnected = false; + private bool m_prevControllerConnectedCached = false; + + void Start() + { + m_isOculusGo = (OVRPlugin.productName == "Oculus Go"); + } + + void Update() + { + bool controllerConnected = OVRInput.IsControllerConnected(m_controller); + + if ((controllerConnected != m_prevControllerConnected) || !m_prevControllerConnectedCached) + { + m_modelOculusGoController.SetActive(controllerConnected && m_isOculusGo); + m_modelGearVrController.SetActive(controllerConnected && !m_isOculusGo); + + m_prevControllerConnected = controllerConnected; + m_prevControllerConnectedCached = true; + } + + if (!controllerConnected) + { + return; + } + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRTrackedRemote.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRTrackedRemote.cs.meta new file mode 100644 index 0000000..f82dbbf --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRTrackedRemote.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aed62bf3ae2456c408f247f96808ce96 +timeCreated: 1486166271 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Scripts/Util/OVRWaitCursor.cs b/Assets/Oculus/VR/Scripts/Util/OVRWaitCursor.cs new file mode 100644 index 0000000..edc02db --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRWaitCursor.cs @@ -0,0 +1,38 @@ +/************************************************************************************ + +Copyright : Copyright 2017 Oculus VR, LLC. All Rights reserved. + +Licensed under the Oculus VR Rift SDK License Version 3.4.1 (the "License"); +you may not use the Oculus VR Rift 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/sdk-3.4.1 + +Unless required by applicable law or agreed to in writing, the Oculus VR 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; + +/// +/// Rotates this GameObject at a given speed. +/// +public class OVRWaitCursor : MonoBehaviour +{ + public Vector3 rotateSpeeds = new Vector3(0.0f, 0.0f, -60.0f); + + /// + /// Auto rotates the attached cursor. + /// + void Update() + { + transform.Rotate(rotateSpeeds * Time.smoothDeltaTime); + } +} diff --git a/Assets/Oculus/VR/Scripts/Util/OVRWaitCursor.cs.meta b/Assets/Oculus/VR/Scripts/Util/OVRWaitCursor.cs.meta new file mode 100644 index 0000000..05f1f2b --- /dev/null +++ b/Assets/Oculus/VR/Scripts/Util/OVRWaitCursor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d313011a8bc474fe49260bde01cffcd3 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Oculus/VR/Shaders.meta b/Assets/Oculus/VR/Shaders.meta new file mode 100644 index 0000000..0026c39 --- /dev/null +++ b/Assets/Oculus/VR/Shaders.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d79c5fa4d57bda54f88884a89963d684 +folderAsset: yes +timeCreated: 1466707365 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Shaders/OVRColorRampAlpha.shader b/Assets/Oculus/VR/Shaders/OVRColorRampAlpha.shader new file mode 100644 index 0000000..12017eb --- /dev/null +++ b/Assets/Oculus/VR/Shaders/OVRColorRampAlpha.shader @@ -0,0 +1,63 @@ +Shader "OVRColorRampAlpa" { + Properties { + _Color ("Main Color", Color ) = (1,1,1,1) + _MainTex ("Diffuse (RGB) AlphaMask (A)", 2D) = "white" {} + _ColorRamp ("Color Ramp (A)", 2D) = "white" {} + _ColorRampOffset ("Color Ramp Offset", Range(0,1)) = 0.0 + } + +Category { + Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"} + Blend SrcAlpha OneMinusSrcAlpha + AlphaTest Greater .01 + ColorMask RGB + Cull Off Lighting Off ZWrite Off Fog { Color (0,0,0,0) } + + SubShader { + Pass { + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + sampler2D _MainTex; + sampler2D _ColorRamp; + float _ColorRampOffset; + fixed4 _Color; + + struct appdata_t { + float4 vertex : POSITION; + fixed4 color : COLOR; + float2 texcoord : TEXCOORD0; + }; + + struct v2f { + float4 vertex : SV_POSITION; + fixed4 color : COLOR; + float2 texcoord : TEXCOORD0; + }; + + float4 _MainTex_ST; + + v2f vert(appdata_t v) { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.color = v.color; + o.texcoord = TRANSFORM_TEX(v.texcoord,_MainTex); + return o; + } + + fixed4 frag(v2f i) : SV_Target { + float4 texel = tex2D(_MainTex, i.texcoord); + float2 colorIndex = float2( texel.x, _ColorRampOffset ); + float4 outColor = tex2D(_ColorRamp, colorIndex) * _Color; + outColor.a = texel.a; + return outColor; + } + ENDCG + } + } +} +} // Category \ No newline at end of file diff --git a/Assets/Oculus/VR/Shaders/OVRColorRampAlpha.shader.meta b/Assets/Oculus/VR/Shaders/OVRColorRampAlpha.shader.meta new file mode 100644 index 0000000..cf96ffc --- /dev/null +++ b/Assets/Oculus/VR/Shaders/OVRColorRampAlpha.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b95caf64e2cc3614892026a94bb2be84 +timeCreated: 1433268462 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Shaders/Unlit Crosshair.shader b/Assets/Oculus/VR/Shaders/Unlit Crosshair.shader new file mode 100644 index 0000000..5090ae7 --- /dev/null +++ b/Assets/Oculus/VR/Shaders/Unlit Crosshair.shader @@ -0,0 +1,79 @@ +// Unlit alpha-blended shader. +// - no lighting +// - no lightmap support +// - supports tint color + +Shader "Unlit/Crosshair" { + + Properties + { + _MainTex ("Base (RGB), Alpha (A)", 2D) = "white" {} + _Color ("Main Color", Color) = (0.5,0.5,0.5,0.5) + } + + SubShader + { + LOD 100 + + Tags + { + "Queue" = "Transparent" + "IgnoreProjector" = "True" + "RenderType" = "Transparent" + } + + Cull Off + Lighting Off + ZTest Always + ZWrite Off + Fog { Mode Off } + Offset -1, -1 + Blend SrcAlpha OneMinusSrcAlpha + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata_t + { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + fixed4 color : COLOR; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + half2 texcoord : TEXCOORD0; + fixed4 color : COLOR; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + fixed4 _Color; + + v2f vert (appdata_t v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + o.color = v.color; + return o; + } + + fixed4 frag (v2f i) : COLOR + { + fixed4 col = tex2D(_MainTex, i.texcoord) * i.color * _Color * 2.0; + return col; + } + ENDCG + } + } + + +} + diff --git a/Assets/Oculus/VR/Shaders/Unlit Crosshair.shader.meta b/Assets/Oculus/VR/Shaders/Unlit Crosshair.shader.meta new file mode 100644 index 0000000..c623068 --- /dev/null +++ b/Assets/Oculus/VR/Shaders/Unlit Crosshair.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 05b53b473302943b58b8e33c93a38dac +ShaderImporter: + defaultTextures: [] + userData: diff --git a/Assets/Oculus/VR/Textures.meta b/Assets/Oculus/VR/Textures.meta new file mode 100644 index 0000000..a1c7466 --- /dev/null +++ b/Assets/Oculus/VR/Textures.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 1938789817fe3974ea20e502ed4bcd76 +DefaultImporter: + userData: diff --git a/Assets/Oculus/VR/Textures/Black.png b/Assets/Oculus/VR/Textures/Black.png new file mode 100644 index 0000000..7d35fa4 Binary files /dev/null and b/Assets/Oculus/VR/Textures/Black.png differ diff --git a/Assets/Oculus/VR/Textures/Black.png.meta b/Assets/Oculus/VR/Textures/Black.png.meta new file mode 100644 index 0000000..d796331 --- /dev/null +++ b/Assets/Oculus/VR/Textures/Black.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: a025c23fceb7d4966b603419f551ce99 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 2 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapMode: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + textureType: -1 + buildTargetSettings: [] + userData: diff --git a/Assets/Oculus/VR/Textures/GazeRing.png b/Assets/Oculus/VR/Textures/GazeRing.png new file mode 100644 index 0000000..ea87ece Binary files /dev/null and b/Assets/Oculus/VR/Textures/GazeRing.png differ diff --git a/Assets/Oculus/VR/Textures/GazeRing.png.meta b/Assets/Oculus/VR/Textures/GazeRing.png.meta new file mode 100644 index 0000000..537bc29 --- /dev/null +++ b/Assets/Oculus/VR/Textures/GazeRing.png.meta @@ -0,0 +1,82 @@ +fileFormatVersion: 2 +guid: 82026cb669304dc4897d2c11d3753141 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 1024 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 1024 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 1024 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/GearVrController.meta b/Assets/Oculus/VR/Textures/GearVrController.meta new file mode 100644 index 0000000..04784b3 --- /dev/null +++ b/Assets/Oculus/VR/Textures/GearVrController.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6f0243e2a75c57c4dbd1b782c7557b50 +folderAsset: yes +timeCreated: 1486168258 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_ao_1024.tif b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_ao_1024.tif new file mode 100644 index 0000000..2d39574 Binary files /dev/null and b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_ao_1024.tif differ diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_ao_1024.tif.meta b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_ao_1024.tif.meta new file mode 100644 index 0000000..b7ddf5b --- /dev/null +++ b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_ao_1024.tif.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 4b12fa22be3f7f143b055ad60e483684 +timeCreated: 1488144144 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_ao_128.tif b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_ao_128.tif new file mode 100644 index 0000000..bd387be Binary files /dev/null and b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_ao_128.tif differ diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_ao_128.tif.meta b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_ao_128.tif.meta new file mode 100644 index 0000000..83ba69c --- /dev/null +++ b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_ao_128.tif.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 8556f6ca8690f0a47bcc8c5adec768da +timeCreated: 1488144144 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_color_1024.tif b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_color_1024.tif new file mode 100644 index 0000000..6f31d63 Binary files /dev/null and b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_color_1024.tif differ diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_color_1024.tif.meta b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_color_1024.tif.meta new file mode 100644 index 0000000..efeaf6c --- /dev/null +++ b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_color_1024.tif.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 8dcaddcb07fa3214989bf16d62f3efbc +timeCreated: 1488144146 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_color_128.tif b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_color_128.tif new file mode 100644 index 0000000..55ca42f Binary files /dev/null and b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_color_128.tif differ diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_color_128.tif.meta b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_color_128.tif.meta new file mode 100644 index 0000000..65d04e8 --- /dev/null +++ b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_color_128.tif.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 2cf74d0adf6b17348bb03c979684482b +timeCreated: 1488144137 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_normal_1024.tif b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_normal_1024.tif new file mode 100644 index 0000000..4730a9a Binary files /dev/null and b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_normal_1024.tif differ diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_normal_1024.tif.meta b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_normal_1024.tif.meta new file mode 100644 index 0000000..e17923c --- /dev/null +++ b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_normal_1024.tif.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: ab629f733cdfcfa4ba04695645307f24 +timeCreated: 1488144803 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 1 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_normal_128.tif b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_normal_128.tif new file mode 100644 index 0000000..8ef3ca1 Binary files /dev/null and b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_normal_128.tif differ diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_normal_128.tif.meta b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_normal_128.tif.meta new file mode 100644 index 0000000..d67d9db --- /dev/null +++ b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_normal_128.tif.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: cd52447b7b5ad174bb3858eb22a8fe2e +timeCreated: 1488144473 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 1 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_roughness_1024.tif b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_roughness_1024.tif new file mode 100644 index 0000000..6346787 Binary files /dev/null and b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_roughness_1024.tif differ diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_roughness_1024.tif.meta b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_roughness_1024.tif.meta new file mode 100644 index 0000000..d12021f --- /dev/null +++ b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_roughness_1024.tif.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 2dd5a3d0ec7b92841a55a5e07e67db76 +timeCreated: 1488144138 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_roughness_128.tif b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_roughness_128.tif new file mode 100644 index 0000000..b537f05 Binary files /dev/null and b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_roughness_128.tif differ diff --git a/Assets/Oculus/VR/Textures/GearVrController/GearVrController_roughness_128.tif.meta b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_roughness_128.tif.meta new file mode 100644 index 0000000..6159945 --- /dev/null +++ b/Assets/Oculus/VR/Textures/GearVrController/GearVrController_roughness_128.tif.meta @@ -0,0 +1,58 @@ +fileFormatVersion: 2 +guid: 8200b8b7f126cc949bdb39c3eff99890 +timeCreated: 1488144144 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/Icons.meta b/Assets/Oculus/VR/Textures/Icons.meta new file mode 100644 index 0000000..8eca526 --- /dev/null +++ b/Assets/Oculus/VR/Textures/Icons.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: e081f465852cec14380da085e957c52b +DefaultImporter: + userData: diff --git a/Assets/Oculus/VR/Textures/Icons/OculusIcon.png b/Assets/Oculus/VR/Textures/Icons/OculusIcon.png new file mode 100644 index 0000000..1b6a32b Binary files /dev/null and b/Assets/Oculus/VR/Textures/Icons/OculusIcon.png differ diff --git a/Assets/Oculus/VR/Textures/Icons/OculusIcon.png.meta b/Assets/Oculus/VR/Textures/Icons/OculusIcon.png.meta new file mode 100644 index 0000000..e11eca9 --- /dev/null +++ b/Assets/Oculus/VR/Textures/Icons/OculusIcon.png.meta @@ -0,0 +1,53 @@ +fileFormatVersion: 2 +guid: ee6b6c047f060074596445bbb9ebbfe7 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 128 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/Logos.meta b/Assets/Oculus/VR/Textures/Logos.meta new file mode 100644 index 0000000..899d37e --- /dev/null +++ b/Assets/Oculus/VR/Textures/Logos.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 1c18650754748f647bacde4e2116cbff +DefaultImporter: + userData: diff --git a/Assets/Oculus/VR/Textures/Logos/OculusLogo.png b/Assets/Oculus/VR/Textures/Logos/OculusLogo.png new file mode 100644 index 0000000..05ce012 Binary files /dev/null and b/Assets/Oculus/VR/Textures/Logos/OculusLogo.png differ diff --git a/Assets/Oculus/VR/Textures/Logos/OculusLogo.png.meta b/Assets/Oculus/VR/Textures/Logos/OculusLogo.png.meta new file mode 100644 index 0000000..beb5cdc --- /dev/null +++ b/Assets/Oculus/VR/Textures/Logos/OculusLogo.png.meta @@ -0,0 +1,35 @@ +fileFormatVersion: 2 +guid: a56d69833b6471340bd0029e57449b72 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + textureType: 5 + buildTargetSettings: [] + userData: diff --git a/Assets/Oculus/VR/Textures/Logos/OculusLogoSplash.png b/Assets/Oculus/VR/Textures/Logos/OculusLogoSplash.png new file mode 100644 index 0000000..1f1f6a8 Binary files /dev/null and b/Assets/Oculus/VR/Textures/Logos/OculusLogoSplash.png differ diff --git a/Assets/Oculus/VR/Textures/Logos/OculusLogoSplash.png.meta b/Assets/Oculus/VR/Textures/Logos/OculusLogoSplash.png.meta new file mode 100644 index 0000000..1b3498c --- /dev/null +++ b/Assets/Oculus/VR/Textures/Logos/OculusLogoSplash.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 3caded05dba914447a5f85650f9f4ab2 +timeCreated: 1456251719 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/OculusGoController.meta b/Assets/Oculus/VR/Textures/OculusGoController.meta new file mode 100644 index 0000000..1a35164 --- /dev/null +++ b/Assets/Oculus/VR/Textures/OculusGoController.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 829191324a3df8944b07ba1bd4c8f335 +folderAsset: yes +timeCreated: 1513040773 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/OculusGoController/OculusGoController_albedo.tga b/Assets/Oculus/VR/Textures/OculusGoController/OculusGoController_albedo.tga new file mode 100644 index 0000000..394127f Binary files /dev/null and b/Assets/Oculus/VR/Textures/OculusGoController/OculusGoController_albedo.tga differ diff --git a/Assets/Oculus/VR/Textures/OculusGoController/OculusGoController_albedo.tga.meta b/Assets/Oculus/VR/Textures/OculusGoController/OculusGoController_albedo.tga.meta new file mode 100644 index 0000000..233c75a --- /dev/null +++ b/Assets/Oculus/VR/Textures/OculusGoController/OculusGoController_albedo.tga.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: 6fd132ea4bdd3ec4298a583f001ed5ab +timeCreated: 1513127630 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/color_ramp_timer.tga b/Assets/Oculus/VR/Textures/color_ramp_timer.tga new file mode 100644 index 0000000..d2caeea Binary files /dev/null and b/Assets/Oculus/VR/Textures/color_ramp_timer.tga differ diff --git a/Assets/Oculus/VR/Textures/color_ramp_timer.tga.meta b/Assets/Oculus/VR/Textures/color_ramp_timer.tga.meta new file mode 100644 index 0000000..36797ff --- /dev/null +++ b/Assets/Oculus/VR/Textures/color_ramp_timer.tga.meta @@ -0,0 +1,53 @@ +fileFormatVersion: 2 +guid: 8929c8bc5148a624b8c9d6df0ee6f0ca +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: 4 + maxTextureSize: 1024 + textureSettings: + filterMode: 0 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/cube_texture.png b/Assets/Oculus/VR/Textures/cube_texture.png new file mode 100644 index 0000000..b289fff Binary files /dev/null and b/Assets/Oculus/VR/Textures/cube_texture.png differ diff --git a/Assets/Oculus/VR/Textures/cube_texture.png.meta b/Assets/Oculus/VR/Textures/cube_texture.png.meta new file mode 100644 index 0000000..ea2a739 --- /dev/null +++ b/Assets/Oculus/VR/Textures/cube_texture.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: 020d1a102a7f2a14ebf6cefe7b977303 +timeCreated: 1425942022 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/gaze_cursor.png b/Assets/Oculus/VR/Textures/gaze_cursor.png new file mode 100644 index 0000000..65d1ea5 Binary files /dev/null and b/Assets/Oculus/VR/Textures/gaze_cursor.png differ diff --git a/Assets/Oculus/VR/Textures/gaze_cursor.png.meta b/Assets/Oculus/VR/Textures/gaze_cursor.png.meta new file mode 100644 index 0000000..614a289 --- /dev/null +++ b/Assets/Oculus/VR/Textures/gaze_cursor.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 077028084dceb584798dade6c58d1978 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Oculus/VR/Textures/gaze_cursor_timer.tga b/Assets/Oculus/VR/Textures/gaze_cursor_timer.tga new file mode 100644 index 0000000..1ecf4cf Binary files /dev/null and b/Assets/Oculus/VR/Textures/gaze_cursor_timer.tga differ diff --git a/Assets/Oculus/VR/Textures/gaze_cursor_timer.tga.meta b/Assets/Oculus/VR/Textures/gaze_cursor_timer.tga.meta new file mode 100644 index 0000000..b5225de --- /dev/null +++ b/Assets/Oculus/VR/Textures/gaze_cursor_timer.tga.meta @@ -0,0 +1,53 @@ +fileFormatVersion: 2 +guid: 79a33e7a7166c6142ad50f46a9a23d3e +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: 4 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: -1 + mipBias: -1 + wrapMode: 0 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 5 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/handle.png b/Assets/Oculus/VR/Textures/handle.png new file mode 100644 index 0000000..e30f59f Binary files /dev/null and b/Assets/Oculus/VR/Textures/handle.png differ diff --git a/Assets/Oculus/VR/Textures/handle.png.meta b/Assets/Oculus/VR/Textures/handle.png.meta new file mode 100644 index 0000000..b9981aa --- /dev/null +++ b/Assets/Oculus/VR/Textures/handle.png.meta @@ -0,0 +1,54 @@ +fileFormatVersion: 2 +guid: ce8f78b2b9292484e97f36ad9568fc4f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: gui + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Oculus/VR/Textures/windowgui.png b/Assets/Oculus/VR/Textures/windowgui.png new file mode 100644 index 0000000..4e1b6af Binary files /dev/null and b/Assets/Oculus/VR/Textures/windowgui.png differ diff --git a/Assets/Oculus/VR/Textures/windowgui.png.meta b/Assets/Oculus/VR/Textures/windowgui.png.meta new file mode 100644 index 0000000..5636de7 --- /dev/null +++ b/Assets/Oculus/VR/Textures/windowgui.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: a26663690a6580440963aa46e582c35b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -2 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: pointersui + userData: diff --git a/Assets/Plugins.meta b/Assets/Plugins.meta new file mode 100644 index 0000000..38b18cd --- /dev/null +++ b/Assets/Plugins.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 8619015675705434a8d74b228676b99c +DefaultImporter: + userData: diff --git a/Assets/Plugins/Android.meta b/Assets/Plugins/Android.meta new file mode 100644 index 0000000..bf24558 --- /dev/null +++ b/Assets/Plugins/Android.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: e70f602274907ef44ac89bb47c8f981c +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Plugins/Android/Assets.meta b/Assets/Plugins/Android/Assets.meta new file mode 100644 index 0000000..921c125 --- /dev/null +++ b/Assets/Plugins/Android/Assets.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5071e10c26e5e0c4aa26ee778b76e006 +folderAsset: yes +timeCreated: 1523486794 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/Assets/PUT_OSIG_HERE b/Assets/Plugins/Android/Assets/PUT_OSIG_HERE new file mode 100644 index 0000000..e69de29 diff --git a/Assets/Plugins/Android/Assets/PUT_OSIG_HERE.meta b/Assets/Plugins/Android/Assets/PUT_OSIG_HERE.meta new file mode 100644 index 0000000..867e04c --- /dev/null +++ b/Assets/Plugins/Android/Assets/PUT_OSIG_HERE.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3596bf32795fc9c41b0ffd76a0ca77e9 +timeCreated: 1523486795 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Google.unity b/Assets/Scenes/Google.unity new file mode 100644 index 0000000..b253a2a --- /dev/null +++ b/Assets/Scenes/Google.unity @@ -0,0 +1,614 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 10 + m_AtlasSize: 512 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 256 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &93974318 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 93974319} + m_Layer: 0 + m_Name: Gvr + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &93974319 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 93974318} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -13.484919, y: -7.587544, z: 0.7514019} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 624858044} + - {fileID: 893507161} + - {fileID: 1746473950} + - {fileID: 864563732} + - {fileID: 1005528043} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &170076733 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 170076735} + - component: {fileID: 170076734} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &170076734 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 170076733} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &170076735 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 170076733} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &624858043 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 624858044} + - component: {fileID: 624858046} + - component: {fileID: 624858045} + m_Layer: 0 + m_Name: Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &624858044 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 624858043} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 13.55, y: 9.23, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2012435306} + m_Father: {fileID: 93974319} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!81 &624858045 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 624858043} + m_Enabled: 1 +--- !u!20 &624858046 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 624858043} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &824984008 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 824984012} + - component: {fileID: 824984011} + - component: {fileID: 824984010} + - component: {fileID: 824984009} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &824984009 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 824984008} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 0 + m_CookingOptions: 14 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &824984010 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 824984008} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &824984011 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 824984008} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &824984012 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 824984008} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &864563731 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 93974319} + m_Modifications: + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 5ca80f4596fa44b87912a0592346d260, type: 2} + m_IsPrefabAsset: 0 +--- !u!4 &864563732 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 424718, guid: 5ca80f4596fa44b87912a0592346d260, + type: 2} + m_PrefabInternal: {fileID: 864563731} +--- !u!1001 &893507160 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 93974319} + m_Modifications: + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 463285ecd6702471a909ba810832bf0e, type: 2} + m_IsPrefabAsset: 0 +--- !u!4 &893507161 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 766346198, guid: 463285ecd6702471a909ba810832bf0e, + type: 2} + m_PrefabInternal: {fileID: 893507160} +--- !u!1001 &1005528042 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 93974319} + m_Modifications: + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalPosition.z + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 970dd4b9371394fb4890965f608d46fd, type: 2} + m_IsPrefabAsset: 0 +--- !u!4 &1005528043 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 498412, guid: 970dd4b9371394fb4890965f608d46fd, + type: 2} + m_PrefabInternal: {fileID: 1005528042} +--- !u!1001 &1746473949 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 93974319} + m_Modifications: + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d638298e697ca4e9b91853efadd0e6da, type: 2} + m_IsPrefabAsset: 0 +--- !u!4 &1746473950 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4000010886689084, guid: d638298e697ca4e9b91853efadd0e6da, + type: 2} + m_PrefabInternal: {fileID: 1746473949} +--- !u!1001 &2012435305 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 624858044} + m_Modifications: + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 60270cf52a5e94998a5a335989159738, type: 2} + m_IsPrefabAsset: 0 +--- !u!4 &2012435306 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 482300, guid: 60270cf52a5e94998a5a335989159738, + type: 2} + m_PrefabInternal: {fileID: 2012435305} diff --git a/Assets/Scenes/Google.unity.meta b/Assets/Scenes/Google.unity.meta new file mode 100644 index 0000000..9bd8f4a --- /dev/null +++ b/Assets/Scenes/Google.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: defe0a558a2303b47ace2b698618c9e4 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Oculus.unity b/Assets/Scenes/Oculus.unity new file mode 100644 index 0000000..127c536 --- /dev/null +++ b/Assets/Scenes/Oculus.unity @@ -0,0 +1,401 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 10 + m_Resolution: 2 + m_BakeResolution: 10 + m_AtlasSize: 512 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 256 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &170076733 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 170076735} + - component: {fileID: 170076734} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &170076734 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 170076733} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &170076735 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 170076733} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &824984008 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 824984012} + - component: {fileID: 824984011} + - component: {fileID: 824984010} + - component: {fileID: 824984009} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &824984009 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 824984008} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 0 + m_CookingOptions: 14 + m_SkinWidth: 0.01 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &824984010 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 824984008} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 4294967295 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &824984011 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 824984008} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &824984012 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 824984008} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &886681054 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 886681057} + - component: {fileID: 886681056} + - component: {fileID: 886681058} + - component: {fileID: 886681055} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &886681055 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 886681054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b4a9c50de96f6d04386957f4741ac65c, type: 3} + m_Name: + m_EditorClassIdentifier: + trackingSpace: {fileID: 0} + joyPadClickButton: 8192 + performSphereCastForGazepointer: 0 + matchNormalOnPhysicsColliders: 0 + useLeftStickScroll: 1 + leftStickDeadZone: 0.15 + useSwipeScroll: 1 + minSwipeMovement: 0 + swipeScrollScale: 4 + activeController: 0 + angleDragThreshold: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_AllowActivationOnMobileDevice: 1 +--- !u!114 &886681056 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 886681054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &886681057 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 886681054} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.03, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &886681058 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 886681054} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!1001 &1728729268 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.y + value: 1.41 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 400004, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 126d619cf4daa52469682f85c1378b4a, type: 2} + m_IsPrefabAsset: 0 diff --git a/Assets/Scenes/Oculus.unity.meta b/Assets/Scenes/Oculus.unity.meta new file mode 100644 index 0000000..9531828 --- /dev/null +++ b/Assets/Scenes/Oculus.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 99c9720ab356a0642a771bea13969a05 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 63ff1f9..39c9160 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -1,11 +1,14 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1045 &1 -EditorBuildSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Scenes: - - enabled: 1 - path: Assets/Scenes/SampleScene.unity - guid: 99c9720ab356a0642a771bea13969a05 - m_configObjects: {} +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1045 &1 +EditorBuildSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Scenes: + - enabled: 0 + path: Assets/Scenes/Oculus.unity + guid: 99c9720ab356a0642a771bea13969a05 + - enabled: 1 + path: Assets/Scenes/Google.unity + guid: defe0a558a2303b47ace2b698618c9e4 + m_configObjects: {} diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset index bd8753c..0e2025c 100644 --- a/ProjectSettings/GraphicsSettings.asset +++ b/ProjectSettings/GraphicsSettings.asset @@ -1,62 +1,65 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!30 &1 -GraphicsSettings: - m_ObjectHideFlags: 0 - serializedVersion: 12 - m_Deferred: - m_Mode: 1 - m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} - m_DeferredReflections: - m_Mode: 1 - m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} - m_ScreenSpaceShadows: - m_Mode: 1 - m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} - m_LegacyDeferred: - m_Mode: 1 - m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} - m_DepthNormals: - m_Mode: 1 - m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} - m_MotionVectors: - m_Mode: 1 - m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} - m_LightHalo: - m_Mode: 1 - m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} - m_LensFlare: - m_Mode: 1 - m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} - m_AlwaysIncludedShaders: - - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} - m_PreloadedShaders: [] - m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, - type: 0} - m_CustomRenderPipeline: {fileID: 0} - m_TransparencySortMode: 0 - m_TransparencySortAxis: {x: 0, y: 0, z: 1} - m_DefaultRenderingPath: 1 - m_DefaultMobileRenderingPath: 1 - m_TierSettings: [] - m_LightmapStripping: 0 - m_FogStripping: 0 - m_InstancingStripping: 0 - m_LightmapKeepPlain: 1 - m_LightmapKeepDirCombined: 1 - m_LightmapKeepDynamicPlain: 1 - m_LightmapKeepDynamicDirCombined: 1 - m_LightmapKeepShadowMask: 1 - m_LightmapKeepSubtractive: 1 - m_FogKeepLinear: 1 - m_FogKeepExp: 1 - m_FogKeepExp2: 1 - m_AlbedoSwatchInfos: [] - m_LightsUseLinearIntensity: 0 - m_LightsUseColorTemperature: 0 +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!30 &1 +GraphicsSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_Deferred: + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} + m_DeferredReflections: + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} + m_ScreenSpaceShadows: + m_Mode: 1 + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} + m_LegacyDeferred: + m_Mode: 1 + m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} + m_DepthNormals: + m_Mode: 1 + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} + m_MotionVectors: + m_Mode: 1 + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} + m_LightHalo: + m_Mode: 1 + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} + m_LensFlare: + m_Mode: 1 + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 16002, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} + m_PreloadedShaders: [] + m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, + type: 0} + m_CustomRenderPipeline: {fileID: 0} + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 0, z: 1} + m_DefaultRenderingPath: 1 + m_DefaultMobileRenderingPath: 1 + m_TierSettings: [] + m_LightmapStripping: 0 + m_FogStripping: 0 + m_InstancingStripping: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepShadowMask: 1 + m_LightmapKeepSubtractive: 1 + m_FogKeepLinear: 1 + m_FogKeepExp: 1 + m_FogKeepExp2: 1 + m_AlbedoSwatchInfos: [] + m_LightsUseLinearIntensity: 0 + m_LightsUseColorTemperature: 0 diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset index 2596646..59f8ec0 100644 --- a/ProjectSettings/InputManager.asset +++ b/ProjectSettings/InputManager.asset @@ -1,295 +1,423 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!13 &1 -InputManager: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Axes: - - serializedVersion: 3 - m_Name: Horizontal - descriptiveName: - descriptiveNegativeName: - negativeButton: left - positiveButton: right - altNegativeButton: a - altPositiveButton: d - gravity: 3 - dead: 0.001 - sensitivity: 3 - snap: 1 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Vertical - descriptiveName: - descriptiveNegativeName: - negativeButton: down - positiveButton: up - altNegativeButton: s - altPositiveButton: w - gravity: 3 - dead: 0.001 - sensitivity: 3 - snap: 1 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire1 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: left ctrl - altNegativeButton: - altPositiveButton: mouse 0 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire2 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: left alt - altNegativeButton: - altPositiveButton: mouse 1 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire3 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: left shift - altNegativeButton: - altPositiveButton: mouse 2 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Jump - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: space - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Mouse X - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0 - sensitivity: 0.1 - snap: 0 - invert: 0 - type: 1 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Mouse Y - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0 - sensitivity: 0.1 - snap: 0 - invert: 0 - type: 1 - axis: 1 - joyNum: 0 - - serializedVersion: 3 - m_Name: Mouse ScrollWheel - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0 - sensitivity: 0.1 - snap: 0 - invert: 0 - type: 1 - axis: 2 - joyNum: 0 - - serializedVersion: 3 - m_Name: Horizontal - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0.19 - sensitivity: 1 - snap: 0 - invert: 0 - type: 2 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Vertical - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: - altNegativeButton: - altPositiveButton: - gravity: 0 - dead: 0.19 - sensitivity: 1 - snap: 0 - invert: 1 - type: 2 - axis: 1 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire1 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: joystick button 0 - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire2 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: joystick button 1 - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Fire3 - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: joystick button 2 - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Jump - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: joystick button 3 - altNegativeButton: - altPositiveButton: - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Submit - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: return - altNegativeButton: - altPositiveButton: joystick button 0 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Submit - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: enter - altNegativeButton: - altPositiveButton: space - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 - - serializedVersion: 3 - m_Name: Cancel - descriptiveName: - descriptiveNegativeName: - negativeButton: - positiveButton: escape - altNegativeButton: - altPositiveButton: joystick button 1 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 - snap: 0 - invert: 0 - type: 0 - axis: 0 - joyNum: 0 +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!13 &1 +InputManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Axes: + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: a + altPositiveButton: d + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: s + altPositiveButton: w + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: mouse 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: mouse 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: mouse 2 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: space + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse X + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse Y + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse ScrollWheel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 0 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 1 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 2 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 3 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: enter + altNegativeButton: + altPositiveButton: space + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Cancel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: escape + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Oculus_GearVR_LThumbstickX + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.001 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Oculus_GearVR_LThumbstickY + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.001 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Oculus_GearVR_RThumbstickX + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.001 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Oculus_GearVR_RThumbstickY + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.001 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 3 + joyNum: 0 + - serializedVersion: 3 + m_Name: Oculus_GearVR_DpadX + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.001 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 4 + joyNum: 0 + - serializedVersion: 3 + m_Name: Oculus_GearVR_DpadY + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.001 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 5 + joyNum: 0 + - serializedVersion: 3 + m_Name: Oculus_GearVR_LIndexTrigger + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.001 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 12 + joyNum: 0 + - serializedVersion: 3 + m_Name: Oculus_GearVR_RIndexTrigger + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.001 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 11 + joyNum: 0 diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 499fb0c..4615dc6 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -8,7 +8,7 @@ PlayerSettings: AndroidProfiler: 0 AndroidFilterTouchesWhenObscured: 0 AndroidEnableSustainedPerformanceMode: 0 - defaultScreenOrientation: 4 + defaultScreenOrientation: 3 targetDevice: 2 useOnDemandResources: 0 accelerometerFrequency: 60 @@ -151,12 +151,15 @@ PlayerSettings: resolutionScalingMode: 0 androidSupportedAspectRatio: 1 androidMaxAspectRatio: 2.1 - applicationIdentifier: {} + applicationIdentifier: + Android: edu.bw.fitts + Standalone: com.oculus.UnitySample + iOS: com.oculus.UnitySample buildNumber: {} AndroidBundleVersionCode: 1 - AndroidMinSdkVersion: 16 - AndroidTargetSdkVersion: 0 - AndroidPreferredInstallLocation: 1 + AndroidMinSdkVersion: 19 + AndroidTargetSdkVersion: 24 + AndroidPreferredInstallLocation: 0 aotOptions: stripEngineCode: 1 iPhoneStrippingLevel: 0 @@ -257,7 +260,99 @@ PlayerSettings: androidGamepadSupportLevel: 0 resolutionDialogBanner: {fileID: 0} m_BuildTargetIcons: [] - m_BuildTargetPlatformIcons: [] + m_BuildTargetPlatformIcons: + - m_BuildTarget: Android + m_Icons: + - m_Textures: [] + m_Width: 432 + m_Height: 432 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 324 + m_Height: 324 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 216 + m_Height: 216 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 162 + m_Height: 162 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 108 + m_Height: 108 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 81 + m_Height: 81 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 0 + m_SubKind: m_BuildTargetBatching: - m_BuildTarget: Standalone m_StaticBatching: 1 @@ -289,10 +384,17 @@ PlayerSettings: m_Automatic: 1 m_BuildTargetVRSettings: - m_BuildTarget: Standalone - m_Enabled: 0 + m_Enabled: 1 m_Devices: - Oculus - OpenVR + - m_BuildTarget: iOS + m_Enabled: 1 + m_Devices: [] + - m_BuildTarget: Android + m_Enabled: 1 + m_Devices: + - cardboard m_BuildTargetEnableVuforiaSettings: [] openGLRequireES31: 0 openGLRequireES31AEP: 0 diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset index ddad6fe..47659d2 100644 --- a/ProjectSettings/QualitySettings.asset +++ b/ProjectSettings/QualitySettings.asset @@ -1,190 +1,226 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!47 &1 -QualitySettings: - m_ObjectHideFlags: 0 - serializedVersion: 5 - m_CurrentQuality: 4 - m_QualitySettings: - - serializedVersion: 2 - name: Very Low - pixelLightCount: 0 - shadows: 0 - shadowResolution: 0 - shadowProjection: 1 - shadowCascades: 1 - shadowDistance: 15 - shadowNearPlaneOffset: 3 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - shadowmaskMode: 0 - blendWeights: 1 - textureQuality: 1 - anisotropicTextures: 0 - antiAliasing: 0 - softParticles: 0 - softVegetation: 0 - realtimeReflectionProbes: 0 - billboardsFaceCameraPosition: 0 - vSyncCount: 0 - lodBias: 0.3 - maximumLODLevel: 0 - particleRaycastBudget: 4 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 4 - resolutionScalingFixedDPIFactor: 1 - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: Low - pixelLightCount: 0 - shadows: 0 - shadowResolution: 0 - shadowProjection: 1 - shadowCascades: 1 - shadowDistance: 20 - shadowNearPlaneOffset: 3 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - shadowmaskMode: 0 - blendWeights: 2 - textureQuality: 0 - anisotropicTextures: 0 - antiAliasing: 0 - softParticles: 0 - softVegetation: 0 - realtimeReflectionProbes: 0 - billboardsFaceCameraPosition: 0 - vSyncCount: 0 - lodBias: 0.4 - maximumLODLevel: 0 - particleRaycastBudget: 16 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 4 - resolutionScalingFixedDPIFactor: 1 - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: Medium - pixelLightCount: 1 - shadows: 1 - shadowResolution: 0 - shadowProjection: 1 - shadowCascades: 1 - shadowDistance: 20 - shadowNearPlaneOffset: 3 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - shadowmaskMode: 0 - blendWeights: 2 - textureQuality: 0 - anisotropicTextures: 1 - antiAliasing: 0 - softParticles: 0 - softVegetation: 0 - realtimeReflectionProbes: 0 - billboardsFaceCameraPosition: 0 - vSyncCount: 1 - lodBias: 0.7 - maximumLODLevel: 0 - particleRaycastBudget: 64 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 4 - resolutionScalingFixedDPIFactor: 1 - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: High - pixelLightCount: 2 - shadows: 2 - shadowResolution: 1 - shadowProjection: 1 - shadowCascades: 2 - shadowDistance: 40 - shadowNearPlaneOffset: 3 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - shadowmaskMode: 1 - blendWeights: 2 - textureQuality: 0 - anisotropicTextures: 1 - antiAliasing: 2 - softParticles: 0 - softVegetation: 1 - realtimeReflectionProbes: 1 - billboardsFaceCameraPosition: 1 - vSyncCount: 1 - lodBias: 1 - maximumLODLevel: 0 - particleRaycastBudget: 256 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 4 - resolutionScalingFixedDPIFactor: 1 - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: Very High - pixelLightCount: 3 - shadows: 2 - shadowResolution: 2 - shadowProjection: 1 - shadowCascades: 2 - shadowDistance: 40 - shadowNearPlaneOffset: 3 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - shadowmaskMode: 1 - blendWeights: 4 - textureQuality: 0 - anisotropicTextures: 1 - antiAliasing: 4 - softParticles: 1 - softVegetation: 1 - realtimeReflectionProbes: 1 - billboardsFaceCameraPosition: 1 - vSyncCount: 1 - lodBias: 1.5 - maximumLODLevel: 0 - particleRaycastBudget: 1024 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 4 - resolutionScalingFixedDPIFactor: 1 - excludedTargetPlatforms: [] - - serializedVersion: 2 - name: Ultra - pixelLightCount: 4 - shadows: 2 - shadowResolution: 2 - shadowProjection: 1 - shadowCascades: 4 - shadowDistance: 150 - shadowNearPlaneOffset: 3 - shadowCascade2Split: 0.33333334 - shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} - shadowmaskMode: 1 - blendWeights: 4 - textureQuality: 0 - anisotropicTextures: 1 - antiAliasing: 4 - softParticles: 1 - softVegetation: 1 - realtimeReflectionProbes: 1 - billboardsFaceCameraPosition: 1 - vSyncCount: 1 - lodBias: 2 - maximumLODLevel: 0 - particleRaycastBudget: 4096 - asyncUploadTimeSlice: 2 - asyncUploadBufferSize: 4 - resolutionScalingFixedDPIFactor: 1 - excludedTargetPlatforms: [] - m_PerPlatformDefaultQuality: - Android: 2 - Nintendo 3DS: 5 - Nintendo Switch: 5 - PS4: 5 - PSP2: 2 - Standalone: 5 - Tizen: 2 - WebGL: 3 - WiiU: 5 - Windows Store Apps: 5 - XboxOne: 5 - iPhone: 2 - tvOS: 2 +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 4 + m_QualitySettings: + - serializedVersion: 2 + name: Very Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 15 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 1 + textureQuality: 1 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.3 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 4 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.4 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 16 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 4 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Medium + pixelLightCount: 1 + shadows: 1 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 1 + lodBias: 0.7 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 64 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 4 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: High + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 2 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 256 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 4 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Very High + pixelLightCount: 3 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 4 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 0 + lodBias: 1.5 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 1024 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 4 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Ultra + pixelLightCount: 4 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 4 + shadowDistance: 150 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 4 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 2 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4096 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 4 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + m_PerPlatformDefaultQuality: + Android: 2 + Nintendo 3DS: 5 + Nintendo Switch: 5 + PS4: 5 + PSP2: 2 + Standalone: 5 + Tizen: 2 + WebGL: 3 + WiiU: 5 + Windows Store Apps: 5 + XboxOne: 5 + iPhone: 2 + tvOS: 2 diff --git a/ProjectSettings/UnityConnectSettings.asset b/ProjectSettings/UnityConnectSettings.asset index 3da14d5..863581f 100644 --- a/ProjectSettings/UnityConnectSettings.asset +++ b/ProjectSettings/UnityConnectSettings.asset @@ -3,7 +3,7 @@ --- !u!310 &1 UnityConnectSettings: m_ObjectHideFlags: 0 - m_Enabled: 0 + m_Enabled: 1 m_TestMode: 0 m_TestEventUrl: m_TestConfigUrl: @@ -17,7 +17,7 @@ UnityConnectSettings: m_Enabled: 0 m_TestMode: 0 UnityAnalyticsSettings: - m_Enabled: 0 + m_Enabled: 1 m_InitializeOnStartup: 1 m_TestMode: 0 m_TestEventUrl: diff --git a/sample.json b/sample.json new file mode 100644 index 0000000..20eef37 --- /dev/null +++ b/sample.json @@ -0,0 +1,3 @@ +{ + "participantId":"" +}