diff --git a/.gitattributes b/.gitattributes index 63726579..f0d4b1c8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -118,3 +118,9 @@ Assets/Plugins/** linguist-vendored # Exceptions for .asset files such as lightning pre-baking LightingData.asset binary + +# Pin the small development-only Quak release without another LFS download. +Unity-QuestVisionKit/Packages/com.xrdevrob.quak-0.4.0-alpha.1.tgz binary -filter + +# Imported copy of the same pinned Quak development layer for fresh-clone builds. +Unity-QuestVisionKit/Assets/XR/APILayers~/AndroidLayers/arm64/libXrApiLayer_QUAK_injection.so binary -filter diff --git a/.github/workflows/check-repo.yml b/.github/workflows/check-repo.yml new file mode 100644 index 00000000..96291456 --- /dev/null +++ b/.github/workflows/check-repo.yml @@ -0,0 +1,13 @@ +name: Repository checks +on: [push, pull_request] +permissions: + contents: read +jobs: + clone-integrity: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + lfs: true + - run: python3 scripts/check_repo.py + - run: git diff --check diff --git a/.gitignore b/.gitignore index 8e036cef..6898088f 100644 --- a/.gitignore +++ b/.gitignore @@ -118,3 +118,8 @@ Assets/.avatar_sdk_sample_assets_importer.txt **/RuntimeActionBindings.json **/RuntimeActionBindings.json.meta .editorconfig + +# Local Unity build/validation evidence is delivered separately from source. +/*.log +/scene-audit.txt +/evidence/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e5ee015c..22b9d6b1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,7 +28,7 @@ If you’d like to see new functionality: When submitting a pull request: 1. **Fork the Repository:** Create your branch off of the `main` branch. -2. **Follow the Code Style:** Maintain clarity and consistency with the existing code. We put a lot of emphazise on making the samples simple and easy-to-understand, so other devs can build cool things quickly! +2. **Follow the Code Style:** Maintain clarity and consistency with the existing code. We put a lot of emphasis on making the samples simple and easy-to-understand, so other devs can build cool things quickly! 3. **Test Your Changes:** Ensure your modifications work on a supported Meta Quest device (Quest 3 or 3s with HorizonOS v74 or later) and in Unity (recommended Unity 6). 4. **Write Clear Commit Messages:** Describe what you’re changing and why. 5. **Link Related Issues:** Reference any issues or feature requests that your PR addresses. @@ -42,3 +42,11 @@ To set up QuestCameraKit on your machine: 1. **Clone the Repository:** ```bash git clone https://github.com/xrdevrob/QuestCameraKit.git + cd QuestCameraKit + git lfs pull + python3 scripts/check_repo.py + ``` + +2. Open `Unity-QuestVisionKit` with the Unity version in `ProjectSettings/ProjectVersion.txt` and let Package Manager finish. +3. Run the checks and the selected sample build described in [Testing](docs/testing.md). +4. Keep credentials out of scenes and prefabs. Use a private development key only for local ImageLLM testing; production apps should call an authenticated backend. diff --git a/README.md b/README.md index b38cad70..52e49991 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,12 @@ QuestCameraKit is a collection of template and reference projects demonstrating - [License](#license) - [Contact](#contact) +# Running all samples + +Build and Run now includes all six headset samples in one app. Press **Y** to open or close the menu, move the **left thumbstick** to choose, and press **X** to load a sample. In the Editor use **M**, **↑/↓**, and **Enter**. This menu currently uses Touch controllers; the samples retain their existing hand interactions. The desktop WebRTC receiver remains a separate scene. + +**QR tracking (Meta native)** uses the MRUK package already required by this project. No separate decoder, NuGet installation, or QR scripting define is needed. Native tracking still depends on headset runtime support and spatial-data permission. + # PCA Samples ## 1. 🎨 Color Picker @@ -41,7 +47,7 @@ QuestCameraKit is a collection of template and reference projects demonstrating How to run this sample - Open the `ObjectDetection` scene. -- Install [Unity AI Inference](https://docs.unity3d.com/Packages/com.unity.ai.inference@2.3/manual/get-started.html) (use `com.unity.ai.inference@2.3.0`). +- [Unity Inference Engine](https://docs.unity3d.com/Packages/com.unity.ai.inference@2.6/manual/index.html) is already pinned to `2.6.1` in the project. - Select the labels you want to track. Leaving the list empty tracks all objects.
Show all available labels @@ -57,28 +63,29 @@ QuestCameraKit is a collection of template and reference projects demonstrating
refrigeratorbookclockvasescissorsteddy bearhair driertoothbrush
-- Build and deploy to Quest. Use the trigger to scan the environment; markers will appear for detections above the configured confidence threshold. +- Build and deploy to Quest. Detection runs automatically; markers appear for the selected labels. Confidence filtering applies only when the model provides scores. ![Object Detection](https://media.githubusercontent.com/media/xrdevrob/QuestCameraKit/befec3b/Media/ObjectDetection.gif) -## 3. 📱 QR Code Tracking with ZXing +## 3. 📱 Native QR Code Tracking -- **Purpose:** Detect and track QR codes in real time. Open webviews or log-in to 3rd party services with ease. -- **Description:** Similarly to the object detection sample, get QR code coordinated and projects them into 3D space. Detect QR codes and call their URLs. You can select between a multiple or single QR code mode. The sample is running at around `70 fps` for multiple QR codes and a stable `72 fps` for a single code. Users are able to choose between CenterOnly and PerCorner raycasting modes via an enum in the inspector. This enables more accurate rotation tracking for use cases that require it (PerCorner), while preserving a faster fallback (CenterOnly). +- **Purpose:** Detect and track QRCodes without having to use a third-party library. +- **Description:** As this feature is still in experimental state, make sure to use experimental mode on your Quest3 when testing. Unity usually asks for enabling that, before building. You can activate it via command line command using Meta Quest Hub too. More information can be found here - [MR Utility Kit QRCode Detection](https://developers.meta.com/horizon/documentation/unity/unity-mr-utility-kit-qrcode-detection) and here - [Mobile Experimental Features](https://developers.meta.com/horizon/documentation/native/android/mobile-experimental-features/)
How to run this sample -- Open the `QRCodeTracking` scene. -- Ensure ZXing DLLs are present (the editor script auto-adds the `ZXING_ENABLED` define). -- Choose Single or Multiple detection mode and the raycast mode (CenterOnly vs PerCorner). -- Build to Quest, point the headset toward QR codes, and interact with the spawned markers. +- Install **TextMeshPro Essentials** if prompted. +- Enable Experimental Mode on your Quest 3/3S (headset UI or Quest Hub CLI). +- Open the **QRCodeDetection** scene. +- Build and deploy to your device, then use the controllers to interact with the UI (hand tracking is not yet supported).
-![QR Code Tracking](https://media.githubusercontent.com/media/xrdevrob/QuestCameraKit/befec3b/Media/QRCodeTracking.gif) +![Native QR tracking](https://media.githubusercontent.com/media/xrdevrob/QuestCameraKit/befec3b/Media/QrCodeDetection.png) + ## 4. 🪟 Shader Samples @@ -210,19 +217,16 @@ https://github.com/user-attachments/assets/a4cfbfc2-0306-40dc-a9a3-cdccffa7afea
How to run this sample -- In **Package Manager**, click the **+** button → **Add package from git URL** and install, in order: - 1. `https://github.com/endel/NativeWebSocket.git#upm` - 2. `https://github.com/Unity-Technologies/com.unity.webrtc.git` - 3. `https://github.com/FireDragonGameStudio/SimpleWebRTC.git?path=/Assets/SimpleWebRTC` +- Unity WebRTC, SimpleWebRTC and NativeWebSocket are pinned in `Packages/manifest.json` and install automatically. - Open the **WebRTC-Quest** scene. -- On `[BuildingBlock] Camera Rig/TrackingSpace/CenterEyeAnchor/Client-STUNConnection`, set your WebSocket signaling server address (LAN or cloud). +- On `[BuildingBlock] Camera Rig/TrackingSpace/CenterEyeAnchor/Client-STUNConnection`, replace the placeholder with your own WebSocket signaling server address (LAN or cloud). Connections are disabled by default. After setting your server address on both peers, enable WebSocket Connection Active to connect to signaling. - Build and deploy **WebRTC-Quest** to your Quest 3. - Open the **WebRTC-SingleClient** scene in the editor (or deploy to another device) to act as the receiving peer. - Launch both apps. Perform the **Start** gesture with your left hand (or press the menu button) on Quest to begin streaming. **Troubleshooting** -- If you hit compiler errors, re-add the three git packages listed above. +- If package resolution fails, verify network/Git access and reopen the project with the Unity version in `ProjectSettings/ProjectVersion.txt`. - Use **Tools ▸ Update WebRTC Define Symbol** after importing packages. - Ensure your own WebSocket signaling server is running (tutorial [here](https://www.youtube.com/watch?v=-CwJTgt_Z3M)). - For LAN streaming, leave the STUN address empty; otherwise keep the default. @@ -236,24 +240,16 @@ https://github.com/user-attachments/assets/a4cfbfc2-0306-40dc-a9a3-cdccffa7afea ![PCA WebRTC](https://media.githubusercontent.com/media/xrdevrob/QuestCameraKit/befec3b/Media/PCA_WebRTC.gif) -## 7. 📅 Experimental QR Code detection - -- **Purpose:** Detect and track QRCodes without having to use a third-party library. -- **Description:** As this feature is still in experimental state, make sure to use experimental mode on your Quest3 when testing. Unity usually asks for enabling that, before building. You can activate it via command line command using Meta Quest Hub too. More information can be found here - [MR Utility Kit QRCode Detection](https://developers.meta.com/horizon/documentation/unity/unity-mr-utility-kit-qrcode-detection) and here - [Mobile Experimental Features](https://developers.meta.com/horizon/documentation/native/android/mobile-experimental-features/) - -
-How to run this sample - -- Install **TextMeshPro Essentials** if prompted. -- Enable Experimental Mode on your Quest 3/3S (headset UI or Quest Hub CLI). -- Open the **QRCodeDetection** scene. -- Build and deploy to your device, then use the controllers to interact with the UI (hand tracking is not yet supported). +# Update Notes -
+## Maintenance update -![Shader Samples](https://media.githubusercontent.com/media/xrdevrob/QuestCameraKit/befec3b/Media/QrCodeDetection.png) +- Unity **6000.3.12f1**, Meta XR Core/MRUK **205.0.0**, Inference Engine **2.6.1**, OpenXR **1.18.0**, Meta OpenXR **2.6.1**, and URP **17.3.0**. Other direct dependencies are pinned in the manifest. +- QR tracking uses Meta MRUK; WebRTC dependencies install with the project. All seven sample scenes are checked for missing scripts. +- Camera/inference lifecycle fixes, capture-pose detection placement, reusable detection markers, safer voice requests, and corrected stereo WAV encoding. +- API credentials must be supplied privately for ImageLLM; never commit a real key to a prefab or scene. +- **Build and Run** defaults to ColorPicker. Use the per-sample build command and Quak device tests in [Testing](docs/testing.md) for the other scenes. -# Update Notes ## Shader sample consolidation @@ -280,8 +276,8 @@ https://github.com/user-attachments/assets/a4cfbfc2-0306-40dc-a9a3-cdccffa7afea ## Prerequisites -- **Meta Quest Device:** Ensure you are runnning on a `Quest 3` or `Quest 3s` and your device is updated to `HorizonOS v74` or later. -- **Unity:** Recommended is `Unity 6`. Also runs on Unity `2022.3. LTS`. +- **Meta Quest Device:** Ensure you are running on a `Quest 3` or `Quest 3s` and your device is updated to `HorizonOS v74` or later. +- **Unity:** Use `6000.3.12f1` with Android Build Support. This upgraded project targets Unity 6.3; older editor versions are not supported by the current package set. - **Camera Passthrough API does not work in the Editor or XR Simulator.** - Get more information from the [Meta Quest Developer Documentation](https://developers.meta.com/horizon/documentation/unity/unity-pca-documentation) @@ -292,16 +288,16 @@ https://github.com/user-attachments/assets/a4cfbfc2-0306-40dc-a9a3-cdccffa7afea ``` 2. **Open the Project in Unity:** -Launch Unity and open the cloned project folder. +Launch Unity and open `Unity-QuestVisionKit` inside the cloned repository. 3. **Configure Dependencies:** -Follow the instructions in the section below to run one of the samples. +Allow Package Manager to resolve the pinned dependencies, then follow the selected sample instructions. See [Testing](docs/testing.md) for repeatable checks and builds. # Troubleshooting & Known Issues -- For sample 7 QR Code Detection, make sure experimental mode is active. You can find more information about the necessary steps [here](https://developers.meta.com/horizon/documentation/unity/unity-mr-utility-kit-qrcode-detection). -- Object Detection uses `Unity.InferenceEngine` with `com.unity.ai.inference@2.3.0`. -- If switching betwenn Unity 6 and other versions such as 2023 or 2022 it can happen that your Android Manifest is getting modified and the app won't run anymore. Should this happen to you make sure to go to `Meta > Tools > Update AndroidManifest.xml` or `Meta > Tools > Create store-compatible AndroidManifest.xml`. After that make sure you add back the `horizonos.permission.HEADSET_CAMERA` manually into your manifest file. +- For sample 3 QR Code Detection, make sure experimental mode is active. You can find more information about the necessary steps [here](https://developers.meta.com/horizon/documentation/unity/unity-mr-utility-kit-qrcode-detection). +- Object Detection uses `Unity.InferenceEngine` with `com.unity.ai.inference@2.6.1`. +- If switching between Unity 6 and other versions such as 2023 or 2022 it can happen that your Android Manifest is getting modified and the app won't run anymore. Should this happen to you make sure to go to `Meta > Tools > Update AndroidManifest.xml` or `Meta > Tools > Create store-compatible AndroidManifest.xml`. After that make sure you add back the `horizonos.permission.HEADSET_CAMERA` manually into your manifest file. # README Media Hosting @@ -389,7 +385,6 @@ large files are removed from the current checkout. See - Thanks to **Meta** for the Passthrough Camera API and [**Passthrough Camera API Samples**](https://github.com/oculus-samples/Unity-PassthroughCameraApiSamples/). - Thanks to shader wizard [Daniel Ilett](https://www.youtube.com/@danielilett) for helping me in the shader samples. -- Thanks to **[Michael Jahn](https://github.com/micjahn/ZXing.Net/)** for the XZing.Net library used for the QR code tracking samples. - Special thanks to [Markus Altenhofer](https://www.linkedin.com/in/markus-altenhofer-176453155/) from [FireDragonGameStudio](https://www.youtube.com/@firedragongamestudio) for contributing the WebRTC sample scene. - Special thanks to [Thomas Ratliff](https://x.com/devtom7) for contributing his [shader samples](https://x.com/devtom7/status/1902033672041091453) to the repo. diff --git a/Unity-QuestVisionKit/.gitignore b/Unity-QuestVisionKit/.gitignore index f8bb3b2e..24534b1a 100644 --- a/Unity-QuestVisionKit/.gitignore +++ b/Unity-QuestVisionKit/.gitignore @@ -127,4 +127,17 @@ Assets/Nuget.config Assets/Nuget.config.meta **/RuntimeActionBindings.json **/RuntimeActionBindings.json.meta -.editorconfig \ No newline at end of file +.editorconfig + +# Machine-local SDK configuration and test/build output. +Assets/Resources/DevAgentSettings.asset +Assets/Resources/DevAgentSettings.asset.meta +Assets/Resources/OVRPlatformToolSettings.asset.meta +Assets/Resources/PerformanceTestRunInfo.json* +Assets/Resources/PerformanceTestRunSettings.json* +Assets/XR/Temp/ +Assets/XR/Temp.meta +.quak/evidence/ +.quak/machines.local.json +.quak/packages/ +.quak/venv/ diff --git a/Unity-QuestVisionKit/Assets/Diagnostics.meta b/Unity-QuestVisionKit/Assets/Diagnostics.meta new file mode 100644 index 00000000..7eb3491e --- /dev/null +++ b/Unity-QuestVisionKit/Assets/Diagnostics.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f22f60deee80c4902a670868c7610e3b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-QuestVisionKit/Assets/Diagnostics/CameraKitState.cs b/Unity-QuestVisionKit/Assets/Diagnostics/CameraKitState.cs new file mode 100644 index 00000000..fe8e7f2d --- /dev/null +++ b/Unity-QuestVisionKit/Assets/Diagnostics/CameraKitState.cs @@ -0,0 +1,116 @@ +#if DEVELOPMENT_BUILD || UNITY_EDITOR +using System; +using Meta.XR; +using Meta.XR.MRUtilityKit; +using Meta.XR.MRUtilityKitSamples.QRCodeDetection; +using UnityEngine; +using UnityEngine.SceneManagement; +using XRDevRob.QUAK; + +namespace QuestCameraKit.Diagnostics +{ + // Read-only observations of the actual sample. The bridge is excluded from release players. + public sealed class CameraKitState : MonoBehaviour, IQuakStateProvider + { + private PassthroughCameraAccess[] _cameras; + private DateTime[] _timestamps; + private int[] _frames; + private float[] _lastFrameTimes; + private ObjectDetector _detector; + private SampleMenu _menu; + private int _errors; + public string ProviderId => "quest-camera-kit"; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] + private static void Install() + { + SceneManager.sceneLoaded -= ObserveScene; + SceneManager.sceneLoaded += ObserveScene; + } + + private static void ObserveScene(Scene scene, LoadSceneMode mode) => + new GameObject("QuestCameraKit diagnostics").AddComponent(); + + private void Awake() + { + _cameras = FindObjectsByType(FindObjectsSortMode.None); + _timestamps = new DateTime[_cameras.Length]; + _frames = new int[_cameras.Length]; + _lastFrameTimes = new float[_cameras.Length]; + _detector = FindAnyObjectByType(); + _menu = FindAnyObjectByType(); + } + + private void OnEnable() + { + Application.logMessageReceived += OnLog; + QuakRegistry.Register(this); + } + + private void OnDisable() + { + Application.logMessageReceived -= OnLog; + QuakRegistry.Unregister(this); + } + + private void OnLog(string message, string stack, LogType type) + { + if (type == LogType.Exception || type == LogType.Error || type == LogType.Assert) _errors++; + } + + private void Update() + { + for (var i = 0; i < _cameras.Length; i++) + { + if (!_cameras[i] || !_cameras[i].IsPlaying || _timestamps[i] == _cameras[i].Timestamp) continue; + _timestamps[i] = _cameras[i].Timestamp; + _frames[i]++; + _lastFrameTimes[i] = Time.realtimeSinceStartup; + } + } + + public string CaptureStateJson() + { + var state = new Snapshot + { + scene = SceneManager.GetActiveScene().name, + cameraCount = _cameras.Length, + minFramesObserved = _cameras.Length == 0 ? 0 : int.MaxValue, + inferenceCount = _detector ? _detector.CompletedInferenceCount : 0, + errorCount = _errors, + menuVisible = _menu && _menu.IsVisible, + menuSampleCount = _menu ? _menu.SampleCount : 0, + nativeQrHasPermissions = QRCodeManager.HasPermissions, + nativeQrTrackedCount = QRCodeManager.ActiveTrackedCount, + nativeQrSupported = MRUK.Instance && MRUK.Instance.QRCodeTrackingSupported, + nativeQrTrackingEnabled = MRUK.Instance && MRUK.Instance.SceneSettings.TrackerConfiguration.QRCodeTrackingEnabled + }; + for (var i = 0; i < _cameras.Length; i++) + { + if (_cameras[i] && _cameras[i].IsPlaying) state.playingCameraCount++; + state.minFramesObserved = Mathf.Min(state.minFramesObserved, _frames[i]); + state.maxFrameAgeSeconds = Mathf.Max(state.maxFrameAgeSeconds, Time.realtimeSinceStartup - _lastFrameTimes[i]); + } + return JsonUtility.ToJson(state); + } + + [Serializable] + private sealed class Snapshot + { + public string scene; + public int cameraCount; + public int playingCameraCount; + public int minFramesObserved; + public float maxFrameAgeSeconds; + public int inferenceCount; + public int errorCount; + public bool menuVisible; + public int menuSampleCount; + public bool nativeQrHasPermissions; + public int nativeQrTrackedCount; + public bool nativeQrSupported; + public bool nativeQrTrackingEnabled; + } + } +} +#endif diff --git a/Unity-QuestVisionKit/Assets/Diagnostics/CameraKitState.cs.meta b/Unity-QuestVisionKit/Assets/Diagnostics/CameraKitState.cs.meta new file mode 100644 index 00000000..7caec205 --- /dev/null +++ b/Unity-QuestVisionKit/Assets/Diagnostics/CameraKitState.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a92d136ffdbfb4277b2bb57be6bf4d9e \ No newline at end of file diff --git a/Unity-QuestVisionKit/Assets/Editor.meta b/Unity-QuestVisionKit/Assets/Editor.meta new file mode 100644 index 00000000..83f7aa09 --- /dev/null +++ b/Unity-QuestVisionKit/Assets/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d317b319943ea4ff5a2a2091db710f7b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity-QuestVisionKit/Assets/Editor/MaintenanceChecks.cs b/Unity-QuestVisionKit/Assets/Editor/MaintenanceChecks.cs new file mode 100644 index 00000000..6be0f9e5 --- /dev/null +++ b/Unity-QuestVisionKit/Assets/Editor/MaintenanceChecks.cs @@ -0,0 +1,164 @@ +using System; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using QuestCameraKit.OpenAI; +using UnityEditor; +using UnityEditor.SceneManagement; +using UnityEngine; +using UnityEngine.SceneManagement; +using Object = UnityEngine.Object; + +namespace QuestCameraKit.Editor +{ + public static class MaintenanceChecks + { + private static void Require(bool value, string message) + { + if (!value) throw new InvalidOperationException(message); + } + + public static void CheckWavStereo() + { + var clip = AudioClip.Create("stereo-regression", 3, 2, 44100, false); + try + { + clip.SetData(new[] { 0f, 0.5f, -0.5f, 1f, -1f, 0.25f }, 0); + var wav = SaveWav.Save("test.wav", clip); + Require(wav.Length == 56, $"Stereo WAV lost channel samples: expected 56 bytes, got {wav.Length}."); + Require(BitConverter.ToInt32(wav, 40) == wav.Length - 44, "WAV data length disagrees with header."); + Require(BitConverter.ToInt16(wav, 22) == 2, "WAV channel count changed."); + Require(BitConverter.ToInt16(wav, 46) > 0 && BitConverter.ToInt16(wav, 48) < 0, "Stereo samples are not interleaved correctly."); + Debug.Log("PASS: stereo WAV preserves every channel and has a correct header."); + } + finally { Object.DestroyImmediate(clip); } + } + + public static void Run() + { + Require(typeof(QuestCameraKit.WebRTC.WebRTCController).GetField("_webRTCConnection", + BindingFlags.NonPublic | BindingFlags.Instance) != null, "WEBRTC_ENABLED must compile the streaming controller."); + Require(SampleMenu.Label("Assets/Samples/3 QRCodeDetection/QRCodeDetection.unity") == "QR tracking (Meta native)", + "Native QR must be clearly distinguished from the raw-camera sample."); + Require(SampleMenu.AvailableScenes().Length == 6 && !SampleMenu.AvailableScenes().Any(path => path.Contains("WebRTC-SingleClient")), "The combined build must contain all six headset samples."); + CheckNativeQrBounds(); + CheckWavStereo(); + CheckModelContract(); + var escape = typeof(ImageOpenAIConnector).GetMethod("EscapeJson", BindingFlags.NonPublic | BindingFlags.Instance); + var owner = new GameObject("json-check"); + owner.SetActive(false); + try + { + var connector = owner.AddComponent(); + const string input = "quote \" slash \\ newline\n tab\t return\r"; + var escaped = (string)escape.Invoke(connector, new object[] { input }); + var decoded = OVRSimpleJSON.JSON.Parse("{\"text\":\"" + escaped + "\"}")["text"].Value; + Require(decoded == input, "Command text must survive JSON encoding unchanged."); + Require((string)escape.Invoke(connector, new object[] { null }) == "", "Null command must serialize safely."); + } + finally { Object.DestroyImmediate(owner); } + Debug.Log("PASS: QuestCameraKit maintenance regression checks."); + } + + private static void CheckNativeQrBounds() + { + var prefab = AssetDatabase.LoadAssetAtPath( + "Assets/Samples/3 QRCodeDetection/Prefabs/QRCodePrefab.prefab"); + Require(prefab, "Native QR overlay prefab must exist."); + var instance = (GameObject)PrefabUtility.InstantiatePrefab(prefab); + try + { + var visualizer = instance.GetComponent(); + var flags = BindingFlags.NonPublic | BindingFlags.Instance; + var type = visualizer.GetType(); + var line = (LineRenderer)type.GetField("_lineRenderer", flags).GetValue(visualizer); + var canvas = (RectTransform)type.GetField("_canvasRect", flags).GetValue(visualizer); + var update = type.GetMethod("SetBounds", flags); + Require(line && canvas, "Native QR prefab needs its boundary and payload canvas."); + update.Invoke(visualizer, new object[] { null }); + Require(!line.enabled && !canvas.gameObject.activeSelf, "Missing native bounds must hide the overlay."); + update.Invoke(visualizer, new object[] { new Rect(1, 2, 3, 4) }); + Require(line.enabled && canvas.gameObject.activeSelf && line.positionCount == 4 && + line.GetPosition(0) == new Vector3(1, 2, 0) && line.GetPosition(2) == new Vector3(4, 6, 0), + "Native bounds must draw the correct rectangle immediately after becoming available."); + update.Invoke(visualizer, new object[] { null }); + Require(!line.enabled && !canvas.gameObject.activeSelf, "Losing native bounds must hide stale geometry."); + Debug.Log("PASS: native QR overlay handles missing, available, and lost bounds."); + } + finally { Object.DestroyImmediate(instance); } + } + + private static void CheckModelContract() + { + var asset = AssetDatabase.LoadAssetAtPath( + "Assets/Samples/2 ObjectDetection/Resources/yolov9sentis.sentis"); + Require(asset, "The bundled detection model must import successfully."); + var model = Unity.InferenceEngine.ModelLoader.Load(asset); + using var worker = new Unity.InferenceEngine.Worker(model, Unity.InferenceEngine.BackendType.CPU); + using var input = new Unity.InferenceEngine.Tensor( + new Unity.InferenceEngine.TensorShape(1, 3, 640, 640), new float[3 * 640 * 640]); + worker.Schedule(input); + Require(worker.PeekOutput(0) is Unity.InferenceEngine.Tensor, "Coordinates must be floats."); + Require(worker.PeekOutput(1) is Unity.InferenceEngine.Tensor, "Class IDs must be integers."); + using var coords = ((Unity.InferenceEngine.Tensor)worker.PeekOutput(0)).ReadbackAndClone(); + using var labels = ((Unity.InferenceEngine.Tensor)worker.PeekOutput(1)).ReadbackAndClone(); + Require(coords.shape.rank == 2 && coords.shape[1] >= 4, "Model coordinate shape changed."); + Require(coords.shape[0] == labels.shape.length, "Detection and label counts disagree."); + Debug.Log("PASS: bundled model executes on CPU and preserves the output contract (synthetic black input)."); + } + + public static void PreviewMenu() + { + EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Single); + var camera = new GameObject("Preview camera", typeof(Camera)).GetComponent(); + camera.tag = "MainCamera"; + camera.clearFlags = CameraClearFlags.SolidColor; + camera.backgroundColor = new Color(0.12f, 0.15f, 0.19f); + var menu = new GameObject("Menu preview").AddComponent(); + var flags = BindingFlags.NonPublic | BindingFlags.Instance; + typeof(SampleMenu).GetMethod("Awake", flags).Invoke(menu, null); + typeof(SampleMenu).GetMethod("Refresh", flags).Invoke(menu, null); + typeof(SampleMenu).GetMethod("LateUpdate", flags).Invoke(menu, null); + Canvas.ForceUpdateCanvases(); + var target = new RenderTexture(1200, 1000, 24); + camera.targetTexture = target; + camera.Render(); + var previous = RenderTexture.active; + RenderTexture.active = target; + var image = new Texture2D(1200, 1000, TextureFormat.RGB24, false); + image.ReadPixels(new Rect(0, 0, 1200, 1000), 0, 0); + image.Apply(); + File.WriteAllBytes(Path.GetFullPath(Path.Combine(Application.dataPath, "../../menu-preview.png")), image.EncodeToPNG()); + RenderTexture.active = previous; + camera.targetTexture = null; + Object.DestroyImmediate(image); + Object.DestroyImmediate(target); + Object.DestroyImmediate(menu.gameObject); + Object.DestroyImmediate(camera.gameObject); + } + + public static void AuditScenes() + { + var report = new StringBuilder(); + var missing = 0; + foreach (var path in AssetDatabase.FindAssets("t:Scene", new[] { "Assets/Samples" }).Select(AssetDatabase.GUIDToAssetPath).OrderBy(p => p)) + { + var scene = EditorSceneManager.OpenScene(path, OpenSceneMode.Single); + report.AppendLine(path); + foreach (var root in scene.GetRootGameObjects()) + foreach (var transform in root.GetComponentsInChildren(true)) + { + var count = GameObjectUtility.GetMonoBehavioursWithMissingScriptCount(transform.gameObject); + if (count == 0) continue; + missing += count; + report.AppendLine($" MISSING {count}: {transform.name}"); + } + } + var output = Path.GetFullPath(Path.Combine(Application.dataPath, "../../scene-audit.txt")); + File.WriteAllText(output, report.ToString()); + Debug.Log($"Scene audit: {missing} missing scripts. Report: {output}"); + Require(missing == 0, "One or more sample scenes contain missing scripts; inspect scene-audit.txt."); + } + } +} diff --git a/Unity-QuestVisionKit/Assets/Editor/MaintenanceChecks.cs.meta b/Unity-QuestVisionKit/Assets/Editor/MaintenanceChecks.cs.meta new file mode 100644 index 00000000..090f2dad --- /dev/null +++ b/Unity-QuestVisionKit/Assets/Editor/MaintenanceChecks.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b1dffb0088a384f46a97a1b34ec04f1d \ No newline at end of file diff --git a/Unity-QuestVisionKit/Assets/Editor/SampleBuild.cs b/Unity-QuestVisionKit/Assets/Editor/SampleBuild.cs new file mode 100644 index 00000000..7732a81d --- /dev/null +++ b/Unity-QuestVisionKit/Assets/Editor/SampleBuild.cs @@ -0,0 +1,65 @@ +using System; +using System.IO; +using System.Linq; +using UnityEditor; +using UnityEditor.Build; +using UnityEditor.Build.Reporting; +using UnityEngine; + +namespace QuestCameraKit.Editor +{ + public static class SampleBuild + { + // Unity -batchmode -quit -buildTarget Android -executeMethod QuestCameraKit.Editor.SampleBuild.Build + // -sampleScene ColorPicker -apk /absolute/path/ColorPicker.apk + public static void Build() + { + var args = Environment.GetCommandLineArgs(); + var sceneName = Argument(args, "-sampleScene", "AllSamples"); + var paths = AssetDatabase.FindAssets("t:Scene", new[] { "Assets/Samples" }) + .Select(AssetDatabase.GUIDToAssetPath).Where(p => sceneName == "AllSamples" + ? Path.GetFileNameWithoutExtension(p) != "WebRTC-SingleClient" + : Path.GetFileNameWithoutExtension(p) == sceneName).OrderBy(p => p).ToArray(); + if (paths.Length == 0 || (sceneName != "AllSamples" && paths.Length != 1)) throw new ArgumentException($"Expected exactly one sample scene named {sceneName}."); + var apk = Path.GetFullPath(Argument(args, "-apk", Path.Combine(Application.dataPath, "../../Builds", sceneName + ".apk"))); + Directory.CreateDirectory(Path.GetDirectoryName(apk)); + XRDevRob.QUAK.Editor.ControlPanel.QuakProjectSetup.ConfigureProject(); + var originalId = PlayerSettings.GetApplicationIdentifier(NamedBuildTarget.Android); + var originalName = PlayerSettings.productName; + try + { + PlayerSettings.SetApplicationIdentifier(NamedBuildTarget.Android, + "com.xrdevrob.questcamerakit." + sceneName.Replace("-", "").ToLowerInvariant()); + PlayerSettings.productName = "QuestCameraKit - " + sceneName; + PlayerSettings.SetScriptingBackend(NamedBuildTarget.Android, ScriptingImplementation.IL2CPP); + PlayerSettings.Android.targetArchitectures = AndroidArchitecture.ARM64; + PlayerSettings.Android.targetSdkVersion = AndroidSdkVersions.AndroidApiLevelAuto; + var report = BuildPipeline.BuildPlayer(new BuildPlayerOptions + { + scenes = paths, + target = BuildTarget.Android, + locationPathName = apk, + options = BuildOptions.Development + }); + if (report.summary.result != BuildResult.Succeeded) + throw new InvalidOperationException($"{sceneName} build failed: {report.summary.result}, {report.summary.totalErrors} errors."); + Debug.Log($"Built {sceneName}: {apk} ({report.summary.totalSize} bytes)."); + } + finally + { + PlayerSettings.SetApplicationIdentifier(NamedBuildTarget.Android, originalId); + PlayerSettings.productName = originalName; + AssetDatabase.SaveAssets(); + } + } + + private static string Argument(string[] args, string key, string fallback) + { + var index = Array.IndexOf(args, key); + if (index < 0) return fallback; + if (index + 1 >= args.Length || args[index + 1].StartsWith("-")) + throw new ArgumentException($"{key} requires a value."); + return args[index + 1]; + } + } +} diff --git a/Unity-QuestVisionKit/Assets/Editor/SampleBuild.cs.meta b/Unity-QuestVisionKit/Assets/Editor/SampleBuild.cs.meta new file mode 100644 index 00000000..0d72cf38 --- /dev/null +++ b/Unity-QuestVisionKit/Assets/Editor/SampleBuild.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1bf51d2ffce714e74bae840cd447b675 \ No newline at end of file diff --git a/Unity-QuestVisionKit/Assets/Plugins/Android/AndroidManifest.xml b/Unity-QuestVisionKit/Assets/Plugins/Android/AndroidManifest.xml index 8e03667c..2486de42 100644 --- a/Unity-QuestVisionKit/Assets/Plugins/Android/AndroidManifest.xml +++ b/Unity-QuestVisionKit/Assets/Plugins/Android/AndroidManifest.xml @@ -1,4 +1,4 @@ - + @@ -16,7 +16,7 @@ - + diff --git a/Unity-QuestVisionKit/Assets/Samples/1 ColorPicker/Scripts/ColorPicker.cs b/Unity-QuestVisionKit/Assets/Samples/1 ColorPicker/Scripts/ColorPicker.cs index f8cf1b19..639be2f1 100644 --- a/Unity-QuestVisionKit/Assets/Samples/1 ColorPicker/Scripts/ColorPicker.cs +++ b/Unity-QuestVisionKit/Assets/Samples/1 ColorPicker/Scripts/ColorPicker.cs @@ -1,7 +1,6 @@ using Meta.XR; using Unity.Collections; using UnityEngine; -using System.Collections; public enum SamplingMode { @@ -29,7 +28,7 @@ public class ColorPicker : MonoBehaviour private float _prevCorrectionFactor = 1f; private Vector3? _lastHitPoint; - private Camera _mainCamera; + private MaterialPropertyBlock _sampleProperties; private Renderer _manualRenderer; [SerializeField] private PassthroughCameraAccess cameraAccess; private EnvironmentRaycastManager _raycastManager; @@ -37,25 +36,25 @@ public class ColorPicker : MonoBehaviour private void Start() { - _mainCamera = Camera.main; cameraAccess = ResolveCameraAccess(cameraAccess); _raycastManager = GetComponent(); - if (!_mainCamera || !cameraAccess || !_raycastManager || - (samplingMode == SamplingMode.Environment && !raySampleOrigin) || + if (!cameraAccess || + (samplingMode == SamplingMode.Environment && (!raySampleOrigin || !_raycastManager)) || (samplingMode == SamplingMode.Manual && !manualSamplingOrigin)) { Debug.LogError("ColorPicker: Missing required references."); + enabled = false; return; } if (manualSamplingOrigin) { _manualRenderer = manualSamplingOrigin.GetComponent(); + _sampleProperties = new MaterialPropertyBlock(); } SetupLineRenderer(); - StartCoroutine(WaitForCameraFeed()); } private static PassthroughCameraAccess ResolveCameraAccess(PassthroughCameraAccess configuredAccess) @@ -67,15 +66,6 @@ private static PassthroughCameraAccess ResolveCameraAccess(PassthroughCameraAcce return FindAnyObjectByType(FindObjectsInactive.Include); } - private IEnumerator WaitForCameraFeed() - { - while (cameraAccess && !cameraAccess.IsPlaying) - { - yield return null; - } - _cameraResolution = cameraAccess ? cameraAccess.CurrentResolution : Vector2Int.zero; - } - private void Update() { UpdateSamplingPoint(); @@ -93,15 +83,18 @@ private void UpdateSamplingPoint() Ray ray = new(raySampleOrigin.position, raySampleOrigin.forward); var hitSuccess = _raycastManager.Raycast(ray, out var hit); - lineRenderer.enabled = true; - lineRenderer.SetPosition(0, ray.origin); - lineRenderer.SetPosition(1, hitSuccess ? hit.point : ray.origin + ray.direction * 5f); + if (lineRenderer) + { + lineRenderer.enabled = true; + lineRenderer.SetPosition(0, ray.origin); + lineRenderer.SetPosition(1, hitSuccess ? hit.point : ray.origin + ray.direction * 5f); + } _lastHitPoint = hitSuccess ? hit.point : null; } else { - lineRenderer.enabled = false; + if (lineRenderer) lineRenderer.enabled = false; _lastHitPoint = manualSamplingOrigin.position; } } @@ -122,7 +115,7 @@ private void PickColor() } var colors = cameraAccess.GetColors(); - if (!colors.IsCreated) + if (!colors.IsCreated || colors.Length != _cameraResolution.x * _cameraResolution.y) { Debug.LogWarning("ColorPicker: Camera colors not ready."); return; @@ -132,7 +125,10 @@ private void PickColor() if (_manualRenderer) { - _manualRenderer.material.color = color; + _manualRenderer.GetPropertyBlock(_sampleProperties); + _sampleProperties.SetColor("_BaseColor", color); + _sampleProperties.SetColor("_Color", color); + _manualRenderer.SetPropertyBlock(_sampleProperties); } } @@ -144,8 +140,10 @@ private bool TryGetPixelCoordinate(Vector3 worldPoint, out Vector2Int pixel) return false; } - var viewport = cameraAccess.WorldToViewportPoint(worldPoint); - if (viewport.x < 0f || viewport.x > 1f || viewport.y < 0f || viewport.y > 1f) + var pose = cameraAccess.GetCameraPose(); + if (Vector3.Dot(worldPoint - pose.position, pose.rotation * Vector3.forward) <= 0f) return false; + var viewport = cameraAccess.WorldToViewportPoint(worldPoint, pose); + if (!float.IsFinite(viewport.x) || !float.IsFinite(viewport.y) || viewport.x < 0f || viewport.x > 1f || viewport.y < 0f || viewport.y > 1f) { return false; } @@ -165,14 +163,14 @@ private Color SampleAndCorrectColor(Vector2Int pixel, NativeArray color _prevCorrectionFactor = Mathf.Lerp(_prevCorrectionFactor, factor, correctionSmoothing); var corrected = (sampledColor.linear * _prevCorrectionFactor).gamma; - return new Color(Mathf.Clamp01(corrected.r), Mathf.Clamp01(corrected.g), Mathf.Clamp01(corrected.b), corrected.a); + return new Color(Mathf.Clamp01(corrected.r), Mathf.Clamp01(corrected.g), Mathf.Clamp01(corrected.b), sampledColor.a); } private float CalculateRoiBrightness(Vector2Int centerPixel, NativeArray colors, Vector2Int resolution) { var sum = 0f; var count = 0; - var half = roiSize / 2; + var half = Mathf.Max(1, roiSize) / 2; for (var i = -half; i <= half; i++) { diff --git a/Unity-QuestVisionKit/Assets/Samples/2 ObjectDetection/Resources/yolov9sentis.sentis.meta b/Unity-QuestVisionKit/Assets/Samples/2 ObjectDetection/Resources/yolov9sentis.sentis.meta index 71cd0eec..f0bf4d84 100644 --- a/Unity-QuestVisionKit/Assets/Samples/2 ObjectDetection/Resources/yolov9sentis.sentis.meta +++ b/Unity-QuestVisionKit/Assets/Samples/2 ObjectDetection/Resources/yolov9sentis.sentis.meta @@ -8,3 +8,4 @@ ScriptedImporter: assetBundleName: assetBundleVariant: script: {fileID: 11500000, guid: d416c695138885743b59877b4a1c2f5a, type: 3} + dynamicDimConfigs: [] diff --git a/Unity-QuestVisionKit/Assets/Samples/2 ObjectDetection/Scripts/ObjectDetector.cs b/Unity-QuestVisionKit/Assets/Samples/2 ObjectDetection/Scripts/ObjectDetector.cs index f180d0c4..f11aac7c 100644 --- a/Unity-QuestVisionKit/Assets/Samples/2 ObjectDetection/Scripts/ObjectDetector.cs +++ b/Unity-QuestVisionKit/Assets/Samples/2 ObjectDetection/Scripts/ObjectDetector.cs @@ -1,230 +1,137 @@ +using System; using System.Collections; -using UnityEngine; using Meta.XR; -using System; +using Unity.InferenceEngine; +using UnityEngine; public class ObjectDetector : MonoBehaviour { - [Header("Environment Sampling")] - [SerializeField] private Unity.InferenceEngine.ModelAsset sentisModel; - [SerializeField] private Unity.InferenceEngine.BackendType backend = Unity.InferenceEngine.BackendType.CPU; - [SerializeField] private float inferenceInterval = 0.1f; - [SerializeField] private int kLayersPerFrame = 20; - + [Header("Inference")] + [SerializeField] private ModelAsset sentisModel; + [SerializeField] private BackendType backend = BackendType.CPU; + [SerializeField, Min(0f)] private float inferenceInterval = 0.1f; + [SerializeField, Min(1)] private int kLayersPerFrame = 20; + private PassthroughCameraAccess _cameraAccess; - private Unity.InferenceEngine.Model _model; - private Unity.InferenceEngine.Worker _engine; private ObjectRenderer _objectRenderer; - private Coroutine _inferenceCoroutine; - private Texture _cameraTexture; + private Model _model; + private Worker _engine; + private Tensor _input; + private Tensor _coords; + private Tensor _labels; + private Tensor _confidences; private const int InputSize = 640; + public int CompletedInferenceCount { get; private set; } - private void Start() + private void OnEnable() { _cameraAccess = GetComponent(); _objectRenderer = GetComponent(); - - if (!_cameraAccess || !_objectRenderer) + if (!_cameraAccess || !_objectRenderer || !sentisModel) { - Debug.LogError("[ObjectDetector] PassthroughCameraAccess or Object Renderer not found in the scene."); + Debug.LogError("[ObjectDetector] Assign a model, PassthroughCameraAccess and ObjectRenderer."); + enabled = false; return; } - - LoadModel(); - _inferenceCoroutine = StartCoroutine(InferenceLoop()); - } - - private void OnDestroy() - { - if (_inferenceCoroutine != null) - { - StopCoroutine(_inferenceCoroutine); - _inferenceCoroutine = null; - } - - _engine?.Dispose(); - } - private void LoadModel() - { try { - _model = Unity.InferenceEngine.ModelLoader.Load(sentisModel); - _engine = new Unity.InferenceEngine.Worker(_model, backend); + _model = ModelLoader.Load(sentisModel); + if (_model.outputs.Count < 2) + throw new InvalidOperationException("Model needs coordinates and integer label outputs."); + _engine = new Worker(_model, backend); + _input = new Tensor(new TensorShape(1, 3, InputSize, InputSize)); } catch (Exception e) { Debug.LogError("[ObjectDetector] Failed to load model: " + e.Message); + enabled = false; + return; } + + StartCoroutine(InferenceLoop()); + } + + private void OnDisable() + { + StopAllCoroutines(); + ReleaseReadbacks(); + _engine?.Dispose(); + _engine = null; + _input?.Dispose(); + _input = null; + } + + private void ReleaseReadbacks() + { + _coords?.Dispose(); + _labels?.Dispose(); + _confidences?.Dispose(); + _coords = null; + _labels = null; + _confidences = null; } private IEnumerator InferenceLoop() { while (isActiveAndEnabled) { - if (!TryEnsureCameraTexture()) - { - yield return null; - continue; - } - - yield return new WaitForSeconds(inferenceInterval); - - yield return StartCoroutine(PerformInference(_cameraTexture)); + yield return new WaitForSeconds(Mathf.Max(0f, inferenceInterval)); + if (!_cameraAccess || !_cameraAccess.IsPlaying) continue; + // Camera textures can be replaced after a pause or resolution change. + var texture = _cameraAccess.GetTexture(); + if (!texture) continue; + yield return PerformInference(texture, _cameraAccess.GetCameraPose()); } } - private IEnumerator PerformInference(Texture texture) + private IEnumerator PerformInference(Texture texture, Pose capturePose) { - var tensorShape = new Unity.InferenceEngine.TensorShape(1, 3, InputSize, InputSize); - var inputTensor = new Unity.InferenceEngine.Tensor(tensorShape); - Unity.InferenceEngine.TextureConverter.ToTensor(texture, inputTensor); - - var schedule = _engine.ScheduleIterable(inputTensor); + TextureConverter.ToTensor(texture, _input); + var schedule = _engine.ScheduleIterable(_input); if (schedule == null) { - Debug.LogWarning("[ObjectDetector] ScheduleIterable returned null; falling back to synchronous scheduling."); - _engine.Schedule(inputTensor); + _engine.Schedule(_input); } else { - var it = 0; + var layers = 0; while (schedule.MoveNext()) { - if (++it % kLayersPerFrame == 0) - yield return null; + if (++layers % Mathf.Max(1, kLayersPerFrame) == 0) yield return null; } } - Unity.InferenceEngine.Tensor coordsOutput = null; - Unity.InferenceEngine.Tensor labelIDsOutput = null; - Unity.InferenceEngine.Tensor confidenceOutput = null; - Unity.InferenceEngine.Tensor pullCoords = _engine.PeekOutput(0) as Unity.InferenceEngine.Tensor; - Unity.InferenceEngine.Tensor pullLabelIDs = _engine.PeekOutput(1) as Unity.InferenceEngine.Tensor; - Unity.InferenceEngine.Tensor pullConfidences = TryPeekConfidenceOutput(); - - var isWaiting = false; - var downloadState = 0; - - while (true) + var coords = _engine.PeekOutput(0) as Tensor; + var labels = _engine.PeekOutput(1) as Tensor; + var confidences = _model.outputs.Count > 2 ? _engine.PeekOutput(2) as Tensor : null; + if (coords?.dataOnBackend == null || labels?.dataOnBackend == null) { - switch (downloadState) - { - case 0: - if (pullCoords?.dataOnBackend == null) - { - Debug.LogError("[ObjectDetector] Coordinates output is null or missing backend data."); - inputTensor.Dispose(); - yield break; - } - if (!isWaiting) - { - pullCoords.ReadbackRequest(); - isWaiting = true; - } - else if (pullCoords.IsReadbackRequestDone()) - { - coordsOutput = pullCoords.ReadbackAndClone(); - isWaiting = false; - downloadState = 1; - } - break; - case 1: - if (pullLabelIDs?.dataOnBackend == null) - { - Debug.LogError("[ObjectDetector] LabelIDs output is null or missing backend data."); - inputTensor.Dispose(); - coordsOutput?.Dispose(); - yield break; - } - if (!isWaiting) - { - pullLabelIDs.ReadbackRequest(); - isWaiting = true; - } - else if (pullLabelIDs.IsReadbackRequestDone()) - { - labelIDsOutput = pullLabelIDs.ReadbackAndClone(); - isWaiting = false; - downloadState = pullConfidences != null ? 2 : 3; - } - break; - case 2: - if (pullConfidences?.dataOnBackend == null) - { - pullConfidences = null; - downloadState = 3; - break; - } - if (!isWaiting) - { - pullConfidences.ReadbackRequest(); - isWaiting = true; - } - else if (pullConfidences.IsReadbackRequestDone()) - { - confidenceOutput = pullConfidences.ReadbackAndClone(); - isWaiting = false; - downloadState = 3; - } - break; - case 3: - if (_objectRenderer) - { - _objectRenderer.RenderDetections( - coordsOutput, - labelIDsOutput, - confidenceOutput - ); - } - downloadState = 4; - break; - case 4: - inputTensor.Dispose(); - coordsOutput?.Dispose(); - labelIDsOutput?.Dispose(); - confidenceOutput?.Dispose(); - yield break; - } - yield return null; + Debug.LogError("[ObjectDetector] Model must output float coordinates and integer label IDs."); + enabled = false; + yield break; } - } - private bool TryEnsureCameraTexture() - { - if (!_cameraAccess || !_cameraAccess.IsPlaying) + coords.ReadbackRequest(); + labels.ReadbackRequest(); + confidences?.ReadbackRequest(); + while (!coords.IsReadbackRequestDone() || !labels.IsReadbackRequestDone() || + (confidences != null && !confidences.IsReadbackRequestDone())) { - return false; - } - - if (_cameraTexture) - { - return true; - } - - _cameraTexture = _cameraAccess.GetTexture(); - if (_cameraTexture) - { - var resolution = _cameraAccess.CurrentResolution; - print($"[ObjectDetector] Passthrough texture ready: {resolution.x}x{resolution.y}"); - } - else - { - Debug.LogWarning("[ObjectDetector] Passthrough texture not available yet."); + yield return null; } - return _cameraTexture; - } - - private Unity.InferenceEngine.Tensor TryPeekConfidenceOutput() - { try { - return _engine.PeekOutput(2) as Unity.InferenceEngine.Tensor; + _coords = coords.ReadbackAndClone(); + _labels = labels.ReadbackAndClone(); + _confidences = confidences?.ReadbackAndClone(); + if (_objectRenderer) _objectRenderer.RenderDetections(_coords, _labels, _confidences, capturePose); + CompletedInferenceCount++; } - catch (Exception) + finally { - return null; + ReleaseReadbacks(); } } } diff --git a/Unity-QuestVisionKit/Assets/Samples/2 ObjectDetection/Scripts/ObjectRenderer.cs b/Unity-QuestVisionKit/Assets/Samples/2 ObjectDetection/Scripts/ObjectRenderer.cs index 475957ac..1af2fb07 100644 --- a/Unity-QuestVisionKit/Assets/Samples/2 ObjectDetection/Scripts/ObjectRenderer.cs +++ b/Unity-QuestVisionKit/Assets/Samples/2 ObjectDetection/Scripts/ObjectRenderer.cs @@ -20,6 +20,7 @@ public class ObjectRenderer : MonoBehaviour private PassthroughCameraAccess _cameraAccess; private EnvironmentRaycastManager _envRaycastManager; private readonly Dictionary _activeMarkers = new(); + private readonly List _markerPool = new(); private void Awake() { @@ -33,26 +34,24 @@ private void Awake() _mainCamera = Camera.main; } - public void RenderDetections(Unity.InferenceEngine.Tensor coords, Unity.InferenceEngine.Tensor labelIDs, Unity.InferenceEngine.Tensor confidences = null) + public void RenderDetections(Unity.InferenceEngine.Tensor coords, Unity.InferenceEngine.Tensor labelIDs, Unity.InferenceEngine.Tensor confidences = null, Pose? capturePose = null) { - if (coords == null || labelIDs == null) + if (coords == null || labelIDs == null || coords.shape.rank != 2 || coords.shape[1] < 4) { return; } - if (!_cameraAccess || !_envRaycastManager) + if (!_cameraAccess || !_envRaycastManager || !markerPrefab || !_mainCamera) { Debug.LogWarning("[Detection3DRenderer] Missing dependencies."); return; } - var numDetections = coords.shape[0]; + var numDetections = Mathf.Min(coords.shape[0], labelIDs.shape.length); ClearPreviousMarkers(); var imageWidth = ModelInputSize; var imageHeight = ModelInputSize; - var halfWidth = imageWidth * 0.5f; - var halfHeight = imageHeight * 0.5f; for (var i = 0; i < numDetections; i++) { @@ -61,16 +60,20 @@ public void RenderDetections(Unity.InferenceEngine.Tensor coords, Unity.I var detectedWidth = coords[i, 2]; var detectedHeight = coords[i, 3]; - var adjustedCenterX = detectedCenterX - halfWidth; - var adjustedCenterY = detectedCenterY - halfHeight; + var detectedLabel = (YOLOv9Labels)labelIDs[i]; + if (labelFilters is { Length: > 0 } && !Array.Exists(labelFilters, label => label == detectedLabel)) continue; + var confidence = GetConfidence(coords, confidences, i); + if (confidence >= 0f && confidence < minConfidence) continue; + if (!float.IsFinite(detectedCenterX) || !float.IsFinite(detectedCenterY) || + !float.IsFinite(detectedWidth) || !float.IsFinite(detectedHeight) || + detectedWidth <= 0f || detectedHeight <= 0f) continue; - var perX = (adjustedCenterX + halfWidth) / imageWidth; - var perY = (adjustedCenterY + halfHeight) / imageHeight; - var centerRay = _cameraAccess.ViewportPointToRay(DetectionToViewport(perX, perY)); + var perX = detectedCenterX / imageWidth; + var perY = detectedCenterY / imageHeight; + var centerRay = _cameraAccess.ViewportPointToRay(DetectionToViewport(perX, perY), capturePose); if (!_envRaycastManager.Raycast(centerRay, out var centerHit)) { - Debug.LogWarning($"[Detection3DRenderer] Detection {i}: Environment raycast failed."); continue; } @@ -81,35 +84,24 @@ public void RenderDetections(Unity.InferenceEngine.Tensor coords, Unity.I var u2 = (detectedCenterX + detectedWidth * 0.5f) / imageWidth; var v2 = (detectedCenterY + detectedHeight * 0.5f) / imageHeight; - var tlRay = _cameraAccess.ViewportPointToRay(DetectionToViewport(u1, v1)); - var trRay = _cameraAccess.ViewportPointToRay(DetectionToViewport(u2, v1)); - var blRay = _cameraAccess.ViewportPointToRay(DetectionToViewport(u1, v2)); - var brRay = _cameraAccess.ViewportPointToRay(DetectionToViewport(u2, v2)); + var tlRay = _cameraAccess.ViewportPointToRay(DetectionToViewport(u1, v1), capturePose); + var trRay = _cameraAccess.ViewportPointToRay(DetectionToViewport(u2, v1), capturePose); + var blRay = _cameraAccess.ViewportPointToRay(DetectionToViewport(u1, v2), capturePose); - var depth = Vector3.Distance(_mainCamera.transform.position, markerWorldPos); - var worldTL = tlRay.GetPoint(depth); - var worldTR = trRay.GetPoint(depth); - var worldBL = blRay.GetPoint(depth); + var depth = Vector3.Distance(centerRay.origin, markerWorldPos); + var plane = new Plane(centerHit.normal, markerWorldPos); + var worldTL = tlRay.GetPoint(plane.Raycast(tlRay, out var tlDistance) ? tlDistance : depth); + var worldTR = trRay.GetPoint(plane.Raycast(trRay, out var trDistance) ? trDistance : depth); + var worldBL = blRay.GetPoint(plane.Raycast(blRay, out var blDistance) ? blDistance : depth); var markerWidth = Vector3.Distance(worldTR, worldTL); var markerHeight = Vector3.Distance(worldBL, worldTL); var markerScale = new Vector3(markerWidth, markerHeight, 1f); - var detectedLabel = (YOLOv9Labels)labelIDs[i]; - if (labelFilters is { Length: > 0 } && !Array.Exists(labelFilters, label => label == detectedLabel)) - { - continue; - } - var surfaceNormal = SampleSurfaceNormal(markerWorldPos, centerHit.normal); var markerRotation = Quaternion.LookRotation(-surfaceNormal, Vector3.up); var dictionaryKey = detectedLabel.ToString(); - var confidence = GetConfidence(coords, confidences, i); - if (confidence >= 0f && confidence < minConfidence) - { - continue; - } var labelWithConfidence = confidence >= 0f ? $"{dictionaryKey} ({confidence * 100f:F0}%)" : dictionaryKey; @@ -125,12 +117,18 @@ public void RenderDetections(Unity.InferenceEngine.Tensor coords, Unity.I lookupKey = $"{dictionaryKey}_{i}"; } - var markerGo = Instantiate(markerPrefab); - var marker = markerGo.GetComponent(); + var marker = _markerPool.Find(item => item && !item.gameObject.activeSelf); if (!marker) { - Debug.LogWarning($"[Detection3DRenderer] Detection {i}: Marker prefab is missing a MarkerController component."); - continue; + var markerGo = Instantiate(markerPrefab); + marker = markerGo.GetComponent(); + if (!marker) + { + Destroy(markerGo); + Debug.LogError("[Detection3DRenderer] Marker prefab needs a MarkerController."); + return; + } + _markerPool.Add(marker); } marker.UpdateMarker(markerWorldPos, markerRotation, markerScale, labelWithConfidence); @@ -144,36 +142,23 @@ private void ClearPreviousMarkers() { if (marker && marker.gameObject) { - Destroy(marker.gameObject); + marker.gameObject.SetActive(false); } } _activeMarkers.Clear(); } - private Vector2 DetectionToViewport(float normalizedX, float normalizedY) - { - var resolution = (Vector2)_cameraAccess.CurrentResolution; - if (resolution == Vector2.zero) - { - resolution = (Vector2)_cameraAccess.Intrinsics.SensorResolution; - } - if (resolution == Vector2.zero) - { - return new Vector2(Mathf.Clamp01(normalizedX), Mathf.Clamp01(1f - normalizedY)); - } - - var scaledX = Mathf.Clamp01(normalizedX) * ModelInputSize; - var scaledY = Mathf.Clamp01(normalizedY) * ModelInputSize; + private void OnDisable() => ClearPreviousMarkers(); - var actualPixel = new Vector2( - scaledX * (resolution.x / ModelInputSize), - scaledY * (resolution.y / ModelInputSize)); - - return new Vector2( - Mathf.Clamp01(actualPixel.x / resolution.x), - Mathf.Clamp01(1f - actualPixel.y / resolution.y)); + private void OnDestroy() + { + foreach (var marker in _markerPool) + if (marker) Destroy(marker.gameObject); } + private static Vector2 DetectionToViewport(float normalizedX, float normalizedY) + => new(Mathf.Clamp01(normalizedX), Mathf.Clamp01(1f - normalizedY)); + private static float GetConfidence(Unity.InferenceEngine.Tensor coords, Unity.InferenceEngine.Tensor confidenceTensor, int index) { var sampled = SampleConfidence(confidenceTensor, index); diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/Base.mat b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/Base.mat similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/Base.mat rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/Base.mat diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/Base.mat.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/Base.mat.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/Base.mat.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/Base.mat.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/XAxis.mat b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/XAxis.mat similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/XAxis.mat rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/XAxis.mat diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/XAxis.mat.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/XAxis.mat.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/XAxis.mat.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/XAxis.mat.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/YAxis.mat b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/YAxis.mat similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/YAxis.mat rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/YAxis.mat diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/YAxis.mat.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/YAxis.mat.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/YAxis.mat.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/YAxis.mat.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/ZAxis.mat b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/ZAxis.mat similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/ZAxis.mat rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/ZAxis.mat diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/ZAxis.mat.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/ZAxis.mat.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Materials/ZAxis.mat.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Materials/ZAxis.mat.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Prefabs.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Prefabs.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Prefabs.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Prefabs.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Prefabs/QRCodePrefab.prefab b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Prefabs/QRCodePrefab.prefab similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Prefabs/QRCodePrefab.prefab rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Prefabs/QRCodePrefab.prefab diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Prefabs/QRCodePrefab.prefab.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Prefabs/QRCodePrefab.prefab.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Prefabs/QRCodePrefab.prefab.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Prefabs/QRCodePrefab.prefab.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Prefabs/QRCodeSampleUI.prefab b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Prefabs/QRCodeSampleUI.prefab similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Prefabs/QRCodeSampleUI.prefab rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Prefabs/QRCodeSampleUI.prefab diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Prefabs/QRCodeSampleUI.prefab.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Prefabs/QRCodeSampleUI.prefab.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Prefabs/QRCodeSampleUI.prefab.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Prefabs/QRCodeSampleUI.prefab.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/QRCodeDetection.unity b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/QRCodeDetection.unity similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/QRCodeDetection.unity rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/QRCodeDetection.unity diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/QRCodeDetection.unity.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/QRCodeDetection.unity.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/QRCodeDetection.unity.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/QRCodeDetection.unity.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/Bounded2DVisualizer.cs b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/Bounded2DVisualizer.cs similarity index 55% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/Bounded2DVisualizer.cs rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/Bounded2DVisualizer.cs index 600f4506..34fa38bc 100644 --- a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/Bounded2DVisualizer.cs +++ b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/Bounded2DVisualizer.cs @@ -38,53 +38,32 @@ public class Bounded2DVisualizer : MonoBehaviour MRUKTrackable _trackable; - Rect _box; - public void Initialize(MRUKTrackable trackable) { _trackable = trackable; - - if (trackable.PlaneBoundary2D == null && trackable.PlaneRect == null) - { - Debug.LogWarning($"{trackable} is missing a plane component."); - } - else - { - UpdateBoundingBox(); - } + Update(); } - void Update() - { - if (!_trackable) - { - return; - } - - UnityEngine.Assertions.Assert.IsTrue(_trackable.PlaneRect.HasValue); - _box = _trackable.PlaneRect.Value; - - UpdateBoundingBox(); - - if (!_canvasRect) - { - return; - } + void Update() => SetBounds(_trackable ? _trackable.PlaneRect : null); - _canvasRect.localPosition = new Vector3( - x: _box.center.x + _canvasOffset.x * _canvasRect.localScale.x, - y: _box.yMin + _canvasOffset.y * _canvasRect.localScale.y, - z: _canvasOffset.z * _canvasRect.localScale.z - ); - } - - void UpdateBoundingBox() + internal void SetBounds(Rect? bounds) { + var visible = bounds.HasValue; + if (_lineRenderer) _lineRenderer.enabled = visible; + if (_canvasRect) _canvasRect.gameObject.SetActive(visible); + if (!visible || !_lineRenderer) return; + + var box = bounds.Value; _lineRenderer.positionCount = 4; - _lineRenderer.SetPosition(0, new Vector3(_box.x, _box.y, 0)); - _lineRenderer.SetPosition(1, new Vector3(_box.x + _box.width, _box.y, 0)); - _lineRenderer.SetPosition(2, new Vector3(_box.x + _box.width, _box.y + _box.height, 0)); - _lineRenderer.SetPosition(3, new Vector3(_box.x, _box.y + _box.height, 0)); + _lineRenderer.SetPosition(0, new Vector3(box.xMin, box.yMin, 0)); + _lineRenderer.SetPosition(1, new Vector3(box.xMax, box.yMin, 0)); + _lineRenderer.SetPosition(2, new Vector3(box.xMax, box.yMax, 0)); + _lineRenderer.SetPosition(3, new Vector3(box.xMin, box.yMax, 0)); + if (!_canvasRect) return; + _canvasRect.localPosition = new Vector3( + box.center.x + _canvasOffset.x * _canvasRect.localScale.x, + box.yMin + _canvasOffset.y * _canvasRect.localScale.y, + _canvasOffset.z * _canvasRect.localScale.z); } } } diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/Bounded2DVisualizer.cs.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/Bounded2DVisualizer.cs.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/Bounded2DVisualizer.cs.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/Bounded2DVisualizer.cs.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCode.cs b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCode.cs similarity index 98% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCode.cs rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCode.cs index 4781ed62..a9640255 100644 --- a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCode.cs +++ b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCode.cs @@ -43,6 +43,7 @@ public sealed class QRCode : MonoBehaviour public void Initialize(MRUKTrackable trackable) { + _text.richText = false; if (trackable.MarkerPayloadString is { } str) { _text.text = $"\"{str}\""; diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCode.cs.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCode.cs.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCode.cs.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCode.cs.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeFaceCamera.cs b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeFaceCamera.cs similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeFaceCamera.cs rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeFaceCamera.cs diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeFaceCamera.cs.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeFaceCamera.cs.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeFaceCamera.cs.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeFaceCamera.cs.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeManager.cs b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeManager.cs similarity index 94% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeManager.cs rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeManager.cs index f318c0d0..315d4cda 100644 --- a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeManager.cs +++ b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeManager.cs @@ -37,7 +37,7 @@ public class QRCodeManager : MonoBehaviour public const string ScenePermission = OVRPermissionsRequester.ScenePermission; public static bool IsSupported - => OVRAnchor.TrackerConfiguration.QRCodeTrackingSupported; + => MRUK.Instance && MRUK.Instance.QRCodeTrackingSupported; public static bool HasPermissions #if UNITY_EDITOR @@ -172,8 +172,15 @@ void OnEnable() _mrukInstance.SceneSettings.TrackableRemoved.AddListener(OnTrackableRemoved); } - void OnDestroy() - => s_instance = null; + void OnDisable() + { + if (_mrukInstance) + { + _mrukInstance.SceneSettings.TrackableAdded.RemoveListener(OnTrackableAdded); + _mrukInstance.SceneSettings.TrackableRemoved.RemoveListener(OnTrackableRemoved); + } + if (s_instance == this) s_instance = null; + } // diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeManager.cs.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeManager.cs.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeManager.cs.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeManager.cs.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeSampleUI.cs b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeSampleUI.cs similarity index 99% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeSampleUI.cs rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeSampleUI.cs index e671af8d..a2702743 100644 --- a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeSampleUI.cs +++ b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeSampleUI.cs @@ -168,6 +168,8 @@ void UpdateUI() _txtLogs.pageToDisplay = _txtLogs.textInfo?.pageCount ?? 1; } + void OnDisable() => StopAllCoroutines(); + void OnEnable() { UpdateUI(); diff --git a/Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeSampleUI.cs.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeSampleUI.cs.meta similarity index 100% rename from Unity-QuestVisionKit/Assets/Samples/7 QRCodeDetection/Scripts/QRCodeSampleUI.cs.meta rename to Unity-QuestVisionKit/Assets/Samples/3 QRCodeDetection/Scripts/QRCodeSampleUI.cs.meta diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking.meta deleted file mode 100644 index 99948ddf..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ec82cde1221824724b07b05989802cfa -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/QRCodeTracking.unity b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/QRCodeTracking.unity deleted file mode 100644 index 94418828..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/QRCodeTracking.unity +++ /dev/null @@ -1,11706 +0,0 @@ -%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: 10 - 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: 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_UseRadianceAmbientProbe: 0 ---- !u!157 &3 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 13 - m_BakeOnSceneLoad: 0 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 12 - m_Resolution: 2 - m_BakeResolution: 40 - m_AtlasSize: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAmbientOcclusion: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 1 - m_ReflectionCompression: 2 - m_MixedBakeMode: 2 - m_BakeBackend: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVRBounces: 2 - m_PVREnvironmentSampleCount: 256 - m_PVREnvironmentReferencePointCount: 2048 - m_PVRFilteringMode: 1 - m_PVRDenoiserTypeDirect: 1 - m_PVRDenoiserTypeIndirect: 1 - m_PVRDenoiserTypeAO: 1 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVREnvironmentMIS: 1 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_LightProbeSampleCountMultiplier: 4 - m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0} - m_LightingSettings: {fileID: 0} ---- !u!196 &4 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 3 - 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 - buildHeightMesh: 0 - maxJobWorkers: 0 - preserveTilesOutsideBounds: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &982879 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 982880} - m_Layer: 0 - m_Name: b_trigger - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &982880 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 982879} - serializedVersion: 2 - m_LocalRotation: {x: -1.2246467e-16, y: 1.37996374e-17, z: 1.6326901e-18, w: 1} - m_LocalPosition: {x: 0.001420367, y: -0.005495974, z: 0.02186589} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1319819626} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2610837 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2610838} - m_Layer: 0 - m_Name: b_stick_IGNORE - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2610838 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2610837} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.00014841426, y: 0.019320462, z: 0.000010561931} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1151071291} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &4539473 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4539474} - m_Layer: 0 - m_Name: b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4539474 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4539473} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 5.5511148e-17, w: 1} - m_LocalPosition: {x: -0.0049486547, y: -0.03573763, z: -0.013387129} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 571685952} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9029561 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9029562} - - component: {fileID: 9029563} - m_Layer: 0 - m_Name: r_rainier_mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9029562 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9029561} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 850487411} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &9029563 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9029561} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 8902039159736550116, guid: ad2069ba7fe0238489d3531897cea8cf, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 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: 25b5eb0761edb6346b0b3444af76b55e, type: 3} - m_Bones: - - {fileID: 954293632} - - {fileID: 1443702461} - - {fileID: 1129512325} - - {fileID: 1444089112} - - {fileID: 414773984} - - {fileID: 1288868498} - - {fileID: 353122662} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 954293632} - m_AABB: - m_Center: {x: -0.008180305, y: -0.0053694975, z: -0.020344593} - m_Extent: {x: 0.046097815, y: 0.067293465, z: 0.0557265} - m_DirtyAABB: 0 ---- !u!1 &18802052 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 18802053} - - component: {fileID: 18802054} - m_Layer: 0 - m_Name: right_oculus_controller_mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &18802053 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 18802052} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 639101583} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &18802054 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 18802052} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 3742270179708143816, guid: 6fce4d906dba56f4bb507682dbb5b81d, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: -8344784108403131872, guid: c933168a9a0f1e04bb793786b96e2f4b, type: 3} - m_Bones: - - {fileID: 688196032} - - {fileID: 341069502} - - {fileID: 952434783} - - {fileID: 572609090} - - {fileID: 1088261136} - - {fileID: 1937580132} - - {fileID: 878780834} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 688196032} - m_AABB: - m_Center: {x: -0.00616638, y: -0.030066561, z: -0.020585023} - m_Extent: {x: 0.033926036, y: 0.041736547, z: 0.054627255} - m_DirtyAABB: 0 ---- !u!1 &24734580 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 24734581} - m_Layer: 0 - m_Name: b_trigger - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &24734581 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 24734580} - serializedVersion: 2 - m_LocalRotation: {x: -1.2246467e-16, y: 1.37996374e-17, z: 1.6326901e-18, w: 1} - m_LocalPosition: {x: 0.001420367, y: -0.005495974, z: 0.02186589} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 661535952} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &48579661 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 48579662} - m_Layer: 0 - m_Name: pasted__laser_end_pointer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &48579662 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 48579661} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0.2894799} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1708555150} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &54897027 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 54897028} - m_Layer: 0 - m_Name: b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &54897028 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 54897027} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 5.5511148e-17, w: 1} - m_LocalPosition: {x: -0.0049486547, y: -0.03573763, z: -0.013387129} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 893703310} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &60761994 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 60761995} - m_Layer: 0 - m_Name: b_button_y - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &60761995 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 60761994} - serializedVersion: 2 - m_LocalRotation: {x: -0.545621, y: 0.545621, z: 0.44977522, w: 0.44977522} - m_LocalPosition: {x: 0.0025457519, y: -0.008905827, z: 0.0008699437} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 453504514} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &93045120 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 93045121} - m_Layer: 0 - m_Name: right_b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &93045121 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 93045120} - serializedVersion: 2 - m_LocalRotation: {x: -0.07882118, y: -0.010384407, z: -0.02061734, w: 0.99662143} - m_LocalPosition: {x: 1.14072, y: 0.1951398, z: -1.085249} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1364350287} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &108111737 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 108111738} - m_Layer: 0 - m_Name: b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &108111738 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 108111737} - serializedVersion: 2 - m_LocalRotation: {x: 0.7041404, y: 0.064701416, z: 0.7041404, w: 0.064701416} - m_LocalPosition: {x: 0.018, y: -0.010134229, z: -0.004163749} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1585660501} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &114380277 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 114380278} - m_Layer: 0 - m_Name: prp00002questController_animrig:RIG_right_monterey_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &114380278 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 114380277} - serializedVersion: 2 - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1139059765} - m_Father: {fileID: 823928223} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &117544907 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 117544908} - m_Layer: 0 - m_Name: right_b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &117544908 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 117544907} - serializedVersion: 2 - m_LocalRotation: {x: 0.04043698, y: -0.10925582, z: 0.008632264, w: 0.99315333} - m_LocalPosition: {x: -1.565232, y: -0.1446174, z: 2.43169} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 998137354} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &124167193 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 124167194} - m_Layer: 0 - m_Name: pasted__laser_end_pointer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &124167194 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 124167193} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0.2894799} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1486327841} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &138638052 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 138638053} - - component: {fileID: 138638055} - - component: {fileID: 138638054} - - component: {fileID: 138638056} - m_Layer: 0 - m_Name: CenterEyeAnchor - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &138638053 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 138638052} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 252284429} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!20 &138638054 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 138638052} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 2 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_Iso: 200 - m_ShutterSpeed: 0.005 - m_Aperture: 16 - m_FocusDistance: 10 - m_FocalLength: 50 - m_BladeCount: 5 - m_Curvature: {x: 2, y: 11} - m_BarrelClipping: 0.25 - m_Anamorphism: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - 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 &138638055 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 138638052} - m_Enabled: 1 ---- !u!114 &138638056 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 138638052} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_RenderShadows: 1 - m_RequiresDepthTextureOption: 2 - m_RequiresOpaqueTextureOption: 2 - m_CameraType: 0 - m_Cameras: [] - m_RendererIndex: -1 - m_VolumeLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_VolumeTrigger: {fileID: 0} - m_VolumeFrameworkUpdateModeOption: 2 - m_RenderPostProcessing: 0 - m_Antialiasing: 0 - m_AntialiasingQuality: 2 - m_StopNaN: 0 - m_Dithering: 0 - m_ClearDepth: 1 - m_AllowXRRendering: 1 - m_AllowHDROutput: 1 - m_UseScreenCoordOverride: 0 - m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} - m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} - m_RequiresDepthTexture: 0 - m_RequiresColorTexture: 0 - m_TaaSettings: - m_Quality: 3 - m_FrameInfluence: 0.1 - m_JitterScale: 1 - m_MipBias: 0 - m_VarianceClampScale: 0.9 - m_ContrastAdaptiveSharpening: 0 - m_Version: 2 ---- !u!1 &163848289 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 163848290} - m_Layer: 0 - m_Name: left_oculus_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &163848290 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 163848289} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1639707669} - - {fileID: 1936281632} - - {fileID: 1547143788} - - {fileID: 486566877} - - {fileID: 1645402474} - - {fileID: 2094138277} - - {fileID: 1709690971} - m_Father: {fileID: 493736118} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &168692005 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 168692006} - - component: {fileID: 168692007} - m_Layer: 0 - m_Name: right_batteryIndicatorQuad_MeshX - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &168692006 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 168692005} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 612817093} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &168692007 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 168692005} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 3abd38e0d18db6c49b2c96961d69d024, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 1201069849589669138, guid: deed68a7fd2e9234899298cf80fae7ad, type: 3} - m_Bones: - - {fileID: 1364350287} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1364350287} - m_AABB: - m_Center: {x: -3.5085695, y: 0.08475034, z: -0.17565808} - m_Extent: {x: 0.10651159, y: 0.18774159, z: 0.45612463} - m_DirtyAABB: 0 ---- !u!1 &184426329 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 184426330} - - component: {fileID: 184426337} - - component: {fileID: 184426336} - - component: {fileID: 184426335} - - component: {fileID: 184426334} - - component: {fileID: 184426333} - - component: {fileID: 184426332} - - component: {fileID: 184426331} - m_Layer: 0 - m_Name: '[BuildingBlock] Hand Tracking right' - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &184426330 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 184426329} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 684282153} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &184426331 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 184426329} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: aa70c70787230f248b33d8a0ce1a6c3d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 0} - m_Bones: [] - m_BlendShapeWeights: [] - m_RootBone: {fileID: 0} - m_AABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_DirtyAABB: 0 ---- !u!114 &184426332 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 184426329} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73eac66b128fc8749a21623225c34541, type: 3} - m_Name: - m_EditorClassIdentifier: - _ovrMesh: {fileID: 0} - _ovrSkeleton: {fileID: 0} - _confidenceBehavior: 1 - _systemGestureBehavior: 1 - _systemGestureMaterial: {fileID: 2100000, guid: 9d107f2f043e1ed408b970f146718017, type: 2} ---- !u!114 &184426333 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 184426329} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5cc5c234723e3a54d8dd09b131117743, type: 3} - m_Name: - m_EditorClassIdentifier: - _meshType: 5 ---- !u!114 &184426334 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 184426329} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 54c16b381e28e8d479237771d234dbae, type: 3} - m_Name: - m_EditorClassIdentifier: - _confidenceBehavior: 1 - _systemGestureBehavior: 1 - _renderPhysicsCapsules: 0 - _skeletonMaterial: {fileID: 2100000, guid: 9c05c5a6e4902ff4082cfb34e5b64b2d, type: 2} - _capsuleMaterial: {fileID: 0} - _systemGestureMaterial: {fileID: 2100000, guid: 38beab19e7c1f7947afac78fd60f90b0, type: 2} ---- !u!114 &184426335 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 184426329} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2609c54f376cffc4da1ab9401cc1a36f, type: 3} - m_Name: - m_EditorClassIdentifier: - _skeletonType: 5 - _updateRootPose: 0 - _updateRootScale: 1 - _enablePhysicsCapsules: 0 - _applyBoneTranslations: 1 ---- !u!114 &184426336 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 184426329} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: cb7623a8f0b49cf4dbaa40aea4d4be64, type: 3} - m_Name: - m_EditorClassIdentifier: - HandType: 1 - _pointerPoseRoot: {fileID: 0} - m_showState: 3 - RayHelper: {fileID: 0} ---- !u!114 &184426337 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 184426329} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5b023183069df224080314a560e6e1ff, type: 3} - m_Name: - m_EditorClassIdentifier: - blockId: 8b26b298-7bf4-490e-b245-a039c0184303 - instanceId: 031faf42-1744-4d08-930f-bcca833f783d - version: 1 - installationRoutineCheckpoint: - _installationRoutineId: - _installationVariants: [] ---- !u!1 &187059698 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 187059699} - m_Layer: 0 - m_Name: b_button_b - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &187059699 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 187059698} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.0126844, y: 0.00123654, z: 0.00053572695} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1551154697} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &200186137 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 200186138} - m_Layer: 0 - m_Name: b_button_y - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &200186138 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 200186137} - serializedVersion: 2 - m_LocalRotation: {x: 5.0306977e-17, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.01332, y: 0.0063684867, z: 0.003019979} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1637744436} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &205072692 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 205072693} - m_Layer: 0 - m_Name: b_button_a - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &205072693 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 205072692} - serializedVersion: 2 - m_LocalRotation: {x: 0.44977522, y: -0.44977522, z: 0.545621, w: 0.545621} - m_LocalPosition: {x: 0.00149173, y: 0.00511052, z: -0.00121661} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1269799604} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &234534156 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 234534157} - - component: {fileID: 234534158} - m_Layer: 0 - m_Name: l_rainier_mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &234534157 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 234534156} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 909345353} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &234534158 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 234534156} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 8902039159736550116, guid: ad2069ba7fe0238489d3531897cea8cf, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 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: 8b83018900d13bb4f8e0ad895cb004e5, type: 3} - m_Bones: - - {fileID: 571685952} - - {fileID: 1664183998} - - {fileID: 1689768682} - - {fileID: 4539474} - - {fileID: 319187467} - - {fileID: 969659384} - - {fileID: 709715402} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 571685952} - m_AABB: - m_Center: {x: 0.008180305, y: -0.0053694975, z: -0.020344593} - m_Extent: {x: 0.046097822, y: 0.067293465, z: 0.0557265} - m_DirtyAABB: 0 ---- !u!1 &241062691 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 241062692} - - component: {fileID: 241062693} - m_Layer: 0 - m_Name: oculus_controller_r_MeshX - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &241062692 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 241062691} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 612817093} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &241062693 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 241062691} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 8525165401333341520, guid: bbb35201095f6bf499fe2cd30ef3b6c7, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 1551496305373071002, guid: deed68a7fd2e9234899298cf80fae7ad, type: 3} - m_Bones: - - {fileID: 1364350287} - - {fileID: 93045121} - - {fileID: 881450277} - - {fileID: 1081270418} - - {fileID: 1386926025} - - {fileID: 682641477} - - {fileID: 1187507088} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1364350287} - m_AABB: - m_Center: {x: -0.6778891, y: -3.017043, z: -1.9610169} - m_Extent: {x: 3.368389, y: 4.314377, z: 5.282364} - m_DirtyAABB: 0 ---- !u!1 &242928077 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 242928078} - m_Layer: 0 - m_Name: pasted__laser_end_pointer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &242928078 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 242928077} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0.2894799} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 923425838} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &252284428 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 252284429} - m_Layer: 0 - m_Name: TrackingSpace - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &252284429 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 252284428} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1845760673} - - {fileID: 138638053} - - {fileID: 510823028} - - {fileID: 1178924306} - - {fileID: 1327837341} - - {fileID: 684282153} - - {fileID: 404044024} - - {fileID: 344273068} - m_Father: {fileID: 553221848} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &257245316 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 257245317} - m_Layer: 0 - m_Name: b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &257245317 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 257245316} - serializedVersion: 2 - m_LocalRotation: {x: -6.123234e-17, y: -6.123234e-17, z: 6.123234e-17, w: 1} - m_LocalPosition: {x: 0.006, y: -0.026159998, z: -0.0132} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1637744436} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &264365765 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 264365766} - m_Layer: 0 - m_Name: b_button_x - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &264365766 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 264365765} - serializedVersion: 2 - m_LocalRotation: {x: -0.545621, y: 0.545621, z: 0.44977522, w: 0.44977522} - m_LocalPosition: {x: -0.001491726, y: 0.0051105204, z: -0.0012166069} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 453504514} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &266557183 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 266557184} - m_Layer: 0 - m_Name: b_button03 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &266557184 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 266557183} - serializedVersion: 2 - m_LocalRotation: {x: -5.475221e-18, y: -2.6237691e-17, z: -9.410877e-17, w: 1} - m_LocalPosition: {x: -0.012083729, y: -0.0007126568, z: -0.0140268095} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 661535952} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &277539699 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 277539700} - m_Layer: 0 - m_Name: b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &277539700 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 277539699} - serializedVersion: 2 - m_LocalRotation: {x: 0.7041404, y: 0.064701416, z: 0.7041404, w: 0.064701416} - m_LocalPosition: {x: 0.018, y: -0.010134229, z: -0.004163749} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1269799604} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &287658340 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 287658341} - m_Layer: 0 - m_Name: b_button02 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &287658341 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 287658340} - serializedVersion: 2 - m_LocalRotation: {x: 6.245004e-17, y: 2.9490296e-17, z: -1.1579283e-16, w: 1} - m_LocalPosition: {x: 0.009135339, y: -0.000116819196, z: 0.005499125} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 661535952} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &295980144 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 295980145} - m_Layer: 0 - m_Name: b_hold1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &295980145 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 295980144} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.0123410495, y: -0.02742711, z: -0.0256397} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 661535952} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &298435081 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 298435082} - - component: {fileID: 298435083} - m_Layer: 0 - m_Name: right_nub - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &298435082 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 298435081} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 639101583} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &298435083 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 298435081} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: dfee80e1d2a38ea45a01698af1c06034, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 6118253600298082114, guid: c933168a9a0f1e04bb793786b96e2f4b, type: 3} - m_Bones: - - {fileID: 688196032} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 688196032} - m_AABB: - m_Center: {x: 0.008976316, y: -0.064772196, z: -0.067473285} - m_Extent: {x: 0.0043462086, y: 0.006806761, z: 0.0068782493} - m_DirtyAABB: 0 ---- !u!1 &319187466 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 319187467} - m_Layer: 0 - m_Name: b_button_y - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &319187467 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 319187466} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.01268435, y: 0.0012365379, z: 0.00053572666} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 571685952} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &331750194 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 331750195} - m_Layer: 0 - m_Name: left_b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &331750195 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 331750194} - serializedVersion: 2 - m_LocalRotation: {x: -0.07882118, y: -0.010384407, z: -0.02061734, w: 0.99662143} - m_LocalPosition: {x: -1.046803, y: 0.2482037, z: -1.1252} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1961551771} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &341069501 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 341069502} - m_Layer: 0 - m_Name: b_button_a - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &341069502 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 341069501} - serializedVersion: 2 - m_LocalRotation: {x: 1.7347238e-17, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.0031760607, y: 0.004118483, z: -0.009094926} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 688196032} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &344273067 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 344273068} - m_Layer: 0 - m_Name: RightHandAnchorDetached - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &344273068 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 344273067} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 252284429} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &344534118 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 344534119} - - component: {fileID: 344534120} - m_Layer: 0 - m_Name: OculusTouchForQuestAndRiftS_Right - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &344534119 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 344534118} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 823928223} - - {fileID: 2034999141} - - {fileID: 1269799604} - m_Father: {fileID: 439708784} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &344534120 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 344534118} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 37ba10a26a648144fa2390c8adfb2c8a, type: 3} - m_Controller: {fileID: 9100000, guid: 3f974d61f39a79c408d54b32f31f186c, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &350997913 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 350997914} - - component: {fileID: 350997915} - m_Layer: 0 - m_Name: left_touch_mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &350997914 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 350997913} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 486274872} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &350997915 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 350997913} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: -5657245977255592283, guid: 528296ec8cb7e9e4b836b8aa1197aa98, type: 3} - - {fileID: 7548789142924365465, guid: 76f6075ec84afca46b2a5e5b3bfdf8ce, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 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: c3ba18e9fa5e9104098cbdbb3e23a5b4, type: 3} - m_Bones: - - {fileID: 266557184} - - {fileID: 661535952} - - {fileID: 24734581} - - {fileID: 287658341} - - {fileID: 584146563} - - {fileID: 1755103502} - - {fileID: 295980145} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 661535952} - m_AABB: - m_Center: {x: -0.016699273, y: -0.03636414, z: -0.018954389} - m_Extent: {x: 0.05463389, y: 0.050220694, z: 0.051451057} - m_DirtyAABB: 0 ---- !u!1 &353122661 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 353122662} - m_Layer: 0 - m_Name: b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &353122662 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 353122661} - serializedVersion: 2 - m_LocalRotation: {x: 7.216449e-16, y: 8.326673e-17, z: -1.1102232e-16, w: 1} - m_LocalPosition: {x: 0.00935476, y: -0.00472433, z: 0.0027365324} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 954293632} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &374271390 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 374271391} - m_Layer: 0 - m_Name: left_b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &374271391 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 374271390} - serializedVersion: 2 - m_LocalRotation: {x: -0.07339577, y: -0.11925421, z: -0.009944958, w: 0.9900973} - m_LocalPosition: {x: -0.6293706, y: -0.186804, z: 0.8684617} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1961551771} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &404044023 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 404044024} - m_Layer: 0 - m_Name: LeftHandAnchorDetached - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &404044024 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 404044023} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 252284429} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &410087039 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 410087041} - - component: {fileID: 410087040} - - component: {fileID: 410087042} - 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 &410087040 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 410087039} - m_Enabled: 1 - serializedVersion: 11 - m_Type: 1 - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_Intensity: 2 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - 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_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingLayerMask: 1 - m_Lightmapping: 4 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 5000 - m_UseColorTemperature: 1 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 - m_ForceVisible: 0 - m_ShadowRadius: 0 - m_ShadowAngle: 0 - m_LightUnit: 1 - m_LuxAtDistance: 1 - m_EnableSpotReflector: 1 ---- !u!4 &410087041 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 410087039} - serializedVersion: 2 - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!114 &410087042 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 410087039} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UsePipelineSettings: 1 - m_AdditionalLightsShadowResolutionTier: 2 - m_CustomShadowLayers: 0 - m_LightCookieSize: {x: 1, y: 1} - m_LightCookieOffset: {x: 0, y: 0} - m_SoftShadowQuality: 1 - m_RenderingLayersMask: - serializedVersion: 0 - m_Bits: 1 - m_ShadowRenderingLayersMask: - serializedVersion: 0 - m_Bits: 1 - m_Version: 4 - m_LightLayerMask: 1 - m_ShadowLayerMask: 1 - m_RenderingLayers: 1 - m_ShadowRenderingLayers: 1 ---- !u!1 &414773983 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 414773984} - m_Layer: 0 - m_Name: b_button_b - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &414773984 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 414773983} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.0126844, y: 0.00123654, z: 0.00053572695} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 954293632} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &422183034 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 422183035} - m_Layer: 0 - m_Name: RightControllerAnchor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &422183035 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 422183034} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 439708784} - m_Father: {fileID: 684282153} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &439708783 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 439708784} - - component: {fileID: 439708786} - - component: {fileID: 439708785} - m_Layer: 0 - m_Name: '[BuildingBlock] Controller Tracking Right' - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &439708784 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 439708783} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1638472893} - - {fileID: 344534119} - - {fileID: 909345353} - - {fileID: 850487411} - - {fileID: 486274872} - - {fileID: 1576714353} - - {fileID: 838779041} - - {fileID: 1030627235} - - {fileID: 493736118} - - {fileID: 612817093} - m_Father: {fileID: 422183035} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &439708785 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 439708783} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} - m_Name: - m_EditorClassIdentifier: - m_modelOculusTouchQuestAndRiftSLeftController: {fileID: 1638472892} - m_modelOculusTouchQuestAndRiftSRightController: {fileID: 344534118} - m_modelOculusTouchRiftLeftController: {fileID: 486274871} - m_modelOculusTouchRiftRightController: {fileID: 1576714352} - m_modelOculusTouchQuest2LeftController: {fileID: 909345352} - m_modelOculusTouchQuest2RightController: {fileID: 850487410} - m_modelMetaTouchProLeftController: {fileID: 838779040} - m_modelMetaTouchProRightController: {fileID: 1030627234} - m_modelMetaTouchPlusLeftController: {fileID: 493736117} - m_modelMetaTouchPlusRightController: {fileID: 612817092} - m_controller: 2 - m_showState: 1 - showWhenHandsArePoweredByNaturalControllerPoses: 0 - RayHelper: {fileID: 0} ---- !u!114 &439708786 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 439708783} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5b023183069df224080314a560e6e1ff, type: 3} - m_Name: - m_EditorClassIdentifier: - blockId: 5817f7c0-f2a5-45f9-a5ca-64264e0166e8 - instanceId: 36dc2a52-0992-4b7a-8b25-bad8c28a66ad - version: 1 - installationRoutineCheckpoint: - _installationRoutineId: - _installationVariants: [] ---- !u!1 &449000871 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 449000872} - m_Layer: 0 - m_Name: b_trigger - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &449000872 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 449000871} - serializedVersion: 2 - m_LocalRotation: {x: -5.5511148e-17, y: 7.1144825e-17, z: -2.44333e-17, w: 1} - m_LocalPosition: {x: -0.001420367, y: -0.005495974, z: 0.02186589} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1508935217} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &453504513 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 453504514} - m_Layer: 0 - m_Name: left_monterey_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &453504514 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 453504513} - serializedVersion: 2 - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1022948350} - - {fileID: 264365766} - - {fileID: 60761995} - - {fileID: 1829325346} - - {fileID: 1417473759} - - {fileID: 1930423216} - m_Father: {fileID: 1638472893} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &456126784 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 456126785} - m_Layer: 0 - m_Name: b_button03 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &456126785 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 456126784} - serializedVersion: 2 - m_LocalRotation: {x: -5.475221e-18, y: -2.6237691e-17, z: -9.410877e-17, w: 1} - m_LocalPosition: {x: -0.012083729, y: -0.0007126568, z: -0.0140268095} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1319819626} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &465909180 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 465909181} - - component: {fileID: 465909182} - m_Layer: 0 - m_Name: oculus_controller_l_MeshX - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &465909181 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 465909180} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1638055241} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &465909182 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 465909180} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: -4540382836535262998, guid: 2ea89d6e4d9c45940908e3f337989a9a, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: -1318633201023460034, guid: 2b1aaafc31655024394d83dc00911c1c, type: 3} - m_Bones: - - {fileID: 1961551771} - - {fileID: 331750195} - - {fileID: 693363248} - - {fileID: 1217447103} - - {fileID: 2051700383} - - {fileID: 1035006949} - - {fileID: 374271391} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1961551771} - m_AABB: - m_Center: {x: 0.6778891, y: -3.0013652, z: -1.9480774} - m_Extent: {x: 3.368389, y: 4.3300548, z: 5.2953033} - m_DirtyAABB: 0 ---- !u!1 &474165549 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 474165550} - m_Layer: 0 - m_Name: b_hold - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &474165550 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 474165549} - serializedVersion: 2 - m_LocalRotation: {x: -1.6653348e-16, y: -1.1039714e-17, z: -1.09403164e-17, w: 1} - m_LocalPosition: {x: 0.01276967, y: -0.02742711, z: -0.0256397} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 866660871} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &486274871 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 486274872} - - component: {fileID: 486274873} - m_Layer: 0 - m_Name: left_touch_controller_model_skel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &486274872 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 486274871} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 661535952} - - {fileID: 350997914} - m_Father: {fileID: 439708784} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &486274873 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 486274871} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: c3ba18e9fa5e9104098cbdbb3e23a5b4, type: 3} - m_Controller: {fileID: 9100000, guid: 3c08ce434693a4740bb5d256ffa5f8d1, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &486566876 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 486566877} - m_Layer: 0 - m_Name: left_b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &486566877 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 486566876} - serializedVersion: 2 - m_LocalRotation: {x: -0.07339577, y: -0.11925421, z: -0.009944958, w: 0.9900973} - m_LocalPosition: {x: -0.6293706, y: -0.186804, z: 0.8684617} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 163848290} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &493736117 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 493736118} - - component: {fileID: 493736119} - m_Layer: 0 - m_Name: MetaQuestTouchPlus_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &493736118 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 493736117} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2104060322} - - {fileID: 163848290} - - {fileID: 1732055360} - m_Father: {fileID: 439708784} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &493736119 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 493736117} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 2b1aaafc31655024394d83dc00911c1c, type: 3} - m_Controller: {fileID: 9100000, guid: 12e0d551f2089fc4380c1368a69a3512, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &510823027 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 510823028} - - component: {fileID: 510823029} - - component: {fileID: 510823030} - m_Layer: 0 - m_Name: RightEyeAnchor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &510823028 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 510823027} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 252284429} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!20 &510823029 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 510823027} - 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_GateFitMode: 2 - m_FOVAxisMode: 0 - m_Iso: 200 - m_ShutterSpeed: 0.005 - m_Aperture: 16 - m_FocusDistance: 10 - m_FocalLength: 50 - m_BladeCount: 5 - m_Curvature: {x: 2, y: 11} - m_BarrelClipping: 0.25 - m_Anamorphism: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 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_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!114 &510823030 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 510823027} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_RenderShadows: 1 - m_RequiresDepthTextureOption: 2 - m_RequiresOpaqueTextureOption: 2 - m_CameraType: 0 - m_Cameras: [] - m_RendererIndex: -1 - m_VolumeLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_VolumeTrigger: {fileID: 0} - m_VolumeFrameworkUpdateModeOption: 2 - m_RenderPostProcessing: 0 - m_Antialiasing: 0 - m_AntialiasingQuality: 2 - m_StopNaN: 0 - m_Dithering: 0 - m_ClearDepth: 1 - m_AllowXRRendering: 1 - m_AllowHDROutput: 1 - m_UseScreenCoordOverride: 0 - m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} - m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} - m_RequiresDepthTexture: 0 - m_RequiresColorTexture: 0 - m_TaaSettings: - m_Quality: 3 - m_FrameInfluence: 0.1 - m_JitterScale: 1 - m_MipBias: 0 - m_VarianceClampScale: 0.9 - m_ContrastAdaptiveSharpening: 0 - m_Version: 2 ---- !u!1 &516195400 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 516195401} - - component: {fileID: 516195402} - m_Layer: 0 - m_Name: left_oculus_controller_mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &516195401 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 516195400} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 635084207} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &516195402 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 516195400} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 8565634612894319375, guid: 2fadc56f841e8224ea1ff539811fc765, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 2703057380131705829, guid: 2b9768cc0be08784b91b7da60696ba29, type: 3} - m_Bones: - - {fileID: 1637744436} - - {fileID: 781887873} - - {fileID: 200186138} - - {fileID: 1230039281} - - {fileID: 1516747083} - - {fileID: 257245317} - - {fileID: 1136487187} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1637744436} - m_AABB: - m_Center: {x: 0.00616638, y: -0.029108923, z: -0.018820617} - m_Extent: {x: 0.033926036, y: 0.042694185, z: 0.05639166} - m_DirtyAABB: 0 ---- !u!1 &517763055 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 517763056} - m_Layer: 0 - m_Name: b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &517763056 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517763055} - serializedVersion: 2 - m_LocalRotation: {x: 0.54365766, y: -0.5436488, z: -0.4521571, w: -0.45214623} - m_LocalPosition: {x: 0.003108595, y: -0.0009830681, z: -0.01800256} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1269799604} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &520530841 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 520530842} - - component: {fileID: 520530843} - m_Layer: 0 - m_Name: right_touch_mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &520530842 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 520530841} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 988795634} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &520530843 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 520530841} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 7548789142924365465, guid: 76f6075ec84afca46b2a5e5b3bfdf8ce, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 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: c3798d66af7bbe54bbfe22a3b302300b, type: 3} - m_Bones: - - {fileID: 1508935217} - - {fileID: 917200060} - - {fileID: 1913601627} - - {fileID: 1910657997} - - {fileID: 1098242103} - - {fileID: 449000872} - - {fileID: 897623281} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1508935217} - m_AABB: - m_Center: {x: 0.016699273, y: -0.03636414, z: -0.018954389} - m_Extent: {x: 0.05463389, y: 0.050220694, z: 0.051451057} - m_DirtyAABB: 0 ---- !u!1 &528987025 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 528987026} - m_Layer: 0 - m_Name: b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &528987026 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 528987025} - serializedVersion: 2 - m_LocalRotation: {x: -5.5511148e-17, y: 4.1633363e-17, z: -4.8572257e-17, w: 1} - m_LocalPosition: {x: 0.00494865, y: -0.0357376, z: -0.013387099} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1551154697} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &541866403 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 541866404} - m_Layer: 0 - m_Name: b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &541866404 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 541866403} - serializedVersion: 2 - m_LocalRotation: {x: 0.45214623, y: -0.4521571, z: 0.5436488, w: 0.54365766} - m_LocalPosition: {x: -0.0031085508, y: -0.0009791885, z: -0.01798302} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 972557844} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &553221843 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 553221848} - - component: {fileID: 553221847} - - component: {fileID: 553221846} - - component: {fileID: 553221845} - - component: {fileID: 553221844} - m_Layer: 0 - m_Name: '[BuildingBlock] Camera Rig' - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &553221844 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 553221843} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5178bc8574ce2bf4388e787a2e2af326, type: 3} - m_Name: - m_EditorClassIdentifier: - opMode: 1 - resetHmdPoseOnRelease: 1 - resetHmdPoseByMiddleMouseButton: 1 - activateKeys: 3201000031010000 - activateKeyBindings: - - /leftCtrl - - /rightCtrl - - /f1 - pitchKeys: 3401000033010000 - pitchKeyBindings: - - /leftAlt - - /rightAlt - - /f2 ---- !u!114 &553221845 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 553221843} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7e933e81d3c20c74ea6fdc708a67e3a5, type: 3} - m_Name: - m_EditorClassIdentifier: - _monoscopic: 0 - _sharpenType: 0 - _enableDynamicResolution: 1 - minDynamicResolutionScale: 1 - maxDynamicResolutionScale: 1 - quest2MinDynamicResolutionScale: 1 - quest2MaxDynamicResolutionScale: 1 - quest3MinDynamicResolutionScale: 1 - quest3MaxDynamicResolutionScale: 1 - minRenderScale: 0.7 - maxRenderScale: 1 - _headPoseRelativeOffsetRotation: {x: 0, y: 0, z: 0} - _headPoseRelativeOffsetTranslation: {x: 0, y: 0, z: 0} - profilerTcpPort: 32419 - expandMixedRealityCapturePropertySheet: 0 - enableMixedReality: 0 - compositionMethod: 0 - extraHiddenLayers: - serializedVersion: 2 - m_Bits: 0 - extraVisibleLayers: - serializedVersion: 2 - m_Bits: 0 - dynamicCullingMask: 1 - externalCompositionBackdropColorRift: {r: 0, g: 1, b: 0, a: 1} - externalCompositionBackdropColorQuest: {r: 0, g: 0, b: 0, a: 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 - mrcActivationMode: 0 - launchSimultaneousHandsControllersOnStartup: 0 - isInsightPassthroughEnabled: 1 - shouldBoundaryVisibilityBeSuppressed: 1 - requestBodyTrackingPermissionOnStartup: 0 - requestFaceTrackingPermissionOnStartup: 0 - requestEyeTrackingPermissionOnStartup: 0 - requestScenePermissionOnStartup: 1 - requestRecordAudioPermissionOnStartup: 0 - requestPassthroughCameraAccessPermissionOnStartup: 0 - _localDimming: 1 - _trackingOriginType: 1 - usePositionTracking: 1 - useRotationTracking: 1 - useIPDInPositionTracking: 1 - resetTrackerOnLoad: 0 - AllowRecenter: 1 - LateControllerUpdate: 1 - LateLatching: 0 - controllerDrivenHandPosesType: 0 - SimultaneousHandsAndControllersEnabled: 0 - _readOnlyWideMotionModeHandPosesEnabled: 0 - wideMotionModeHandPosesEnabled: 0 - dynamicResolutionVersion: 1 ---- !u!114 &553221846 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 553221843} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: df9f338034892c44ebb62d97894772f1, type: 3} - m_Name: - m_EditorClassIdentifier: - usePerEyeCameras: 0 - useFixedUpdateForTracking: 0 - disableEyeAnchorCameras: 0 ---- !u!114 &553221847 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 553221843} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5b023183069df224080314a560e6e1ff, type: 3} - m_Name: - m_EditorClassIdentifier: - blockId: e47682b9-c270-40b1-b16d-90b627a5ce1b - instanceId: e6ff7611-9f43-4bf7-be6a-bc5b3af55f2f - version: 1 - installationRoutineCheckpoint: - _installationRoutineId: - _installationVariants: [] ---- !u!4 &553221848 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 553221843} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 252284429} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &571685951 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 571685952} - m_Layer: 0 - m_Name: left_oculus_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &571685952 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 571685951} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 1.110223e-18, y: -2.7755575e-19, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1664183998} - - {fileID: 969659384} - - {fileID: 319187467} - - {fileID: 709715402} - - {fileID: 1689768682} - - {fileID: 4539474} - m_Father: {fileID: 909345353} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &572609089 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 572609090} - m_Layer: 0 - m_Name: b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &572609090 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 572609089} - serializedVersion: 2 - m_LocalRotation: {x: 3.4694465e-18, y: 6.938894e-18, z: -4.336809e-19, w: 1} - m_LocalPosition: {x: 0.013279789, y: 0.0018553109, z: -0.01104566} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 688196032} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &584146562 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 584146563} - m_Layer: 0 - m_Name: b_button01 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &584146563 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 584146562} - serializedVersion: 2 - m_LocalRotation: {x: -5.475221e-18, y: -2.6237691e-17, z: -9.410877e-17, w: 1} - m_LocalPosition: {x: 0.001917077, y: -0.00091214647, z: -0.0073837414} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 661535952} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &584341814 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 584341815} - - component: {fileID: 584341816} - m_Layer: 0 - m_Name: r_rainier_mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &584341815 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 584341814} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1537812379} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &584341816 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 584341814} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 8902039159736550116, guid: ad2069ba7fe0238489d3531897cea8cf, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 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: 25b5eb0761edb6346b0b3444af76b55e, type: 3} - m_Bones: - - {fileID: 1551154697} - - {fileID: 698316908} - - {fileID: 2076636369} - - {fileID: 528987026} - - {fileID: 187059699} - - {fileID: 1191860275} - - {fileID: 1665076049} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1551154697} - m_AABB: - m_Center: {x: -0.008180305, y: -0.0053694975, z: -0.020344593} - m_Extent: {x: 0.046097815, y: 0.067293465, z: 0.0557265} - m_DirtyAABB: 0 ---- !u!1 &590296139 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 590296140} - m_Layer: 0 - m_Name: b_button_y - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &590296140 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 590296139} - serializedVersion: 2 - m_LocalRotation: {x: -0.545621, y: 0.545621, z: 0.44977522, w: 0.44977522} - m_LocalPosition: {x: 0.0025457519, y: -0.008905827, z: 0.0008699437} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 972557844} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &605514811 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 605514812} - m_Layer: 0 - m_Name: RightControllerInHandAnchor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &605514812 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 605514811} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1341365489} - m_Father: {fileID: 684282153} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &612817092 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 612817093} - - component: {fileID: 612817094} - m_Layer: 0 - m_Name: MetaQuestTouchPlus_Right - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &612817093 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 612817092} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 241062692} - - {fileID: 168692006} - - {fileID: 1364350287} - m_Father: {fileID: 439708784} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &612817094 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 612817092} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: deed68a7fd2e9234899298cf80fae7ad, type: 3} - m_Controller: {fileID: 9100000, guid: fc948f57db734e74094dc532bdbbc3e8, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &635084206 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 635084207} - - component: {fileID: 635084208} - m_Layer: 0 - m_Name: MetaQuestTouchPro_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &635084207 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 635084206} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 724605853} - - {fileID: 1709832378} - - {fileID: 516195401} - - {fileID: 1637744436} - m_Father: {fileID: 1321218334} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &635084208 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 635084206} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 2b9768cc0be08784b91b7da60696ba29, type: 3} - m_Controller: {fileID: 9100000, guid: adee424ac9576984da6cd4c044c80118, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &639101582 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 639101583} - - component: {fileID: 639101584} - m_Layer: 0 - m_Name: MetaQuestTouchPro_Right - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &639101583 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 639101582} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 660494124} - - {fileID: 298435082} - - {fileID: 18802053} - - {fileID: 688196032} - m_Father: {fileID: 1321218334} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &639101584 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 639101582} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: c933168a9a0f1e04bb793786b96e2f4b, type: 3} - m_Controller: {fileID: 9100000, guid: 4da77ccaa334a3e45961430811956356, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &650456870 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 650456871} - m_Layer: 0 - m_Name: left_laser_begin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &650456871 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 650456870} - serializedVersion: 2 - m_LocalRotation: {x: -0.0034610122, y: 0.056587048, z: 0.060950357, w: 0.9965295} - m_LocalPosition: {x: 0.009, y: -0.0032102852, z: 0.030869998} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1315727647} - m_Father: {fileID: 1818607060} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &652463989 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 652463990} - m_Layer: 0 - m_Name: b_button_y - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &652463990 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 652463989} - serializedVersion: 2 - m_LocalRotation: {x: 5.0306977e-17, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.01332, y: 0.0063684867, z: 0.003019979} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1652013589} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &660494123 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 660494124} - - component: {fileID: 660494125} - m_Layer: 0 - m_Name: right_batteryIndicatorQuad - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &660494124 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 660494123} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 639101583} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &660494125 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 660494123} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 3abd38e0d18db6c49b2c96961d69d024, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 7239682268775398997, guid: c933168a9a0f1e04bb793786b96e2f4b, type: 3} - m_Bones: - - {fileID: 688196032} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 688196032} - m_AABB: - m_Center: {x: -0.034548517, y: 0.00051147584, z: 0.000073043164} - m_Extent: {x: 0.0009967126, y: 0.0020704698, z: 0.0044533596} - m_DirtyAABB: 0 ---- !u!1 &661535951 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 661535952} - m_Layer: 0 - m_Name: left_touch_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &661535952 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 661535951} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 584146563} - - {fileID: 287658341} - - {fileID: 266557184} - - {fileID: 295980145} - - {fileID: 1755103502} - - {fileID: 24734581} - m_Father: {fileID: 486274872} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &667649647 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 667649648} - m_Layer: 0 - m_Name: prp00002questController_animrig:RIG_right_monterey_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &667649648 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 667649647} - serializedVersion: 2 - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1637911181} - m_Father: {fileID: 1671356705} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &674632811 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 674632812} - - component: {fileID: 674632813} - m_Layer: 0 - m_Name: right_nub - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &674632812 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 674632811} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1030627235} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &674632813 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 674632811} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: dfee80e1d2a38ea45a01698af1c06034, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 6118253600298082114, guid: c933168a9a0f1e04bb793786b96e2f4b, type: 3} - m_Bones: - - {fileID: 1406910096} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1406910096} - m_AABB: - m_Center: {x: 0.008976316, y: -0.064772196, z: -0.067473285} - m_Extent: {x: 0.0043462086, y: 0.006806761, z: 0.0068782493} - m_DirtyAABB: 0 ---- !u!1 &682641476 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 682641477} - m_Layer: 0 - m_Name: b_button_a - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &682641477 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 682641476} - serializedVersion: 2 - m_LocalRotation: {x: -0.079715475, y: -0.006832741, z: -0.010788154, w: 0.9967359} - m_LocalPosition: {x: -0.4872433, y: 0.4381565, z: -0.9725082} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1364350287} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &684282152 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 684282153} - m_Layer: 0 - m_Name: RightHandAnchor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &684282153 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 684282152} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 422183035} - - {fileID: 605514812} - - {fileID: 184426330} - m_Father: {fileID: 252284429} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &688196031 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 688196032} - m_Layer: 0 - m_Name: right_oculus_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &688196032 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 688196031} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -1.11022e-18, y: -2.7755598e-19, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 341069502} - - {fileID: 952434783} - - {fileID: 572609090} - - {fileID: 878780834} - - {fileID: 1088261136} - - {fileID: 1937580132} - - {fileID: 1342757840} - m_Father: {fileID: 639101583} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &693363247 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 693363248} - m_Layer: 0 - m_Name: left_b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &693363248 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 693363247} - serializedVersion: 2 - m_LocalRotation: {x: 0.04043698, y: -0.10925582, z: 0.008632264, w: 0.99315333} - m_LocalPosition: {x: 1.485478, y: -0.1985349, z: 2.472124} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1961551771} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &698316907 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 698316908} - m_Layer: 0 - m_Name: b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &698316908 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 698316907} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.0134458, y: -0.000953069, z: -0.015630798} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1551154697} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &709715401 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 709715402} - m_Layer: 0 - m_Name: b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &709715402 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 709715401} - serializedVersion: 2 - m_LocalRotation: {x: 6.1062277e-16, y: -5.5511148e-17, z: 2.775558e-17, w: 1} - m_LocalPosition: {x: -0.009354755, y: -0.004729963, z: 0.0027985969} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 571685952} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &724605852 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 724605853} - - component: {fileID: 724605854} - m_Layer: 0 - m_Name: left_batteryIndicatorQuad - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &724605853 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 724605852} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 635084207} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &724605854 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 724605852} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 3abd38e0d18db6c49b2c96961d69d024, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 676953819249935456, guid: 2b9768cc0be08784b91b7da60696ba29, type: 3} - m_Bones: - - {fileID: 1637744436} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1637744436} - m_AABB: - m_Center: {x: 0.03454852, y: 0.0005114786, z: 0.00007304177} - m_Extent: {x: 0.0009967163, y: 0.0020704702, z: 0.004453361} - m_DirtyAABB: 0 ---- !u!1 &733319710 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 733319711} - m_Layer: 0 - m_Name: b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &733319711 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 733319710} - serializedVersion: 2 - m_LocalRotation: {x: 5.5511148e-17, y: -3.74355e-40, z: 5.5511148e-17, w: 1} - m_LocalPosition: {x: 0.006998126, y: -0.0024625768, z: 0.0077800765} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1406910096} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &750824752 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 750824753} - m_Layer: 0 - m_Name: b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &750824753 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 750824752} - serializedVersion: 2 - m_LocalRotation: {x: 5.5081567e-17, y: 0.09584575, z: 0.9953962, w: -6.68193e-17} - m_LocalPosition: {x: -0.0095, y: -0.0237522, z: -0.008600318} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 972557844} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &751450151 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 751450152} - m_Layer: 0 - m_Name: b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &751450152 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 751450151} - serializedVersion: 2 - m_LocalRotation: {x: -6.123234e-17, y: -6.123234e-17, z: 6.123234e-17, w: 1} - m_LocalPosition: {x: 0.006, y: -0.026159998, z: -0.0132} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1652013589} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &755463173 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 755463174} - m_Layer: 0 - m_Name: LeftControllerAnchor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &755463174 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 755463173} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1321218334} - m_Father: {fileID: 1327837341} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &757898888 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 757898889} - m_Layer: 0 - m_Name: b_button01 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &757898889 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 757898888} - serializedVersion: 2 - m_LocalRotation: {x: -5.5728e-17, y: -2.7430318e-17, z: -4.336809e-19, w: 1} - m_LocalPosition: {x: -0.001917077, y: -0.00091214647, z: -0.0073837414} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 866660871} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &764643064 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 764643065} - m_Layer: 0 - m_Name: b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &764643065 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 764643064} - serializedVersion: 2 - m_LocalRotation: {x: 0.49215886, y: -0.49656934, z: 0.5639518, w: -0.43949622} - m_LocalPosition: {x: -0.0069999998, y: -0.00246, z: 0.0077799996} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1652013589} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &778318407 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 778318408} - m_Layer: 0 - m_Name: right_b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &778318408 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 778318407} - serializedVersion: 2 - m_LocalRotation: {x: 0.105385825, y: 0.0645229, z: 0.105784565, w: 0.98668146} - m_LocalPosition: {x: -1.156767, y: -2.141624, z: 1.262546} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 998137354} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &780419210 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 780419211} - m_Layer: 0 - m_Name: prp00002questController_animrig:f_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &780419211 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 780419210} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1434928076} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &781887872 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 781887873} - m_Layer: 0 - m_Name: b_button_x - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &781887873 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 781887872} - serializedVersion: 2 - m_LocalRotation: {x: -1.3877785e-17, y: 3.4694465e-18, z: -1.5466e-41, w: 1} - m_LocalPosition: {x: 0.00303, y: 0.004263146, z: -0.009742662} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1637744436} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &783816706 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 783816707} - m_Layer: 0 - m_Name: prp00002questController_animrig:left_monterey_controller_rig - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &783816707 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 783816706} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2119754371} - m_Father: {fileID: 1638472893} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &791896876 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 791896877} - - component: {fileID: 791896878} - m_Layer: 0 - m_Name: left_nub - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &791896877 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 791896876} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 838779041} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &791896878 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 791896876} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: b58fdf466c162d447913b955fc10ad96, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 9119531028308358715, guid: 2b9768cc0be08784b91b7da60696ba29, type: 3} - m_Bones: - - {fileID: 1652013589} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1652013589} - m_AABB: - m_Center: {x: -0.009029879, y: -0.064930744, z: -0.06743039} - m_Extent: {x: 0.0043483684, y: 0.0068749115, z: 0.006839171} - m_DirtyAABB: 0 ---- !u!1 &807660791 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 807660792} - m_Layer: 0 - m_Name: b_stick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &807660792 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 807660791} - serializedVersion: 2 - m_LocalRotation: {x: 6.123234e-17, y: -6.123234e-17, z: 6.123234e-17, w: 1} - m_LocalPosition: {x: 0.0106373895, y: -0.009418557, z: 0.00497835} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2138686693} - m_Father: {fileID: 866660871} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &814102142 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 814102143} - m_Layer: 0 - m_Name: b_button_b - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &814102143 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 814102142} - serializedVersion: 2 - m_LocalRotation: {x: -0.073689476, y: -0.006897823, z: -0.010746658, w: 0.9971995} - m_LocalPosition: {x: -1.542123, y: 0.6515468, z: 0.2793523} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 998137354} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &823928222 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 823928223} - m_Layer: 0 - m_Name: prp00002questController_animrig:right_monterey_controller_rig - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &823928223 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 823928222} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 114380278} - m_Father: {fileID: 344534119} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &832165400 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 832165401} - - component: {fileID: 832165402} - m_Layer: 0 - m_Name: left_touch_mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &832165401 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 832165400} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1753501146} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &832165402 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 832165400} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: -5657245977255592283, guid: 528296ec8cb7e9e4b836b8aa1197aa98, type: 3} - - {fileID: 7548789142924365465, guid: 76f6075ec84afca46b2a5e5b3bfdf8ce, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 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: c3ba18e9fa5e9104098cbdbb3e23a5b4, type: 3} - m_Bones: - - {fileID: 456126785} - - {fileID: 1319819626} - - {fileID: 982880} - - {fileID: 1050871137} - - {fileID: 994956200} - - {fileID: 1151071291} - - {fileID: 1572542997} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1319819626} - m_AABB: - m_Center: {x: -0.016699273, y: -0.03636414, z: -0.018954389} - m_Extent: {x: 0.05463389, y: 0.050220694, z: 0.051451057} - m_DirtyAABB: 0 ---- !u!1 &838779040 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 838779041} - - component: {fileID: 838779042} - m_Layer: 0 - m_Name: MetaQuestTouchPro_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &838779041 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 838779040} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1854300287} - - {fileID: 791896877} - - {fileID: 1515669833} - - {fileID: 1652013589} - m_Father: {fileID: 439708784} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &838779042 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 838779040} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 2b9768cc0be08784b91b7da60696ba29, type: 3} - m_Controller: {fileID: 9100000, guid: adee424ac9576984da6cd4c044c80118, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &850487410 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 850487411} - - component: {fileID: 850487412} - m_Layer: 0 - m_Name: OculusTouchForQuest2RightModel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &850487411 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 850487410} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 9029562} - - {fileID: 1486327841} - - {fileID: 954293632} - m_Father: {fileID: 439708784} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &850487412 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 850487410} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 25b5eb0761edb6346b0b3444af76b55e, type: 3} - m_Controller: {fileID: 9100000, guid: 62a9d09916ac8bf4ba30ba4803d3503a, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &866660870 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 866660871} - m_Layer: 0 - m_Name: right_touch_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &866660871 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 866660870} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 757898889} - - {fileID: 985305292} - - {fileID: 1696461250} - - {fileID: 474165550} - - {fileID: 807660792} - - {fileID: 944109709} - m_Father: {fileID: 1576714353} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &869265554 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 869265555} - - component: {fileID: 869265556} - m_Layer: 0 - m_Name: right_batteryIndicatorQuad - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &869265555 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 869265554} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1030627235} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &869265556 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 869265554} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 3abd38e0d18db6c49b2c96961d69d024, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 7239682268775398997, guid: c933168a9a0f1e04bb793786b96e2f4b, type: 3} - m_Bones: - - {fileID: 1406910096} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1406910096} - m_AABB: - m_Center: {x: -0.034548517, y: 0.00051147584, z: 0.000073043164} - m_Extent: {x: 0.0009967126, y: 0.0020704698, z: 0.0044533596} - m_DirtyAABB: 0 ---- !u!1 &877131656 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 877131657} - m_Layer: 0 - m_Name: laser_begin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &877131657 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 877131656} - serializedVersion: 2 - m_LocalRotation: {x: 5.87312e-17, y: 0.9991979, z: -5.87312e-17, w: -0.040044595} - m_LocalPosition: {x: -0.009, y: 0, z: 0} - m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1652013589} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &878780833 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 878780834} - m_Layer: 0 - m_Name: b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &878780834 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 878780833} - serializedVersion: 2 - m_LocalRotation: {x: 5.5511148e-17, y: -3.74355e-40, z: 5.5511148e-17, w: 1} - m_LocalPosition: {x: 0.006998126, y: -0.0024625768, z: 0.0077800765} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 688196032} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &881450276 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 881450277} - m_Layer: 0 - m_Name: right_b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &881450277 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 881450276} - serializedVersion: 2 - m_LocalRotation: {x: 0.04043698, y: -0.10925582, z: 0.008632264, w: 0.99315333} - m_LocalPosition: {x: -1.565232, y: -0.1446174, z: 2.43169} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1364350287} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &893703309 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 893703310} - m_Layer: 0 - m_Name: left_oculus_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &893703310 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 893703309} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 1.110223e-18, y: -2.7755575e-19, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1731712946} - - {fileID: 1517700844} - - {fileID: 1951526996} - - {fileID: 1716948725} - - {fileID: 1724610291} - - {fileID: 54897028} - m_Father: {fileID: 1818607060} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &897623280 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 897623281} - m_Layer: 0 - m_Name: b_button03 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &897623281 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 897623280} - serializedVersion: 2 - m_LocalRotation: {x: -1.7347238e-17, y: 2.15808e-40, z: -5.5294307e-17, w: 1} - m_LocalPosition: {x: 0.01229044, y: -0.0007094415, z: -0.013889479} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1508935217} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &909345352 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 909345353} - - component: {fileID: 909345354} - m_Layer: 0 - m_Name: OculusTouchForQuest2LeftModel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &909345353 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 909345352} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 234534157} - - {fileID: 1708555150} - - {fileID: 571685952} - m_Father: {fileID: 439708784} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &909345354 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 909345352} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 8b83018900d13bb4f8e0ad895cb004e5, type: 3} - m_Controller: {fileID: 9100000, guid: 4a8e946ed663e4a4db0f537e2965635d, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &911098799 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 911098802} - - component: {fileID: 911098801} - - component: {fileID: 911098800} - m_Layer: 0 - m_Name: '[BuildingBlock] Passthrough' - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &911098800 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 911098799} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 555725d48e9051a4bb6b8d45178c2fdd, type: 3} - m_Name: - m_EditorClassIdentifier: - projectionSurfaceType: 0 - overlayType: 1 - compositionDepth: 0 - hidden: 0 - overridePerLayerColorScaleAndOffset: 0 - colorScale: {x: 1, y: 1, z: 1, w: 1} - colorOffset: {x: 0, y: 0, z: 0, w: 0} - passthroughLayerResumed: - m_PersistentCalls: - m_Calls: [] - colorMapEditorType_: 0 - colorMapEditorGradient: - serializedVersion: 2 - key0: {r: 0, g: 0, b: 0, 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_ColorSpace: -1 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - colorMapEditorContrast: 0 - colorMapEditorBrightness: 0 - colorMapEditorPosterize: 0 - colorMapEditorSaturation: 0 - _colorLutSourceTexture: {fileID: 0} - _colorLutTargetTexture: {fileID: 0} - _lutWeight: 1 - _flipLutY: 1 - serializedSurfaceGeometry: [] - textureOpacity_: 1 - edgeRenderingEnabled_: 0 - edgeColor_: {r: 1, g: 1, b: 1, a: 1} - colorMapType: 0 ---- !u!114 &911098801 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 911098799} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5b023183069df224080314a560e6e1ff, type: 3} - m_Name: - m_EditorClassIdentifier: - blockId: f0540b20-dfd6-420e-b20d-c270f88dc77e - instanceId: e6517535-1c28-4eb9-a5bd-ec3204792998 - version: 1 - installationRoutineCheckpoint: - _installationRoutineId: - _installationVariants: [] ---- !u!4 &911098802 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 911098799} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &912704848 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 912704849} - m_Layer: 0 - m_Name: right_b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &912704849 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 912704848} - serializedVersion: 2 - m_LocalRotation: {x: -0.07339577, y: -0.11925421, z: -0.009944958, w: 0.9900973} - m_LocalPosition: {x: 0.5958284, y: -0.2202142, z: 0.8936454} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 998137354} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &917200059 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 917200060} - m_Layer: 0 - m_Name: b_hold - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &917200060 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 917200059} - serializedVersion: 2 - m_LocalRotation: {x: -1.6653348e-16, y: -1.1039714e-17, z: -1.09403164e-17, w: 1} - m_LocalPosition: {x: 0.01276967, y: -0.02742711, z: -0.0256397} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1508935217} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &923425837 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 923425838} - m_Layer: 0 - m_Name: right_laser_begin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &923425838 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 923425837} - serializedVersion: 2 - m_LocalRotation: {x: -0.0034610122, y: -0.056587048, z: -0.060950357, w: 0.9965295} - m_LocalPosition: {x: -0.009, y: -0.0032102852, z: 0.030869998} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 242928078} - m_Father: {fileID: 1537812379} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &944109708 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 944109709} - m_Layer: 0 - m_Name: b_trigger - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &944109709 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 944109708} - serializedVersion: 2 - m_LocalRotation: {x: -5.5511148e-17, y: 7.1144825e-17, z: -2.44333e-17, w: 1} - m_LocalPosition: {x: -0.001420367, y: -0.005495974, z: 0.02186589} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 866660871} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &952434782 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 952434783} - m_Layer: 0 - m_Name: b_button_b - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &952434783 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 952434782} - serializedVersion: 2 - m_LocalRotation: {x: 1.9081955e-17, y: 1.174176e-39, z: -1.6637081e-16, w: 1} - m_LocalPosition: {x: -0.013317339, y: 0.006368489, z: 0.003019979} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 688196032} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &954293631 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 954293632} - m_Layer: 0 - m_Name: right_oculus_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &954293632 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 954293631} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1288868498} - - {fileID: 414773984} - - {fileID: 1443702461} - - {fileID: 353122662} - - {fileID: 1129512325} - - {fileID: 1444089112} - m_Father: {fileID: 850487411} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &969659383 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 969659384} - m_Layer: 0 - m_Name: b_button_x - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &969659384 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 969659383} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.005223348, y: 0.00064359006, z: -0.0130829} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 571685952} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &972557843 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 972557844} - m_Layer: 0 - m_Name: left_monterey_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &972557844 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 972557843} - serializedVersion: 2 - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1265572077} - - {fileID: 1659863213} - - {fileID: 590296140} - - {fileID: 1136011897} - - {fileID: 750824753} - - {fileID: 541866404} - m_Father: {fileID: 2111569459} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &973146856 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 973146857} - m_Layer: 0 - m_Name: b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &973146857 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 973146856} - serializedVersion: 2 - m_LocalRotation: {x: 0.44977522, y: -0.44977522, z: 0.545621, w: 0.545621} - m_LocalPosition: {x: 0.0094998265, y: 0.023247808, z: -0.006128987} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1269799604} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &974221650 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 974221651} - m_Layer: 0 - m_Name: left_laser_begin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &974221651 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 974221650} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.776366, y: 0.011044683, z: 0.20043069} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1961551771} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &985305291 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 985305292} - m_Layer: 0 - m_Name: b_button02 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &985305292 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 985305291} - serializedVersion: 2 - m_LocalRotation: {x: 4.1633363e-17, y: -2.0816682e-17, z: 8.673617e-19, w: 1} - m_LocalPosition: {x: -0.009152712, y: 0.00003091648, z: 0.0054823146} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 866660871} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &988795633 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 988795634} - - component: {fileID: 988795635} - m_Layer: 0 - m_Name: right_touch_controller_model_skel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &988795634 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 988795633} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1508935217} - - {fileID: 520530842} - m_Father: {fileID: 1321218334} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &988795635 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 988795633} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: c3798d66af7bbe54bbfe22a3b302300b, type: 3} - m_Controller: {fileID: 9100000, guid: 9889b45bb24173a4d93c7f6b5a496800, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &994956199 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 994956200} - m_Layer: 0 - m_Name: b_button01 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &994956200 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 994956199} - serializedVersion: 2 - m_LocalRotation: {x: -5.475221e-18, y: -2.6237691e-17, z: -9.410877e-17, w: 1} - m_LocalPosition: {x: 0.001917077, y: -0.00091214647, z: -0.0073837414} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1319819626} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &998137353 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 998137354} - m_Layer: 0 - m_Name: right_oculus_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &998137354 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 998137353} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1001537643} - - {fileID: 814102143} - - {fileID: 1073733069} - - {fileID: 912704849} - - {fileID: 117544908} - - {fileID: 778318408} - - {fileID: 1055321807} - m_Father: {fileID: 1384294388} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1001537642 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1001537643} - m_Layer: 0 - m_Name: b_button_a - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1001537643 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1001537642} - serializedVersion: 2 - m_LocalRotation: {x: -0.079715475, y: -0.006832741, z: -0.010788154, w: 0.9967359} - m_LocalPosition: {x: -0.4872433, y: 0.4381565, z: -0.9725082} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 998137354} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1022948349 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1022948350} - m_Layer: 0 - m_Name: b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1022948350 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1022948349} - serializedVersion: 2 - m_LocalRotation: {x: -0.545621, y: 0.545621, z: 0.44977522, w: 0.44977522} - m_LocalPosition: {x: -0.009500173, y: 0.023247808, z: -0.006128987} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 453504514} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1030627234 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1030627235} - - component: {fileID: 1030627236} - m_Layer: 0 - m_Name: MetaQuestTouchPro_Right - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1030627235 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1030627234} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 869265555} - - {fileID: 674632812} - - {fileID: 1507467097} - - {fileID: 1406910096} - m_Father: {fileID: 439708784} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &1030627236 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1030627234} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: c933168a9a0f1e04bb793786b96e2f4b, type: 3} - m_Controller: {fileID: 9100000, guid: 4da77ccaa334a3e45961430811956356, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &1035006948 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1035006949} - m_Layer: 0 - m_Name: b_button_x - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1035006949 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1035006948} - serializedVersion: 2 - m_LocalRotation: {x: -0.079715475, y: -0.006832741, z: -0.010788154, w: 0.9967359} - m_LocalPosition: {x: 0.5366125, y: 0.4256339, z: -0.9631782} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1961551771} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1050871136 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1050871137} - m_Layer: 0 - m_Name: b_button02 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1050871137 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1050871136} - serializedVersion: 2 - m_LocalRotation: {x: 6.245004e-17, y: 2.9490296e-17, z: -1.1579283e-16, w: 1} - m_LocalPosition: {x: 0.009135339, y: -0.000116819196, z: 0.005499125} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1319819626} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1055321806 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1055321807} - m_Layer: 0 - m_Name: right_laser_begin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1055321807 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1055321806} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.77154946, y: -0.028991602, z: 0.23054607} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 998137354} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1073733068 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1073733069} - m_Layer: 0 - m_Name: right_b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1073733069 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1073733068} - serializedVersion: 2 - m_LocalRotation: {x: -0.07882118, y: -0.010384407, z: -0.02061734, w: 0.99662143} - m_LocalPosition: {x: 1.14072, y: 0.1951398, z: -1.085249} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 998137354} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1081270417 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1081270418} - m_Layer: 0 - m_Name: right_b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1081270418 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1081270417} - serializedVersion: 2 - m_LocalRotation: {x: 0.105385825, y: 0.0645229, z: 0.105784565, w: 0.98668146} - m_LocalPosition: {x: -1.156767, y: -2.141624, z: 1.262546} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1364350287} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1088261135 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1088261136} - m_Layer: 0 - m_Name: b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1088261136 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1088261135} - serializedVersion: 2 - m_LocalRotation: {x: 0.0028242967, y: -0.05819442, z: -0.010116533, w: 0.99825007} - m_LocalPosition: {x: -0.011773869, y: -0.0039231847, z: 0.02834368} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 688196032} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1098242102 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1098242103} - m_Layer: 0 - m_Name: b_stick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1098242103 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1098242102} - serializedVersion: 2 - m_LocalRotation: {x: 6.123234e-17, y: -6.123234e-17, z: 6.123234e-17, w: 1} - m_LocalPosition: {x: 0.0106373895, y: -0.009418557, z: 0.00497835} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1803943101} - m_Father: {fileID: 1508935217} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1099182010 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1099182011} - m_Layer: 0 - m_Name: prp00002questController_animrig:left_monterey_controller_rig - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1099182011 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1099182010} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1434928076} - m_Father: {fileID: 2111569459} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1105993176 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1105993177} - m_Layer: 0 - m_Name: b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1105993177 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1105993176} - serializedVersion: 2 - m_LocalRotation: {x: 0.54365766, y: -0.5436488, z: -0.4521571, w: -0.45214623} - m_LocalPosition: {x: 0.003108595, y: -0.0009830681, z: -0.01800256} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1585660501} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1106061764 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1106061765} - - component: {fileID: 1106061766} - m_Layer: 0 - m_Name: r_controller_ply - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1106061765 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1106061764} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1268074399} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &1106061766 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1106061764} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 840110603815307103, guid: e878dcbefebb86f478a53130d09dd0ac, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 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: 37ba10a26a648144fa2390c8adfb2c8a, type: 3} - m_Bones: - - {fileID: 1585660501} - - {fileID: 1195051330} - - {fileID: 1314895581} - - {fileID: 1105993177} - - {fileID: 108111738} - - {fileID: 1430416875} - - {fileID: 1712901796} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1585660501} - m_AABB: - m_Center: {x: 0.009499997, y: 0.01770607, z: -0.0011095554} - m_Extent: {x: 0.04527676, y: 0.05372102, z: 0.06648618} - m_DirtyAABB: 0 ---- !u!1 &1109270962 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1109270963} - - component: {fileID: 1109270964} - m_Layer: 0 - m_Name: left_batteryIndicatorQuad_MeshX - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &1109270963 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1109270962} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1638055241} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &1109270964 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1109270962} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 3abd38e0d18db6c49b2c96961d69d024, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4856478432021604258, guid: 2b1aaafc31655024394d83dc00911c1c, type: 3} - m_Bones: - - {fileID: 1961551771} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1961551771} - m_AABB: - m_Center: {x: 3.5085697, y: 0.084750324, z: -0.17565808} - m_Extent: {x: 0.10651207, y: 0.1877416, z: 0.45612457} - m_DirtyAABB: 0 ---- !u!1 &1129512324 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1129512325} - m_Layer: 0 - m_Name: b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1129512325 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1129512324} - serializedVersion: 2 - m_LocalRotation: {x: -3.13844e-39, y: 4.529797e-16, z: -9.259085e-17, w: 1} - m_LocalPosition: {x: -0.00499064, y: -0.00947063, z: 0.027257198} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 954293632} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1136011896 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1136011897} - m_Layer: 0 - m_Name: b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1136011897 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1136011896} - serializedVersion: 2 - m_LocalRotation: {x: -0.064701416, y: 0.7041404, z: -0.064701416, w: 0.7041404} - m_LocalPosition: {x: -0.018, y: -0.010134229, z: -0.004163745} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 972557844} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1136487186 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1136487187} - m_Layer: 0 - m_Name: b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1136487187 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1136487186} - serializedVersion: 2 - m_LocalRotation: {x: 0.49215886, y: -0.49656934, z: 0.5639518, w: -0.43949622} - m_LocalPosition: {x: -0.0069999998, y: -0.00246, z: 0.0077799996} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1637744436} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1139059764 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1139059765} - m_Layer: 0 - m_Name: prp00002questController_animrig:f_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1139059765 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1139059764} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 114380278} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1151071290 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1151071291} - m_Layer: 0 - m_Name: b_stick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1151071291 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1151071290} - serializedVersion: 2 - m_LocalRotation: {x: -1.2246469e-16, y: -3.066587e-17, z: -1.0907112e-16, w: 1} - m_LocalPosition: {x: -0.0106373895, y: -0.009418557, z: 0.00497835} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2610838} - m_Father: {fileID: 1319819626} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1178924305 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1178924306} - m_Layer: 0 - m_Name: TrackerAnchor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1178924306 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1178924305} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 252284429} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1187507087 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1187507088} - m_Layer: 0 - m_Name: right_b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1187507088 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1187507087} - serializedVersion: 2 - m_LocalRotation: {x: -0.07339577, y: -0.11925421, z: -0.009944958, w: 0.9900973} - m_LocalPosition: {x: 0.5958284, y: -0.2202142, z: 0.8936454} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1364350287} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1188279874 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1188279875} - m_Layer: 0 - m_Name: laser_begin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1188279875 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1188279874} - serializedVersion: 2 - m_LocalRotation: {x: 6.363525e-17, y: 0.9991979, z: -6.363525e-17, w: 0.040044595} - m_LocalPosition: {x: 0.009, y: 0, z: 0} - m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1406910096} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1191860274 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1191860275} - m_Layer: 0 - m_Name: b_button_a - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1191860275 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1191860274} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.0052233497, y: 0.00064359, z: -0.0130829} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1551154697} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1195051329 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1195051330} - m_Layer: 0 - m_Name: b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1195051330 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1195051329} - serializedVersion: 2 - m_LocalRotation: {x: 0.44977522, y: -0.44977522, z: 0.545621, w: 0.545621} - m_LocalPosition: {x: 0.0094998265, y: 0.023247808, z: -0.006128987} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1585660501} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1197451600 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1197451601} - m_Layer: 0 - m_Name: b_button_b - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1197451601 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1197451600} - serializedVersion: 2 - m_LocalRotation: {x: 0.44977522, y: -0.44977522, z: 0.545621, w: 0.545621} - m_LocalPosition: {x: -0.0025457998, y: -0.008905827, z: 0.00086994097} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1269799604} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1207989674 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1207989675} - m_Layer: 0 - m_Name: b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1207989675 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1207989674} - serializedVersion: 2 - m_LocalRotation: {x: -6.68193e-17, y: 0.09584575, z: 0.9953962, w: -5.508158e-17} - m_LocalPosition: {x: 0.0095, y: -0.02375219, z: -0.008600318} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1269799604} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1217447102 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1217447103} - m_Layer: 0 - m_Name: left_b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1217447103 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1217447102} - serializedVersion: 2 - m_LocalRotation: {x: 0.10486942, y: -0.07999015, z: -0.12395867, w: 0.9834827} - m_LocalPosition: {x: 1.032056, y: -2.177939, z: 1.289754} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1961551771} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1230039280 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1230039281} - m_Layer: 0 - m_Name: b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1230039281 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1230039280} - serializedVersion: 2 - m_LocalRotation: {x: -4.5102807e-17, y: -1.0408341e-17, z: -4.1543e-41, w: 1} - m_LocalPosition: {x: -0.0132861305, y: 0.00174721, z: -0.01103058} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1637744436} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1240878982 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1240878983} - - component: {fileID: 1240878990} - - component: {fileID: 1240878989} - - component: {fileID: 1240878988} - - component: {fileID: 1240878987} - - component: {fileID: 1240878986} - - component: {fileID: 1240878985} - - component: {fileID: 1240878984} - m_Layer: 0 - m_Name: '[BuildingBlock] Hand Tracking left' - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1240878983 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1240878982} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1327837341} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &1240878984 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1240878982} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: aa70c70787230f248b33d8a0ce1a6c3d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 0} - m_Bones: [] - m_BlendShapeWeights: [] - m_RootBone: {fileID: 0} - m_AABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_DirtyAABB: 0 ---- !u!114 &1240878985 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1240878982} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73eac66b128fc8749a21623225c34541, type: 3} - m_Name: - m_EditorClassIdentifier: - _ovrMesh: {fileID: 0} - _ovrSkeleton: {fileID: 0} - _confidenceBehavior: 1 - _systemGestureBehavior: 1 - _systemGestureMaterial: {fileID: 2100000, guid: 9d107f2f043e1ed408b970f146718017, type: 2} ---- !u!114 &1240878986 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1240878982} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5cc5c234723e3a54d8dd09b131117743, type: 3} - m_Name: - m_EditorClassIdentifier: - _meshType: 4 ---- !u!114 &1240878987 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1240878982} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 54c16b381e28e8d479237771d234dbae, type: 3} - m_Name: - m_EditorClassIdentifier: - _confidenceBehavior: 1 - _systemGestureBehavior: 1 - _renderPhysicsCapsules: 0 - _skeletonMaterial: {fileID: 2100000, guid: 9c05c5a6e4902ff4082cfb34e5b64b2d, type: 2} - _capsuleMaterial: {fileID: 0} - _systemGestureMaterial: {fileID: 2100000, guid: 38beab19e7c1f7947afac78fd60f90b0, type: 2} ---- !u!114 &1240878988 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1240878982} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2609c54f376cffc4da1ab9401cc1a36f, type: 3} - m_Name: - m_EditorClassIdentifier: - _skeletonType: 4 - _updateRootPose: 0 - _updateRootScale: 1 - _enablePhysicsCapsules: 0 - _applyBoneTranslations: 1 ---- !u!114 &1240878989 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1240878982} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: cb7623a8f0b49cf4dbaa40aea4d4be64, type: 3} - m_Name: - m_EditorClassIdentifier: - HandType: 0 - _pointerPoseRoot: {fileID: 0} - m_showState: 3 - RayHelper: {fileID: 0} ---- !u!114 &1240878990 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1240878982} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5b023183069df224080314a560e6e1ff, type: 3} - m_Name: - m_EditorClassIdentifier: - blockId: 8b26b298-7bf4-490e-b245-a039c0184303 - instanceId: 9bc7cbdb-2579-4e1f-abcf-b5c9e79026d0 - version: 1 - installationRoutineCheckpoint: - _installationRoutineId: - _installationVariants: [] ---- !u!1 &1265572076 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1265572077} - m_Layer: 0 - m_Name: b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1265572077 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1265572076} - serializedVersion: 2 - m_LocalRotation: {x: -0.545621, y: 0.545621, z: 0.44977522, w: 0.44977522} - m_LocalPosition: {x: -0.009500173, y: 0.023247808, z: -0.006128987} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 972557844} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1268074398 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1268074399} - - component: {fileID: 1268074400} - m_Layer: 0 - m_Name: OculusTouchForQuestAndRiftS_Right - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1268074399 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1268074398} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1671356705} - - {fileID: 1106061765} - - {fileID: 1585660501} - m_Father: {fileID: 1321218334} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &1268074400 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1268074398} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 37ba10a26a648144fa2390c8adfb2c8a, type: 3} - m_Controller: {fileID: 9100000, guid: 3f974d61f39a79c408d54b32f31f186c, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &1269799603 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1269799604} - m_Layer: 0 - m_Name: right_monterey_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1269799604 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1269799603} - serializedVersion: 2 - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 205072693} - - {fileID: 1197451601} - - {fileID: 973146857} - - {fileID: 277539700} - - {fileID: 1207989675} - - {fileID: 517763056} - m_Father: {fileID: 344534119} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1288868497 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1288868498} - m_Layer: 0 - m_Name: b_button_a - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1288868498 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1288868497} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.0052233497, y: 0.00064359, z: -0.0130829} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 954293632} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1314895580 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1314895581} - m_Layer: 0 - m_Name: b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1314895581 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1314895580} - serializedVersion: 2 - m_LocalRotation: {x: -6.68193e-17, y: 0.09584575, z: 0.9953962, w: -5.508158e-17} - m_LocalPosition: {x: 0.0095, y: -0.02375219, z: -0.008600318} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1585660501} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1315727646 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1315727647} - m_Layer: 0 - m_Name: pasted__laser_end_pointer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1315727647 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1315727646} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0.2894799} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 650456871} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1319819625 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1319819626} - m_Layer: 0 - m_Name: left_touch_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1319819626 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1319819625} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 994956200} - - {fileID: 1050871137} - - {fileID: 456126785} - - {fileID: 1572542997} - - {fileID: 1151071291} - - {fileID: 982880} - m_Father: {fileID: 1753501146} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1321218333 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1321218334} - - component: {fileID: 1321218336} - - component: {fileID: 1321218335} - m_Layer: 0 - m_Name: '[BuildingBlock] Controller Tracking Left' - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1321218334 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1321218333} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2111569459} - - {fileID: 1268074399} - - {fileID: 1818607060} - - {fileID: 1537812379} - - {fileID: 1753501146} - - {fileID: 988795634} - - {fileID: 635084207} - - {fileID: 639101583} - - {fileID: 1638055241} - - {fileID: 1384294388} - m_Father: {fileID: 755463174} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1321218335 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1321218333} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: aed62bf3ae2456c408f247f96808ce96, type: 3} - m_Name: - m_EditorClassIdentifier: - m_modelOculusTouchQuestAndRiftSLeftController: {fileID: 2111569458} - m_modelOculusTouchQuestAndRiftSRightController: {fileID: 1268074398} - m_modelOculusTouchRiftLeftController: {fileID: 1753501145} - m_modelOculusTouchRiftRightController: {fileID: 988795633} - m_modelOculusTouchQuest2LeftController: {fileID: 1818607059} - m_modelOculusTouchQuest2RightController: {fileID: 1537812378} - m_modelMetaTouchProLeftController: {fileID: 635084206} - m_modelMetaTouchProRightController: {fileID: 639101582} - m_modelMetaTouchPlusLeftController: {fileID: 1638055240} - m_modelMetaTouchPlusRightController: {fileID: 1384294387} - m_controller: 1 - m_showState: 1 - showWhenHandsArePoweredByNaturalControllerPoses: 0 - RayHelper: {fileID: 0} ---- !u!114 &1321218336 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1321218333} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5b023183069df224080314a560e6e1ff, type: 3} - m_Name: - m_EditorClassIdentifier: - blockId: 5817f7c0-f2a5-45f9-a5ca-64264e0166e8 - instanceId: 6026b668-4924-4ab4-8eb7-d5fbaead1ab7 - version: 1 - installationRoutineCheckpoint: - _installationRoutineId: - _installationVariants: [] ---- !u!1 &1327837340 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1327837341} - m_Layer: 0 - m_Name: LeftHandAnchor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1327837341 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1327837340} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 755463174} - - {fileID: 1684508964} - - {fileID: 1240878983} - m_Father: {fileID: 252284429} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1341365488 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1341365489} - m_Layer: 0 - m_Name: RightHandOnControllerAnchor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1341365489 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1341365488} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 605514812} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1342757839 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1342757840} - m_Layer: 0 - m_Name: laser_begin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1342757840 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1342757839} - serializedVersion: 2 - m_LocalRotation: {x: 6.363525e-17, y: 0.9991979, z: -6.363525e-17, w: 0.040044595} - m_LocalPosition: {x: 0.009, y: 0, z: 0} - m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 688196032} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1347623181 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1347623182} - m_Layer: 0 - m_Name: laser_begin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1347623182 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1347623181} - serializedVersion: 2 - m_LocalRotation: {x: 5.87312e-17, y: 0.9991979, z: -5.87312e-17, w: -0.040044595} - m_LocalPosition: {x: -0.009, y: 0, z: 0} - m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1637744436} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1364350286 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1364350287} - m_Layer: 0 - m_Name: right_oculus_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1364350287 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1364350286} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 682641477} - - {fileID: 1386926025} - - {fileID: 93045121} - - {fileID: 1187507088} - - {fileID: 881450277} - - {fileID: 1081270418} - - {fileID: 1617198459} - m_Father: {fileID: 612817093} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1367593694 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1367593695} - - component: {fileID: 1367593696} - m_Layer: 0 - m_Name: right_touch_mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1367593695 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1367593694} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1576714353} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &1367593696 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1367593694} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 7548789142924365465, guid: 76f6075ec84afca46b2a5e5b3bfdf8ce, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 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: c3798d66af7bbe54bbfe22a3b302300b, type: 3} - m_Bones: - - {fileID: 866660871} - - {fileID: 474165550} - - {fileID: 757898889} - - {fileID: 985305292} - - {fileID: 807660792} - - {fileID: 944109709} - - {fileID: 1696461250} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 866660871} - m_AABB: - m_Center: {x: 0.016699273, y: -0.03636414, z: -0.018954389} - m_Extent: {x: 0.05463389, y: 0.050220694, z: 0.051451057} - m_DirtyAABB: 0 ---- !u!1 &1384294387 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1384294388} - - component: {fileID: 1384294389} - m_Layer: 0 - m_Name: MetaQuestTouchPlus_Right - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1384294388 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1384294387} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2065304043} - - {fileID: 2049897752} - - {fileID: 998137354} - m_Father: {fileID: 1321218334} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &1384294389 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1384294387} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: deed68a7fd2e9234899298cf80fae7ad, type: 3} - m_Controller: {fileID: 9100000, guid: fc948f57db734e74094dc532bdbbc3e8, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &1386926024 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1386926025} - m_Layer: 0 - m_Name: b_button_b - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1386926025 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1386926024} - serializedVersion: 2 - m_LocalRotation: {x: -0.073689476, y: -0.006897823, z: -0.010746658, w: 0.9971995} - m_LocalPosition: {x: -1.542123, y: 0.6515468, z: 0.2793523} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1364350287} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1398948550 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1398948551} - m_Layer: 0 - m_Name: b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1398948551 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1398948550} - serializedVersion: 2 - m_LocalRotation: {x: -4.5102807e-17, y: -1.0408341e-17, z: -4.1543e-41, w: 1} - m_LocalPosition: {x: -0.0132861305, y: 0.00174721, z: -0.01103058} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1652013589} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1406910095 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1406910096} - m_Layer: 0 - m_Name: right_oculus_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1406910096 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1406910095} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -1.11022e-18, y: -2.7755598e-19, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1425666925} - - {fileID: 2092017030} - - {fileID: 1888436365} - - {fileID: 733319711} - - {fileID: 1479416279} - - {fileID: 1849442770} - - {fileID: 1188279875} - m_Father: {fileID: 1030627235} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1417473758 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1417473759} - m_Layer: 0 - m_Name: b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1417473759 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1417473758} - serializedVersion: 2 - m_LocalRotation: {x: 5.5081567e-17, y: 0.09584575, z: 0.9953962, w: -6.68193e-17} - m_LocalPosition: {x: -0.0095, y: -0.0237522, z: -0.008600318} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 453504514} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1425666924 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1425666925} - m_Layer: 0 - m_Name: b_button_a - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1425666925 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1425666924} - serializedVersion: 2 - m_LocalRotation: {x: 1.7347238e-17, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.0031760607, y: 0.004118483, z: -0.009094926} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1406910096} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1430416874 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1430416875} - m_Layer: 0 - m_Name: b_button_a - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1430416875 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1430416874} - serializedVersion: 2 - m_LocalRotation: {x: 0.44977522, y: -0.44977522, z: 0.545621, w: 0.545621} - m_LocalPosition: {x: 0.00149173, y: 0.00511052, z: -0.00121661} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1585660501} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1434928075 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1434928076} - m_Layer: 0 - m_Name: prp00002questController_animrig:RIG_left_monterey_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1434928076 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1434928075} - serializedVersion: 2 - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 780419211} - m_Father: {fileID: 1099182011} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1443702460 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1443702461} - m_Layer: 0 - m_Name: b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1443702461 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1443702460} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.0134458, y: -0.000953069, z: -0.015630798} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 954293632} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1444089111 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1444089112} - m_Layer: 0 - m_Name: b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1444089112 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1444089111} - serializedVersion: 2 - m_LocalRotation: {x: -5.5511148e-17, y: 4.1633363e-17, z: -4.8572257e-17, w: 1} - m_LocalPosition: {x: 0.00494865, y: -0.0357376, z: -0.013387099} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 954293632} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1479416278 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1479416279} - m_Layer: 0 - m_Name: b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1479416279 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1479416278} - serializedVersion: 2 - m_LocalRotation: {x: 0.0028242967, y: -0.05819442, z: -0.010116533, w: 0.99825007} - m_LocalPosition: {x: -0.011773869, y: -0.0039231847, z: 0.02834368} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1406910096} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1486327840 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1486327841} - m_Layer: 0 - m_Name: right_laser_begin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1486327841 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1486327840} - serializedVersion: 2 - m_LocalRotation: {x: -0.0034610122, y: -0.056587048, z: -0.060950357, w: 0.9965295} - m_LocalPosition: {x: -0.009, y: -0.0032102852, z: 0.030869998} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 124167194} - m_Father: {fileID: 850487411} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1507467096 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1507467097} - - component: {fileID: 1507467098} - m_Layer: 0 - m_Name: right_oculus_controller_mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1507467097 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1507467096} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1030627235} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &1507467098 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1507467096} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 3742270179708143816, guid: 6fce4d906dba56f4bb507682dbb5b81d, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: -8344784108403131872, guid: c933168a9a0f1e04bb793786b96e2f4b, type: 3} - m_Bones: - - {fileID: 1406910096} - - {fileID: 1425666925} - - {fileID: 2092017030} - - {fileID: 1888436365} - - {fileID: 1479416279} - - {fileID: 1849442770} - - {fileID: 733319711} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1406910096} - m_AABB: - m_Center: {x: -0.00616638, y: -0.030066561, z: -0.020585023} - m_Extent: {x: 0.033926036, y: 0.041736547, z: 0.054627255} - m_DirtyAABB: 0 ---- !u!1 &1508935216 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1508935217} - m_Layer: 0 - m_Name: right_touch_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1508935217 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1508935216} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1913601627} - - {fileID: 1910657997} - - {fileID: 897623281} - - {fileID: 917200060} - - {fileID: 1098242103} - - {fileID: 449000872} - m_Father: {fileID: 988795634} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1515669832 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1515669833} - - component: {fileID: 1515669834} - m_Layer: 0 - m_Name: left_oculus_controller_mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1515669833 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1515669832} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 838779041} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &1515669834 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1515669832} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 8565634612894319375, guid: 2fadc56f841e8224ea1ff539811fc765, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 2703057380131705829, guid: 2b9768cc0be08784b91b7da60696ba29, type: 3} - m_Bones: - - {fileID: 1652013589} - - {fileID: 1528156303} - - {fileID: 652463990} - - {fileID: 1398948551} - - {fileID: 1624049229} - - {fileID: 751450152} - - {fileID: 764643065} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1652013589} - m_AABB: - m_Center: {x: 0.00616638, y: -0.029108923, z: -0.018820617} - m_Extent: {x: 0.033926036, y: 0.042694185, z: 0.05639166} - m_DirtyAABB: 0 ---- !u!1 &1516747082 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1516747083} - m_Layer: 0 - m_Name: b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1516747083 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1516747082} - serializedVersion: 2 - m_LocalRotation: {x: 0.030532418, y: 0.77378327, z: 0.6318173, w: -0.033677094} - m_LocalPosition: {x: 0.01177, y: -0.0039199996, z: 0.02834} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1637744436} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1517700843 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1517700844} - m_Layer: 0 - m_Name: b_button_x - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1517700844 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1517700843} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.005223348, y: 0.00064359006, z: -0.0130829} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 893703310} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1528156302 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1528156303} - m_Layer: 0 - m_Name: b_button_x - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1528156303 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1528156302} - serializedVersion: 2 - m_LocalRotation: {x: -1.3877785e-17, y: 3.4694465e-18, z: -1.5466e-41, w: 1} - m_LocalPosition: {x: 0.00303, y: 0.004263146, z: -0.009742662} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1652013589} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1537812378 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1537812379} - - component: {fileID: 1537812380} - m_Layer: 0 - m_Name: OculusTouchForQuest2RightModel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1537812379 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1537812378} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 584341815} - - {fileID: 923425838} - - {fileID: 1551154697} - m_Father: {fileID: 1321218334} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &1537812380 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1537812378} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 25b5eb0761edb6346b0b3444af76b55e, type: 3} - m_Controller: {fileID: 9100000, guid: 62a9d09916ac8bf4ba30ba4803d3503a, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &1547143787 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1547143788} - m_Layer: 0 - m_Name: left_b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1547143788 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1547143787} - serializedVersion: 2 - m_LocalRotation: {x: -0.07882118, y: -0.010384407, z: -0.02061734, w: 0.99662143} - m_LocalPosition: {x: -1.046803, y: 0.2482037, z: -1.1252} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 163848290} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1551154696 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1551154697} - m_Layer: 0 - m_Name: right_oculus_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1551154697 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1551154696} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1191860275} - - {fileID: 187059699} - - {fileID: 698316908} - - {fileID: 1665076049} - - {fileID: 2076636369} - - {fileID: 528987026} - m_Father: {fileID: 1537812379} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1572542996 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1572542997} - m_Layer: 0 - m_Name: b_hold1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1572542997 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1572542996} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.0123410495, y: -0.02742711, z: -0.0256397} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1319819626} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1576714352 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1576714353} - - component: {fileID: 1576714354} - m_Layer: 0 - m_Name: right_touch_controller_model_skel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1576714353 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1576714352} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 866660871} - - {fileID: 1367593695} - m_Father: {fileID: 439708784} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &1576714354 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1576714352} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: c3798d66af7bbe54bbfe22a3b302300b, type: 3} - m_Controller: {fileID: 9100000, guid: 9889b45bb24173a4d93c7f6b5a496800, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &1585660500 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1585660501} - m_Layer: 0 - m_Name: right_monterey_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1585660501 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1585660500} - serializedVersion: 2 - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1430416875} - - {fileID: 1712901796} - - {fileID: 1195051330} - - {fileID: 108111738} - - {fileID: 1314895581} - - {fileID: 1105993177} - m_Father: {fileID: 1268074399} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1617198458 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1617198459} - m_Layer: 0 - m_Name: right_laser_begin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1617198459 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1617198458} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.77154946, y: -0.028991602, z: 0.23054607} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1364350287} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1624049228 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1624049229} - m_Layer: 0 - m_Name: b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1624049229 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1624049228} - serializedVersion: 2 - m_LocalRotation: {x: 0.030532418, y: 0.77378327, z: 0.6318173, w: -0.033677094} - m_LocalPosition: {x: 0.01177, y: -0.0039199996, z: 0.02834} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1652013589} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1633560988 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1633560989} - - component: {fileID: 1633560990} - m_Layer: 0 - m_Name: l_controller_ply - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1633560989 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1633560988} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1638472893} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &1633560990 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1633560988} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 840110603815307103, guid: e878dcbefebb86f478a53130d09dd0ac, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 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: 32fbc8bcebb64584da5868aeeb086cda, type: 3} - m_Bones: - - {fileID: 453504514} - - {fileID: 1022948350} - - {fileID: 60761995} - - {fileID: 264365766} - - {fileID: 1417473759} - - {fileID: 1930423216} - - {fileID: 1829325346} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 453504514} - m_AABB: - m_Center: {x: -0.009499997, y: 0.01770607, z: -0.0011095628} - m_Extent: {x: 0.04527676, y: 0.05372102, z: 0.06648618} - m_DirtyAABB: 0 ---- !u!1 &1637744435 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1637744436} - m_Layer: 0 - m_Name: left_oculus_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1637744436 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1637744435} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: -2.7755578e-19, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1230039281} - - {fileID: 781887873} - - {fileID: 200186138} - - {fileID: 1136487187} - - {fileID: 1516747083} - - {fileID: 257245317} - - {fileID: 1347623182} - m_Father: {fileID: 635084207} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1637911180 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1637911181} - m_Layer: 0 - m_Name: prp00002questController_animrig:f_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1637911181 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1637911180} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 667649648} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1638055240 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1638055241} - - component: {fileID: 1638055242} - m_Layer: 0 - m_Name: MetaQuestTouchPlus_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1638055241 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1638055240} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1109270963} - - {fileID: 1961551771} - - {fileID: 465909181} - m_Father: {fileID: 1321218334} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &1638055242 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1638055240} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 2b1aaafc31655024394d83dc00911c1c, type: 3} - m_Controller: {fileID: 9100000, guid: 12e0d551f2089fc4380c1368a69a3512, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &1638472892 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1638472893} - - component: {fileID: 1638472894} - m_Layer: 0 - m_Name: OculusTouchForQuestAndRiftS_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1638472893 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1638472892} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1633560989} - - {fileID: 453504514} - - {fileID: 783816707} - m_Father: {fileID: 439708784} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &1638472894 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1638472892} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 32fbc8bcebb64584da5868aeeb086cda, type: 3} - m_Controller: {fileID: 9100000, guid: 92dd1ff21e711dc4b8b57eb39ab807ac, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &1639707668 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1639707669} - m_Layer: 0 - m_Name: b_button_x - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1639707669 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1639707668} - serializedVersion: 2 - m_LocalRotation: {x: -0.079715475, y: -0.006832741, z: -0.010788154, w: 0.9967359} - m_LocalPosition: {x: 0.5366125, y: 0.4256339, z: -0.9631782} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 163848290} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1645402473 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1645402474} - m_Layer: 0 - m_Name: left_b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1645402474 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1645402473} - serializedVersion: 2 - m_LocalRotation: {x: 0.04043698, y: -0.10925582, z: 0.008632264, w: 0.99315333} - m_LocalPosition: {x: 1.485478, y: -0.1985349, z: 2.472124} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 163848290} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1652013588 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1652013589} - m_Layer: 0 - m_Name: left_oculus_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1652013589 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1652013588} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: -2.7755578e-19, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1398948551} - - {fileID: 1528156303} - - {fileID: 652463990} - - {fileID: 764643065} - - {fileID: 1624049229} - - {fileID: 751450152} - - {fileID: 877131657} - m_Father: {fileID: 838779041} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1659863212 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1659863213} - m_Layer: 0 - m_Name: b_button_x - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1659863213 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1659863212} - serializedVersion: 2 - m_LocalRotation: {x: -0.545621, y: 0.545621, z: 0.44977522, w: 0.44977522} - m_LocalPosition: {x: -0.001491726, y: 0.0051105204, z: -0.0012166069} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 972557844} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1664183997 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1664183998} - m_Layer: 0 - m_Name: b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1664183998 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1664183997} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.01344579, y: -0.0009530687, z: -0.015630819} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 571685952} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1665076048 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1665076049} - m_Layer: 0 - m_Name: b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1665076049 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1665076048} - serializedVersion: 2 - m_LocalRotation: {x: 7.216449e-16, y: 8.326673e-17, z: -1.1102232e-16, w: 1} - m_LocalPosition: {x: 0.00935476, y: -0.00472433, z: 0.0027365324} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1551154697} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1671356704 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1671356705} - m_Layer: 0 - m_Name: prp00002questController_animrig:right_monterey_controller_rig - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1671356705 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1671356704} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 667649648} - m_Father: {fileID: 1268074399} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1672476683 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1672476684} - - component: {fileID: 1672476685} - m_Layer: 0 - m_Name: l_controller_ply - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1672476684 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1672476683} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2111569459} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &1672476685 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1672476683} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 840110603815307103, guid: e878dcbefebb86f478a53130d09dd0ac, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 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: 32fbc8bcebb64584da5868aeeb086cda, type: 3} - m_Bones: - - {fileID: 972557844} - - {fileID: 1265572077} - - {fileID: 590296140} - - {fileID: 1659863213} - - {fileID: 750824753} - - {fileID: 541866404} - - {fileID: 1136011897} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 972557844} - m_AABB: - m_Center: {x: -0.009499997, y: 0.01770607, z: -0.0011095628} - m_Extent: {x: 0.04527676, y: 0.05372102, z: 0.06648618} - m_DirtyAABB: 0 ---- !u!1 &1676571712 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1676571713} - m_Layer: 0 - m_Name: b_stick_IGNORE - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1676571713 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1676571712} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.00014841426, y: 0.019320462, z: 0.000010561931} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1755103502} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1684508963 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1684508964} - m_Layer: 0 - m_Name: LeftControllerInHandAnchor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1684508964 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1684508963} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2072927454} - m_Father: {fileID: 1327837341} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1689768681 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1689768682} - m_Layer: 0 - m_Name: b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1689768682 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1689768681} - serializedVersion: 2 - m_LocalRotation: {x: 5.5511148e-17, y: -1.8323017e-17, z: 4.0115476e-18, w: 1} - m_LocalPosition: {x: 0.0049906424, y: -0.009470632, z: 0.027257226} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 571685952} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1696461249 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1696461250} - m_Layer: 0 - m_Name: b_button03 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1696461250 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1696461249} - serializedVersion: 2 - m_LocalRotation: {x: -1.7347238e-17, y: 2.15808e-40, z: -5.5294307e-17, w: 1} - m_LocalPosition: {x: 0.01229044, y: -0.0007094415, z: -0.013889479} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 866660871} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1708555149 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1708555150} - m_Layer: 0 - m_Name: left_laser_begin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1708555150 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1708555149} - serializedVersion: 2 - m_LocalRotation: {x: -0.0034610122, y: 0.056587048, z: 0.060950357, w: 0.9965295} - m_LocalPosition: {x: 0.009, y: -0.0032102852, z: 0.030869998} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 48579662} - m_Father: {fileID: 909345353} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1709690970 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1709690971} - m_Layer: 0 - m_Name: left_laser_begin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1709690971 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1709690970} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.776366, y: 0.011044683, z: 0.20043069} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 163848290} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1709832377 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1709832378} - - component: {fileID: 1709832379} - m_Layer: 0 - m_Name: left_nub - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &1709832378 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1709832377} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 635084207} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &1709832379 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1709832377} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: b58fdf466c162d447913b955fc10ad96, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 9119531028308358715, guid: 2b9768cc0be08784b91b7da60696ba29, type: 3} - m_Bones: - - {fileID: 1637744436} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1637744436} - m_AABB: - m_Center: {x: -0.009029879, y: -0.064930744, z: -0.06743039} - m_Extent: {x: 0.0043483684, y: 0.0068749115, z: 0.006839171} - m_DirtyAABB: 0 ---- !u!1 &1712901795 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1712901796} - m_Layer: 0 - m_Name: b_button_b - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1712901796 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1712901795} - serializedVersion: 2 - m_LocalRotation: {x: 0.44977522, y: -0.44977522, z: 0.545621, w: 0.545621} - m_LocalPosition: {x: -0.0025457998, y: -0.008905827, z: 0.00086994097} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1585660501} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1716948724 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1716948725} - m_Layer: 0 - m_Name: b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1716948725 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1716948724} - serializedVersion: 2 - m_LocalRotation: {x: 6.1062277e-16, y: -5.5511148e-17, z: 2.775558e-17, w: 1} - m_LocalPosition: {x: -0.009354755, y: -0.004729963, z: 0.0027985969} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 893703310} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1724610290 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1724610291} - m_Layer: 0 - m_Name: b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1724610291 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1724610290} - serializedVersion: 2 - m_LocalRotation: {x: 5.5511148e-17, y: -1.8323017e-17, z: 4.0115476e-18, w: 1} - m_LocalPosition: {x: 0.0049906424, y: -0.009470632, z: 0.027257226} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 893703310} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1731712945 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1731712946} - m_Layer: 0 - m_Name: b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1731712946 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1731712945} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.01344579, y: -0.0009530687, z: -0.015630819} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 893703310} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1732055359 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1732055360} - - component: {fileID: 1732055361} - m_Layer: 0 - m_Name: oculus_controller_l_MeshX - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1732055360 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1732055359} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 493736118} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &1732055361 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1732055359} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: -4540382836535262998, guid: 2ea89d6e4d9c45940908e3f337989a9a, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: -1318633201023460034, guid: 2b1aaafc31655024394d83dc00911c1c, type: 3} - m_Bones: - - {fileID: 163848290} - - {fileID: 1547143788} - - {fileID: 1645402474} - - {fileID: 2094138277} - - {fileID: 1936281632} - - {fileID: 1639707669} - - {fileID: 486566877} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 163848290} - m_AABB: - m_Center: {x: 0.6778891, y: -3.0013652, z: -1.9480774} - m_Extent: {x: 3.368389, y: 4.3300548, z: 5.2953033} - m_DirtyAABB: 0 ---- !u!1 &1753501145 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1753501146} - - component: {fileID: 1753501147} - m_Layer: 0 - m_Name: left_touch_controller_model_skel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1753501146 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1753501145} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1319819626} - - {fileID: 832165401} - m_Father: {fileID: 1321218334} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &1753501147 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1753501145} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: c3ba18e9fa5e9104098cbdbb3e23a5b4, type: 3} - m_Controller: {fileID: 9100000, guid: 3c08ce434693a4740bb5d256ffa5f8d1, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &1755103501 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1755103502} - m_Layer: 0 - m_Name: b_stick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1755103502 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1755103501} - serializedVersion: 2 - m_LocalRotation: {x: -1.2246469e-16, y: -3.066587e-17, z: -1.0907112e-16, w: 1} - m_LocalPosition: {x: -0.0106373895, y: -0.009418557, z: 0.00497835} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1676571713} - m_Father: {fileID: 661535952} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1803943100 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1803943101} - m_Layer: 0 - m_Name: b_stick_IGNORE - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1803943101 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1803943100} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.00014843122, y: 0.019320462, z: 0.000010630727} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1098242103} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1818607059 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1818607060} - - component: {fileID: 1818607061} - m_Layer: 0 - m_Name: OculusTouchForQuest2LeftModel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1818607060 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1818607059} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2140601873} - - {fileID: 650456871} - - {fileID: 893703310} - m_Father: {fileID: 1321218334} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &1818607061 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1818607059} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 8b83018900d13bb4f8e0ad895cb004e5, type: 3} - m_Controller: {fileID: 9100000, guid: 4a8e946ed663e4a4db0f537e2965635d, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &1829325345 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1829325346} - m_Layer: 0 - m_Name: b_thumbstick - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1829325346 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1829325345} - serializedVersion: 2 - m_LocalRotation: {x: -0.064701416, y: 0.7041404, z: -0.064701416, w: 0.7041404} - m_LocalPosition: {x: -0.018, y: -0.010134229, z: -0.004163745} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 453504514} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1845760672 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1845760673} - - component: {fileID: 1845760674} - - component: {fileID: 1845760675} - m_Layer: 0 - m_Name: LeftEyeAnchor - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1845760673 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1845760672} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 252284429} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!20 &1845760674 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1845760672} - 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_GateFitMode: 2 - m_FOVAxisMode: 0 - m_Iso: 200 - m_ShutterSpeed: 0.005 - m_Aperture: 16 - m_FocusDistance: 10 - m_FocalLength: 50 - m_BladeCount: 5 - m_Curvature: {x: 2, y: 11} - m_BarrelClipping: 0.25 - m_Anamorphism: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 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_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!114 &1845760675 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1845760672} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_RenderShadows: 1 - m_RequiresDepthTextureOption: 2 - m_RequiresOpaqueTextureOption: 2 - m_CameraType: 0 - m_Cameras: [] - m_RendererIndex: -1 - m_VolumeLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_VolumeTrigger: {fileID: 0} - m_VolumeFrameworkUpdateModeOption: 2 - m_RenderPostProcessing: 0 - m_Antialiasing: 0 - m_AntialiasingQuality: 2 - m_StopNaN: 0 - m_Dithering: 0 - m_ClearDepth: 1 - m_AllowXRRendering: 1 - m_AllowHDROutput: 1 - m_UseScreenCoordOverride: 0 - m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} - m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} - m_RequiresDepthTexture: 0 - m_RequiresColorTexture: 0 - m_TaaSettings: - m_Quality: 3 - m_FrameInfluence: 0.1 - m_JitterScale: 1 - m_MipBias: 0 - m_VarianceClampScale: 0.9 - m_ContrastAdaptiveSharpening: 0 - m_Version: 2 ---- !u!1 &1849442769 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1849442770} - m_Layer: 0 - m_Name: b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1849442770 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1849442769} - serializedVersion: 2 - m_LocalRotation: {x: 0.023553137, y: -0.02494789, z: 0.05215005, w: 0.99804974} - m_LocalPosition: {x: -0.006004659, y: -0.02616301, z: -0.013198219} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1406910096} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1854300286 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1854300287} - - component: {fileID: 1854300288} - m_Layer: 0 - m_Name: left_batteryIndicatorQuad - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &1854300287 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1854300286} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 838779041} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &1854300288 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1854300286} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 3abd38e0d18db6c49b2c96961d69d024, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 676953819249935456, guid: 2b9768cc0be08784b91b7da60696ba29, type: 3} - m_Bones: - - {fileID: 1652013589} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1652013589} - m_AABB: - m_Center: {x: 0.03454852, y: 0.0005114786, z: 0.00007304177} - m_Extent: {x: 0.0009967163, y: 0.0020704702, z: 0.004453361} - m_DirtyAABB: 0 ---- !u!1 &1888436364 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1888436365} - m_Layer: 0 - m_Name: b_button_oculus - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1888436365 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1888436364} - serializedVersion: 2 - m_LocalRotation: {x: 3.4694465e-18, y: 6.938894e-18, z: -4.336809e-19, w: 1} - m_LocalPosition: {x: 0.013279789, y: 0.0018553109, z: -0.01104566} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1406910096} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1910657996 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1910657997} - m_Layer: 0 - m_Name: b_button02 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1910657997 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1910657996} - serializedVersion: 2 - m_LocalRotation: {x: 4.1633363e-17, y: -2.0816682e-17, z: 8.673617e-19, w: 1} - m_LocalPosition: {x: -0.009152712, y: 0.00003091648, z: 0.0054823146} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1508935217} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1913601626 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1913601627} - m_Layer: 0 - m_Name: b_button01 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1913601627 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1913601626} - serializedVersion: 2 - m_LocalRotation: {x: -5.5728e-17, y: -2.7430318e-17, z: -4.336809e-19, w: 1} - m_LocalPosition: {x: -0.001917077, y: -0.00091214647, z: -0.0073837414} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1508935217} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1927981007 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1927981008} - m_Layer: 0 - m_Name: prp00002questController_animrig:f_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1927981008 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1927981007} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2119754371} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1930423215 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1930423216} - m_Layer: 0 - m_Name: b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1930423216 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1930423215} - serializedVersion: 2 - m_LocalRotation: {x: 0.45214623, y: -0.4521571, z: 0.5436488, w: 0.54365766} - m_LocalPosition: {x: -0.0031085508, y: -0.0009791885, z: -0.01798302} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 453504514} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1936281631 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1936281632} - m_Layer: 0 - m_Name: b_button_y - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1936281632 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1936281631} - serializedVersion: 2 - m_LocalRotation: {x: -0.073689476, y: -0.006897823, z: -0.010746658, w: 0.9971995} - m_LocalPosition: {x: 1.560742, y: 0.5965641, z: 0.3205864} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 163848290} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1937580131 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1937580132} - m_Layer: 0 - m_Name: b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1937580132 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1937580131} - serializedVersion: 2 - m_LocalRotation: {x: 0.023553137, y: -0.02494789, z: 0.05215005, w: 0.99804974} - m_LocalPosition: {x: -0.006004659, y: -0.02616301, z: -0.013198219} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 688196032} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1951526995 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1951526996} - m_Layer: 0 - m_Name: b_button_y - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1951526996 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1951526995} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.01268435, y: 0.0012365379, z: 0.00053572666} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 893703310} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1961551770 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1961551771} - m_Layer: 0 - m_Name: left_oculus_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1961551771 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1961551770} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1035006949} - - {fileID: 2051700383} - - {fileID: 331750195} - - {fileID: 374271391} - - {fileID: 693363248} - - {fileID: 1217447103} - - {fileID: 974221651} - m_Father: {fileID: 1638055241} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2034999140 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2034999141} - - component: {fileID: 2034999142} - m_Layer: 0 - m_Name: r_controller_ply - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2034999141 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2034999140} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 344534119} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &2034999142 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2034999140} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 840110603815307103, guid: e878dcbefebb86f478a53130d09dd0ac, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 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: 37ba10a26a648144fa2390c8adfb2c8a, type: 3} - m_Bones: - - {fileID: 1269799604} - - {fileID: 973146857} - - {fileID: 1207989675} - - {fileID: 517763056} - - {fileID: 277539700} - - {fileID: 205072693} - - {fileID: 1197451601} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1269799604} - m_AABB: - m_Center: {x: 0.009499997, y: 0.01770607, z: -0.0011095554} - m_Extent: {x: 0.04527676, y: 0.05372102, z: 0.06648618} - m_DirtyAABB: 0 ---- !u!1 &2049897751 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2049897752} - - component: {fileID: 2049897753} - m_Layer: 0 - m_Name: right_batteryIndicatorQuad_MeshX - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &2049897752 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2049897751} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1384294388} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &2049897753 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2049897751} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 3abd38e0d18db6c49b2c96961d69d024, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 1201069849589669138, guid: deed68a7fd2e9234899298cf80fae7ad, type: 3} - m_Bones: - - {fileID: 998137354} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 998137354} - m_AABB: - m_Center: {x: -3.5085695, y: 0.08475034, z: -0.17565808} - m_Extent: {x: 0.10651159, y: 0.18774159, z: 0.45612463} - m_DirtyAABB: 0 ---- !u!1 &2051700382 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2051700383} - m_Layer: 0 - m_Name: b_button_y - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2051700383 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2051700382} - serializedVersion: 2 - m_LocalRotation: {x: -0.073689476, y: -0.006897823, z: -0.010746658, w: 0.9971995} - m_LocalPosition: {x: 1.560742, y: 0.5965641, z: 0.3205864} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1961551771} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2065304042 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2065304043} - - component: {fileID: 2065304044} - m_Layer: 0 - m_Name: oculus_controller_r_MeshX - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2065304043 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2065304042} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1384294388} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &2065304044 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2065304042} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 8525165401333341520, guid: bbb35201095f6bf499fe2cd30ef3b6c7, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 1551496305373071002, guid: deed68a7fd2e9234899298cf80fae7ad, type: 3} - m_Bones: - - {fileID: 998137354} - - {fileID: 1073733069} - - {fileID: 117544908} - - {fileID: 778318408} - - {fileID: 814102143} - - {fileID: 1001537643} - - {fileID: 912704849} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 998137354} - m_AABB: - m_Center: {x: -0.6778891, y: -3.017043, z: -1.9610169} - m_Extent: {x: 3.368389, y: 4.314377, z: 5.282364} - m_DirtyAABB: 0 ---- !u!1 &2072927453 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2072927454} - m_Layer: 0 - m_Name: LeftHandOnControllerAnchor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2072927454 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2072927453} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1684508964} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2076636368 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2076636369} - m_Layer: 0 - m_Name: b_trigger_front - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2076636369 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2076636368} - serializedVersion: 2 - m_LocalRotation: {x: -3.13844e-39, y: 4.529797e-16, z: -9.259085e-17, w: 1} - m_LocalPosition: {x: -0.00499064, y: -0.00947063, z: 0.027257198} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1551154697} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2092017029 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2092017030} - m_Layer: 0 - m_Name: b_button_b - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2092017030 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2092017029} - serializedVersion: 2 - m_LocalRotation: {x: 1.9081955e-17, y: 1.174176e-39, z: -1.6637081e-16, w: 1} - m_LocalPosition: {x: -0.013317339, y: 0.006368489, z: 0.003019979} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1406910096} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2094138276 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2094138277} - m_Layer: 0 - m_Name: left_b_trigger_grip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2094138277 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2094138276} - serializedVersion: 2 - m_LocalRotation: {x: 0.10486942, y: -0.07999015, z: -0.12395867, w: 0.9834827} - m_LocalPosition: {x: 1.032056, y: -2.177939, z: 1.289754} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 163848290} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2104060321 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2104060322} - - component: {fileID: 2104060323} - m_Layer: 0 - m_Name: left_batteryIndicatorQuad_MeshX - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &2104060322 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2104060321} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 493736118} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &2104060323 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2104060321} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 3abd38e0d18db6c49b2c96961d69d024, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4856478432021604258, guid: 2b1aaafc31655024394d83dc00911c1c, type: 3} - m_Bones: - - {fileID: 163848290} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 163848290} - m_AABB: - m_Center: {x: 3.5085697, y: 0.084750324, z: -0.17565808} - m_Extent: {x: 0.10651207, y: 0.1877416, z: 0.45612457} - m_DirtyAABB: 0 ---- !u!1 &2111569458 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2111569459} - - component: {fileID: 2111569460} - m_Layer: 0 - m_Name: OculusTouchForQuestAndRiftS_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2111569459 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2111569458} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1672476684} - - {fileID: 972557844} - - {fileID: 1099182011} - m_Father: {fileID: 1321218334} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!95 &2111569460 -Animator: - serializedVersion: 7 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2111569458} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 32fbc8bcebb64584da5868aeeb086cda, type: 3} - m_Controller: {fileID: 9100000, guid: 92dd1ff21e711dc4b8b57eb39ab807ac, type: 2} - m_CullingMode: 1 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_AnimatePhysics: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &2119754370 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2119754371} - m_Layer: 0 - m_Name: prp00002questController_animrig:RIG_left_monterey_controller_world - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2119754371 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2119754370} - serializedVersion: 2 - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1927981008} - m_Father: {fileID: 783816707} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2138686692 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2138686693} - m_Layer: 0 - m_Name: b_stick_IGNORE - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2138686693 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2138686692} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.00014843122, y: 0.019320462, z: 0.000010630727} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 807660792} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2140601872 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2140601873} - - component: {fileID: 2140601874} - m_Layer: 0 - m_Name: l_rainier_mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2140601873 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2140601872} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1818607060} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &2140601874 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2140601872} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 8902039159736550116, guid: ad2069ba7fe0238489d3531897cea8cf, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 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: 8b83018900d13bb4f8e0ad895cb004e5, type: 3} - m_Bones: - - {fileID: 893703310} - - {fileID: 1731712946} - - {fileID: 1724610291} - - {fileID: 54897028} - - {fileID: 1951526996} - - {fileID: 1517700844} - - {fileID: 1716948725} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 893703310} - m_AABB: - m_Center: {x: 0.008180305, y: -0.0053694975, z: -0.020344593} - m_Extent: {x: 0.046097822, y: 0.067293465, z: 0.0557265} - m_DirtyAABB: 0 ---- !u!4 &973052204025592260 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3180484904599187134} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1107174352589629710 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3180484904599187134} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 09420e86413e14ef6a1192b572643886, type: 3} - m_Name: - m_EditorClassIdentifier: - markerPrefab: {fileID: 7985637374133528724, guid: f607a6951ee6b47e69cbb77c038044d6, type: 3} - poolSize: 2 ---- !u!114 &1933871658830630678 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3180484904599187134} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ef9a7893e57c04c0db4114c70954b915, type: 3} - m_Name: - m_EditorClassIdentifier: meta.xr.mrutilitykit::Meta.XR.PassthroughCameraAccess - CameraPosition: 0 - RequestedResolution: {x: 1280, y: 960} - TargetMaterial: {fileID: 0} - _texturePropertyName: ---- !u!1 &3180484904599187134 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 973052204025592260} - - component: {fileID: 8475768769397855949} - - component: {fileID: 6783531803578071382} - - component: {fileID: 1107174352589629710} - - component: {fileID: 1933871658830630678} - - component: {fileID: 7216147596602060347} - - component: {fileID: 6473000530874184150} - m_Layer: 0 - m_Name: QRCodeScanner - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &6473000530874184150 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3180484904599187134} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2d8affdff7ba47d892cc734baac9ac71, type: 3} - m_Name: - m_EditorClassIdentifier: - CustomTrackingSpace: {fileID: 0} ---- !u!114 &6783531803578071382 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3180484904599187134} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1516bc9b09ffb466f819a153f8024135, type: 3} - m_Name: - m_EditorClassIdentifier: - scanner: {fileID: 8475768769397855949} - envRaycastManager: {fileID: 6473000530874184150} - raycastMode: 1 ---- !u!114 &7216147596602060347 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3180484904599187134} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 71a155ece80369d4e99bdaf5e59169b5, type: 3} - m_Name: - m_EditorClassIdentifier: - _occlusionShadersMode: 2 - _removeHands: 0 - CustomTrackingSpace: {fileID: 0} - k__BackingField: [] ---- !u!114 &8475768769397855949 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3180484904599187134} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c4197e2a9ccb34295a90f328e560ab82, type: 3} - m_Name: - m_EditorClassIdentifier: - sampleFactor: 2 - detectionMode: 0 - downsampleShader: {fileID: 7200000, guid: 197eeaef5a6cb4347b600c9916e5dea8, type: 3} - cameraAccess: {fileID: 1933871658830630678} ---- !u!1660057539 &9223372036854775807 -SceneRoots: - m_ObjectHideFlags: 0 - m_Roots: - - {fileID: 410087041} - - {fileID: 553221848} - - {fileID: 911098802} - - {fileID: 973052204025592260} diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/QRCodeTracking.unity.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/QRCodeTracking.unity.meta deleted file mode 100644 index 72c7355d..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/QRCodeTracking.unity.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 987cb8b6148ad48e2882cf1a7a847068 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Resources.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Resources.meta deleted file mode 100644 index c5276f79..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Resources.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 242e772acac664b46b26f827a1048c89 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Resources/Downsample.compute b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Resources/Downsample.compute deleted file mode 100644 index 0da06312..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Resources/Downsample.compute +++ /dev/null @@ -1,33 +0,0 @@ -#pragma kernel CSMain - -// Input texture (read-only) -Texture2D _Input; -// Output texture (single channel grayscale) -RWTexture2D _Output; - -// Dimensions of the input and output textures. -int _InputWidth; -int _InputHeight; -int _OutputWidth; -int _OutputHeight; - -[numthreads(8,8,1)] -void CSMain (uint3 id : SV_DispatchThreadID) -{ - if (id.x >= _OutputWidth || id.y >= _OutputHeight) - return; - - // Map output pixel coordinates back to input coordinates. - float ratioX = (float)_InputWidth / _OutputWidth; - float ratioY = (float)_InputHeight / _OutputHeight; - int inputX = (int)(id.x * ratioX); - int inputY = (int)(id.y * ratioY); - - // Load the input pixel. - float4 color = _Input.Load(int3(inputX, inputY, 0)); - // Compute grayscale value (assumes input color is in [0,1]). - float gray = dot(color.rgb, float3(0.299, 0.587, 0.114)); - - // Write out the grayscale value. - _Output[int2(id.x, id.y)] = gray; -} diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Resources/Downsample.compute.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Resources/Downsample.compute.meta deleted file mode 100644 index fa917992..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Resources/Downsample.compute.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 197eeaef5a6cb4347b600c9916e5dea8 -ComputeShaderImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts.meta deleted file mode 100644 index 54c93357..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e5071812e48044f6b9091cec8f161fbb -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/Editor.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/Editor.meta deleted file mode 100644 index 3b08085c..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3cfe634de4f694b48957e5962e9a02ca -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/Editor/ZXingDefineSymbolChecker.cs b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/Editor/ZXingDefineSymbolChecker.cs deleted file mode 100644 index cfcf770a..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/Editor/ZXingDefineSymbolChecker.cs +++ /dev/null @@ -1,73 +0,0 @@ -#if UNITY_EDITOR -using System; -using UnityEditor; -using UnityEditor.Build; -using UnityEngine; -using System.Linq; - -[InitializeOnLoad] -public static class ZXingDefineSymbolChecker -{ - static ZXingDefineSymbolChecker() - { - EditorApplication.delayCall += UpdateZXingDefine; - } - - [MenuItem("Tools/Update ZXing Define Symbol")] - public static void UpdateZXingDefine() - { - var hasZXing = HasZXingDLL(); - - var targets = new[] - { - NamedBuildTarget.Standalone, - NamedBuildTarget.Android, - NamedBuildTarget.iOS, - }; - - foreach (var target in targets) - { - try - { - var defines = PlayerSettings.GetScriptingDefineSymbols(target); - var defineList = defines.Split(';') - .Select(s => s.Trim()) - .Where(s => !string.IsNullOrEmpty(s)) - .ToList(); - - var symbolExists = defineList.Contains("ZXING_ENABLED"); - - switch (hasZXing) - { - case true when !symbolExists: - defineList.Add("ZXING_ENABLED"); - Debug.Log($"[ZXingDefineSymbolChecker] Added ZXING_ENABLED for {target}"); - break; - case false when symbolExists: - defineList.Remove("ZXING_ENABLED"); - Debug.Log($"[ZXingDefineSymbolChecker] Removed ZXING_ENABLED for {target}"); - break; - } - - var newDefines = string.Join(";", defineList); - PlayerSettings.SetScriptingDefineSymbols(target, newDefines); - } - catch (System.Exception ex) - { - Debug.LogWarning($"[ZXingDefineSymbolChecker] Could not update define for target {target}: {ex.Message}"); - } - } - } - - private static bool HasZXingDLL() - { - const string typeName = "ZXing.QrCode.QRCodeReader"; - - foreach (var asm in AppDomain.CurrentDomain.GetAssemblies()) - { - if (asm.GetType(typeName, throwOnError: false) != null) return true; - } - return false; - } -} -#endif \ No newline at end of file diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/Editor/ZXingDefineSymbolChecker.cs.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/Editor/ZXingDefineSymbolChecker.cs.meta deleted file mode 100644 index aaef9af5..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/Editor/ZXingDefineSymbolChecker.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: aa1b67ae99de949909fe16a5ff5755e4 \ No newline at end of file diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/QrCodeDisplayManager.cs b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/QrCodeDisplayManager.cs deleted file mode 100644 index 4310a23b..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/QrCodeDisplayManager.cs +++ /dev/null @@ -1,227 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; -using Meta.XR; - -public class QrCodeDisplayManager : MonoBehaviour -{ -#if ZXING_ENABLED - private QrCodeScanner _scanner; - private EnvironmentRaycastManager _envRaycastManager; - private readonly Dictionary _activeMarkers = new(); - - private enum QrRaycastMode - { - CenterOnly, - PerCorner - } - - [SerializeField] private QrRaycastMode raycastMode = QrRaycastMode.PerCorner; - - private void Awake() - { - _scanner = GetComponent(); - _envRaycastManager = GetComponent(); - } - - private void Update() => RefreshMarkers(); - - private async void RefreshMarkers() - { - if (!_envRaycastManager || !_scanner) - { - return; - } - - var qrResults = await _scanner.ScanFrameAsync(); - if (qrResults == null || qrResults.Length == 0) - { - CleanupInactiveMarkers(); - return; - } - - foreach (var qrResult in qrResults) - { - if (!TryBuildMarkerPose(qrResult, out var pose, out var scale)) - { - continue; - } - - var marker = GetOrCreateMarker(qrResult.text); - if (!marker) - { - continue; - } - - marker.UpdateMarker(pose.position, pose.rotation, scale, qrResult.text); - } - - CleanupInactiveMarkers(); - } - - private static Vector2 ToViewport(Vector2 uv) => new(Mathf.Clamp01(uv.x), Mathf.Clamp01(uv.y)); - - private static Ray BuildWorldRay(QrCodeResult result, Vector2 uv) - { - var viewport = ToViewport(uv); - var intrinsics = result.Intrinsics; - var sensorResolution = (Vector2)intrinsics.SensorResolution; - var currentResolution = (Vector2)result.captureResolution; - if (currentResolution == Vector2.zero) - { - currentResolution = sensorResolution; - } - - var crop = ComputeSensorCrop(sensorResolution, currentResolution); - var sensorPoint = new Vector2( - crop.x + crop.width * viewport.x, - crop.y + crop.height * viewport.y); - - var localDirection = new Vector3( - (sensorPoint.x - intrinsics.PrincipalPoint.x) / intrinsics.FocalLength.x, - (sensorPoint.y - intrinsics.PrincipalPoint.y) / intrinsics.FocalLength.y, - 1f).normalized; - - var worldDirection = result.cameraPose.rotation * localDirection; - return new Ray(result.cameraPose.position, worldDirection); - } - - private static Rect ComputeSensorCrop(Vector2 sensorResolution, Vector2 currentResolution) - { - if (sensorResolution == Vector2.zero) - { - return new Rect(0, 0, currentResolution.x, currentResolution.y); - } - - var scaleFactor = new Vector2( - currentResolution.x / sensorResolution.x, - currentResolution.y / sensorResolution.y); - var maxScale = Mathf.Max(scaleFactor.x, scaleFactor.y); - if (maxScale <= 0) - { - maxScale = 1f; - } - scaleFactor /= maxScale; - - return new Rect( - sensorResolution.x * (1f - scaleFactor.x) * 0.5f, - sensorResolution.y * (1f - scaleFactor.y) * 0.5f, - sensorResolution.x * scaleFactor.x, - sensorResolution.y * scaleFactor.y); - } - - private static Vector3 ProjectOntoPlane(Plane plane, Ray ray, float fallbackDistance) - { - return plane.Raycast(ray, out var planeDistance) - ? ray.GetPoint(planeDistance) - : ray.GetPoint(fallbackDistance); - } - - private bool TryBuildMarkerPose(QrCodeResult result, out Pose pose, out Vector3 scale) - { - pose = default; - scale = default; - - if (result?.corners == null || result.corners.Length < 4) - { - return false; - } - - var count = result.corners.Length; - var uvs = new Vector2[count]; - for (var i = 0; i < count; i++) - { - uvs[i] = new Vector2(result.corners[i].x, result.corners[i].y); - } - - var centerUV = Vector2.zero; - foreach (var uv in uvs) - { - centerUV += uv; - } - centerUV /= count; - - var centerRay = BuildWorldRay(result, centerUV); - if (!_envRaycastManager.Raycast(centerRay, out var centerHit)) - { - return false; - } - - var center = centerHit.point; - var distance = Vector3.Distance(centerRay.origin, center); - var plane = new Plane(centerHit.normal, centerHit.point); - var worldCorners = new Vector3[count]; - - for (var i = 0; i < count; i++) - { - var ray = BuildWorldRay(result, uvs[i]); - if (raycastMode == QrRaycastMode.PerCorner && _envRaycastManager.Raycast(ray, out var cornerHit)) - { - worldCorners[i] = cornerHit.point; - } - else - { - worldCorners[i] = ProjectOntoPlane(plane, ray, distance); - } - } - - center = Vector3.zero; - foreach (var c in worldCorners) - { - center += c; - } - center /= count; - - var up = (worldCorners[1] - worldCorners[0]).normalized; - var right = (worldCorners[2] - worldCorners[1]).normalized; - var normal = -Vector3.Cross(up, right).normalized; - var rotation = Quaternion.LookRotation(normal, up); - - var width = Vector3.Distance(worldCorners[0], worldCorners[1]); - var height = Vector3.Distance(worldCorners[0], worldCorners[3]); - var scaleFactor = 1.5f; - scale = new Vector3(width * scaleFactor, height * scaleFactor, 1f); - pose = new Pose(center, rotation); - return true; - } - - private MarkerController GetOrCreateMarker(string key) - { - if (_activeMarkers.TryGetValue(key, out var marker)) - { - return marker; - } - - var markerGo = MarkerPool.Instance ? MarkerPool.Instance.GetMarker() : null; - if (!markerGo) - { - return null; - } - - marker = markerGo.GetComponent(); - if (!marker) - { - return null; - } - - _activeMarkers[key] = marker; - return marker; - } - - private void CleanupInactiveMarkers() - { - var keysToRemove = new List(); - foreach (var kvp in _activeMarkers) - { - if (!kvp.Value || !kvp.Value.gameObject.activeSelf) - { - keysToRemove.Add(kvp.Key); - } - } - - foreach (var key in keysToRemove) - { - _activeMarkers.Remove(key); - } - } -#endif -} diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/QrCodeDisplayManager.cs.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/QrCodeDisplayManager.cs.meta deleted file mode 100644 index 5dcb8680..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/QrCodeDisplayManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1516bc9b09ffb466f819a153f8024135 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/QrCodeScanner.cs b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/QrCodeScanner.cs deleted file mode 100644 index b1f3d0e2..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/QrCodeScanner.cs +++ /dev/null @@ -1,250 +0,0 @@ -using System.Collections.Generic; -using System.Threading.Tasks; -using UnityEngine.Rendering; -using UnityEngine; -using Meta.XR; -using System; -#if ZXING_ENABLED -using ZXing; -using ZXing.Common; -using ZXing.QrCode; -using ZXing.Multi; -#endif - -public enum QrCodeDetectionMode -{ - Single, - Multiple -} - -[Serializable] -public class QrCodeResult -{ - public string text; - public Vector3[] corners; - public Pose cameraPose; - public PassthroughCameraAccess.CameraIntrinsics Intrinsics; - public Vector2Int captureResolution; -} - -public class QrCodeScanner : MonoBehaviour -{ -#if ZXING_ENABLED - [SerializeField] private int sampleFactor = 2; - [SerializeField] private QrCodeDetectionMode detectionMode = QrCodeDetectionMode.Single; - - private PassthroughCameraAccess _cameraAccess; - private RenderTexture _downsampledTexture; - private ComputeShader _downsampleShader; - private QRCodeReader _qrReader; - private bool _isScanning; - - private static readonly int Input1 = Shader.PropertyToID("_Input"); - private static readonly int Output = Shader.PropertyToID("_Output"); - private static readonly int InputWidth = Shader.PropertyToID("_InputWidth"); - private static readonly int InputHeight = Shader.PropertyToID("_InputHeight"); - private static readonly int OutputWidth = Shader.PropertyToID("_OutputWidth"); - private static readonly int OutputHeight = Shader.PropertyToID("_OutputHeight"); - - private struct CaptureFrame - { - public Texture Texture; - public Pose Pose; - public PassthroughCameraAccess.CameraIntrinsics Intrinsics; - public Vector2Int Resolution; - } - - private void Awake() - { - _cameraAccess = GetComponent(); - - _downsampleShader = Resources.Load($"Downsample"); - if (_downsampleShader == null) - { - Debug.LogError("Downsample.compute not found in a Resources folder."); - } - - _qrReader = new QRCodeReader(); - } - - private void OnDestroy() - { - if (_downsampledTexture == null) return; - _downsampledTexture.Release(); - Destroy(_downsampledTexture); - } - - public async Task ScanFrameAsync() - { - if (_isScanning || !_downsampleShader) return Array.Empty(); - - _isScanning = true; - try - { - var frame = await AcquireFrameAsync(); - if (frame == null) - { - return Array.Empty(); - } - - var (targetWidth, targetHeight) = GetTargetDimensions(frame.Value.Texture); - if (!EnsureDownsampleTarget(targetWidth, targetHeight)) - { - return Array.Empty(); - } - - DispatchDownsample(frame.Value.Texture, targetWidth, targetHeight); - var grayBytes = await ReadPixelsAsync(_downsampledTexture); - if (grayBytes == null || grayBytes.Length == 0) - { - return Array.Empty(); - } - - var decoded = await Task.Run(() => DecodeFrame(frame.Value, grayBytes, targetWidth, targetHeight)); - return decoded ?? Array.Empty(); - } - finally - { - _isScanning = false; - } - } - - private QrCodeResult ProcessDecodeResult(Result decodeResult, int targetWidth, int targetHeight, CaptureFrame frame) - { - var points = decodeResult.ResultPoints; - var uvCorners = new Vector3[points.Length]; - for (var i = 0; i < points.Length; i++) - { - uvCorners[i] = new Vector3(points[i].X / targetWidth, points[i].Y / targetHeight, 0); - } - - return new QrCodeResult - { - text = decodeResult.Text, - corners = uvCorners, - cameraPose = frame.Pose, - Intrinsics = frame.Intrinsics, - captureResolution = frame.Resolution - }; - } - - private Task ReadPixelsAsync(RenderTexture rt) - { - var tcs = new TaskCompletionSource(); - - AsyncGPUReadback.Request(rt, 0, TextureFormat.R8, request => - { - if (request.hasError) - { - tcs.SetException(new Exception("GPU readback error.")); - } - else - { - tcs.SetResult(request.GetData().ToArray()); - } - }); - return tcs.Task; - } - - private async Task AcquireFrameAsync() - { - while (true) - { - if (_cameraAccess && _cameraAccess.IsPlaying) - { - var texture = _cameraAccess.GetTexture(); - if (texture) - { - return new CaptureFrame - { - Texture = texture, - Pose = _cameraAccess.GetCameraPose(), - Intrinsics = _cameraAccess.Intrinsics, - Resolution = _cameraAccess.CurrentResolution - }; - } - } - await Task.Delay(16); - } - } - - private (int width, int height) GetTargetDimensions(Texture texture) - { - var divisor = Mathf.Max(1, sampleFactor); - return (Mathf.Max(1, texture.width / divisor), Mathf.Max(1, texture.height / divisor)); - } - - private bool EnsureDownsampleTarget(int width, int height) - { - if (_downsampledTexture && _downsampledTexture.width == width && _downsampledTexture.height == height) - { - return true; - } - - if (_downsampledTexture) - { - _downsampledTexture.Release(); - } - - _downsampledTexture = new RenderTexture(width, height, 0, RenderTextureFormat.R8) - { - enableRandomWrite = true - }; - _downsampledTexture.Create(); - return true; - } - - private void DispatchDownsample(Texture source, int targetWidth, int targetHeight) - { - var kernel = _downsampleShader.FindKernel("CSMain"); - _downsampleShader.SetTexture(kernel, Input1, source); - _downsampleShader.SetTexture(kernel, Output, _downsampledTexture); - _downsampleShader.SetInt(InputWidth, source.width); - _downsampleShader.SetInt(InputHeight, source.height); - _downsampleShader.SetInt(OutputWidth, targetWidth); - _downsampleShader.SetInt(OutputHeight, targetHeight); - - var threadGroupsX = Mathf.CeilToInt(targetWidth / 8f); - var threadGroupsY = Mathf.CeilToInt(targetHeight / 8f); - _downsampleShader.Dispatch(kernel, threadGroupsX, threadGroupsY, 1); - } - - private QrCodeResult[] DecodeFrame(CaptureFrame frame, byte[] grayBytes, int targetWidth, int targetHeight) - { - try - { - var luminanceSource = new RGBLuminanceSource(grayBytes, targetWidth, targetHeight, RGBLuminanceSource.BitmapFormat.Gray8); - var binaryBitmap = new BinaryBitmap(new HybridBinarizer(luminanceSource)); - - if (detectionMode == QrCodeDetectionMode.Single) - { - var decodeResult = _qrReader.decode(binaryBitmap); - if (decodeResult != null) - { - return new[] { ProcessDecodeResult(decodeResult, targetWidth, targetHeight, frame) }; - } - } - else - { - var multiReader = new GenericMultipleBarcodeReader(_qrReader); - var decodeResults = multiReader.decodeMultiple(binaryBitmap); - if (decodeResults != null) - { - var results = new List(decodeResults.Length); - foreach (var decodeResult in decodeResults) - { - results.Add(ProcessDecodeResult(decodeResult, targetWidth, targetHeight, frame)); - } - return results.ToArray(); - } - } - } - catch (Exception ex) - { - Debug.LogError($"[QRCodeScanner] Error decoding QR code(s): {ex.Message}"); - } - - return Array.Empty(); - } -#endif -} diff --git a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/QrCodeScanner.cs.meta b/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/QrCodeScanner.cs.meta deleted file mode 100644 index bee89b37..00000000 --- a/Unity-QuestVisionKit/Assets/Samples/3 QRCodeTracking/Scripts/QrCodeScanner.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: c4197e2a9ccb34295a90f328e560ab82 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: - - downsampleShader: {fileID: 7200000, guid: 197eeaef5a6cb4347b600c9916e5dea8, type: 3} - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-QuestVisionKit/Assets/Samples/4 Shaders/Scripts/StereoCameraMappingController.cs b/Unity-QuestVisionKit/Assets/Samples/4 Shaders/Scripts/StereoCameraMappingController.cs index 99504daf..5835c1ea 100644 --- a/Unity-QuestVisionKit/Assets/Samples/4 Shaders/Scripts/StereoCameraMappingController.cs +++ b/Unity-QuestVisionKit/Assets/Samples/4 Shaders/Scripts/StereoCameraMappingController.cs @@ -10,10 +10,10 @@ public class StereoCameraMappingController : MonoBehaviour [SerializeField] private PassthroughCameraAccess rightCameraAccess; [SerializeField] private Material targetMaterial; [Header("Per-Eye UV Offset")] - [SerializeField, Range(-0.2f, 0f)] private float leftUvOffsetX; - [SerializeField, Range(-0.2f, 0f)] private float leftUvOffsetY; - [SerializeField, Range(-0.2f, 0f)] private float rightUvOffsetX; - [SerializeField, Range(-0.2f, 0f)] private float rightUvOffsetY; + [SerializeField, Range(-0.2f, 0.2f)] private float leftUvOffsetX; + [SerializeField, Range(-0.2f, 0.2f)] private float leftUvOffsetY; + [SerializeField, Range(-0.2f, 0.2f)] private float rightUvOffsetX; + [SerializeField, Range(-0.2f, 0.2f)] private float rightUvOffsetY; private static readonly int LeftTexId = Shader.PropertyToID("_LeftTex"); private static readonly int RightTexId = Shader.PropertyToID("_RightTex"); diff --git a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/ReceiveResponse.wav b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/ReceiveResponse.wav index e4acee26..1ef83857 100644 Binary files a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/ReceiveResponse.wav and b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/ReceiveResponse.wav differ diff --git a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/SendRequest.wav b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/SendRequest.wav index fc88b8d4..e8583e33 100644 Binary files a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/SendRequest.wav and b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/SendRequest.wav differ diff --git a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/StartRequest.wav b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/StartRequest.wav index 1fbc3c49..6f5fc416 100644 Binary files a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/StartRequest.wav and b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/StartRequest.wav differ diff --git a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/WaitingSound.mp3 b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/WaitingSound.mp3 index 43f0bb23..0e3019da 100644 Binary files a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/WaitingSound.mp3 and b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Audio/WaitingSound.mp3 differ diff --git a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Prefabs/OpenAI Manager.prefab b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Prefabs/OpenAI Manager.prefab index dc255d61..27a3a7a7 100644 --- a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Prefabs/OpenAI Manager.prefab +++ b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Prefabs/OpenAI Manager.prefab @@ -46,7 +46,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 540045c01f0bf46858eae75b1f088168, type: 3} m_Name: m_EditorClassIdentifier: - apiKey: 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 + apiKey: YOUR_API_KEY selectedModel: 1 commandMode: 0 instructions: diff --git a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Prefabs/Whisper STT.prefab b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Prefabs/Whisper STT.prefab index d8c50b02..5ce09324 100644 --- a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Prefabs/Whisper STT.prefab +++ b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Prefabs/Whisper STT.prefab @@ -44,7 +44,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8f9cd56199d074754966961f7917890b, type: 3} m_Name: m_EditorClassIdentifier: - apiKey: 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 + apiKey: YOUR_API_KEY recordingMaximum: 5 recordButton: {fileID: 0} transcriptionText: {fileID: 0} diff --git a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/AudioPlayer.cs b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/AudioPlayer.cs index a2fa8291..4127d925 100644 --- a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/AudioPlayer.cs +++ b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/AudioPlayer.cs @@ -1,6 +1,8 @@ +using System; +using System.Collections; +using System.Collections.Generic; using System.IO; using UnityEngine; -using System.Collections; using UnityEngine.Networking; namespace QuestCameraKit.OpenAI @@ -9,37 +11,62 @@ namespace QuestCameraKit.OpenAI public class AudioPlayer : MonoBehaviour { private AudioSource _audioSource; - private const bool DeleteCachedFile = true; + private AudioClip _ownedClip; + private int _requestId; + private readonly HashSet _pendingFiles = new(); - private void OnEnable() - { - if (!_audioSource) this._audioSource = GetComponent(); - } - - private void OnValidate() => OnEnable(); + private void Awake() => _audioSource = GetComponent(); public void ProcessAudioBytes(byte[] audioData) { - string filePath = Path.Combine(Application.persistentDataPath, "audio.mp3"); + if (audioData == null || audioData.Length == 0 || !isActiveAndEnabled) return; + var filePath = Path.Combine(Application.temporaryCachePath, $"tts-{Guid.NewGuid():N}.mp3"); File.WriteAllBytes(filePath, audioData); - - StartCoroutine(LoadAndPlayAudio(filePath)); + _pendingFiles.Add(filePath); + StartCoroutine(LoadAndPlayAudio(filePath, ++_requestId)); } - private IEnumerator LoadAndPlayAudio(string filePath) + private IEnumerator LoadAndPlayAudio(string filePath, int requestId) { - using UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip("file://" + filePath, AudioType.MPEG); - yield return www.SendWebRequest(); - - if (www.result == UnityWebRequest.Result.Success) + try { - AudioClip audioClip = DownloadHandlerAudioClip.GetContent(www); - _audioSource.clip = audioClip; + using var request = UnityWebRequestMultimedia.GetAudioClip(new Uri(filePath).AbsoluteUri, AudioType.MPEG); + yield return request.SendWebRequest(); + if (request.result != UnityWebRequest.Result.Success) + { + Debug.LogWarning("Audio file loading error: " + request.error); + yield break; + } + var clip = DownloadHandlerAudioClip.GetContent(request); + if (requestId != _requestId || !isActiveAndEnabled) + { + Destroy(clip); + yield break; + } + _audioSource.Stop(); + if (_ownedClip) Destroy(_ownedClip); + _ownedClip = clip; + _audioSource.clip = clip; _audioSource.Play(); } - else Debug.LogError("Audio file loading error: " + www.error); + finally + { + File.Delete(filePath); + _pendingFiles.Remove(filePath); + } + } - if (DeleteCachedFile) File.Delete(filePath); + private void OnDisable() + { + ++_requestId; + if (_audioSource) _audioSource.Stop(); + } + + private void OnDestroy() + { + if (_ownedClip) Destroy(_ownedClip); + foreach (var path in _pendingFiles) File.Delete(path); + _pendingFiles.Clear(); } } -} \ No newline at end of file +} diff --git a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/ImageOpenAIConnector.cs b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/ImageOpenAIConnector.cs index 1bd36159..e8114086 100644 --- a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/ImageOpenAIConnector.cs +++ b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/ImageOpenAIConnector.cs @@ -94,6 +94,8 @@ public class ImageOpenAIConnector : MonoBehaviour private AudioSource processingAudioSource; private const string OutputFormat = "mp3"; + public bool HasApiKey => !string.IsNullOrWhiteSpace(apiKey) && + apiKey != "YOUR_API_KEY" && apiKey != "YOUR_OPENAI_API_KEY"; [Serializable] private class TtsPayload @@ -101,7 +103,7 @@ private class TtsPayload public string model; public string input; public string voice; - public string responseFormat; + public string response_format; public float speed; } @@ -109,13 +111,13 @@ private class TtsPayload private void Awake() { - sttManager.onRequestSent.AddListener(StartProcessingSound); + if (sttManager) sttManager.onRequestSent.AddListener(StartProcessingSound); onResponseReceived.AddListener(StopProcessingSound); } private void OnDestroy() { - sttManager.onRequestSent.RemoveListener(StartProcessingSound); + if (sttManager) sttManager.onRequestSent.RemoveListener(StartProcessingSound); onResponseReceived.RemoveListener(StopProcessingSound); } @@ -130,7 +132,7 @@ private void StartProcessingSound() processingAudioSource.Play(); } - private void StopProcessingSound(string response) + public void StopProcessingSound(string response) { if (processingAudioSource) { @@ -154,14 +156,18 @@ private void StopProcessingSound(string response) public IEnumerator RequestTextToSpeech(string text, Action onSuccess, Action onError, TtsModel model = TtsModel.Tts1, TtsVoice voice = TtsVoice.Alloy, float speed = 1f) { - Debug.Log("Sending new request to OpenAI TTS."); + if (!HasApiKey) + { + onError?.Invoke("Configure an API key before requesting speech."); + yield break; + } var payload = new TtsPayload { model = model.EnumToString(), input = text, - voice = voice.ToString().ToLower(), - responseFormat = OutputFormat, + voice = voice.ToString().ToLowerInvariant(), + response_format = OutputFormat, speed = speed }; @@ -170,15 +176,16 @@ public IEnumerator RequestTextToSpeech(string text, Action onSuccess, Ac using var request = new UnityWebRequest("https://api.openai.com/v1/audio/speech", "POST"); var bodyRaw = Encoding.UTF8.GetBytes(jsonPayload); + request.timeout = 60; request.uploadHandler = new UploadHandlerRaw(bodyRaw); request.downloadHandler = new DownloadHandlerBuffer(); request.SetRequestHeader("Content-Type", "application/json"); request.SetRequestHeader("Authorization", "Bearer " + apiKey); yield return request.SendWebRequest(); + StopProcessingSound(""); - if (request.result == UnityWebRequest.Result.ConnectionError || - request.result == UnityWebRequest.Result.ProtocolError) + if (request.result != UnityWebRequest.Result.Success) { Debug.LogError("TTS Request Error: " + request.error); onError?.Invoke(request.error); @@ -201,6 +208,12 @@ public IEnumerator RequestTextToSpeech(string text, Action onSuccess, Ac /// The command text. public void SendImage(Texture2D image, string command) { + if (!HasApiKey) + { + StopProcessingSound(""); + Debug.LogWarning("Configure an API key before sending an image or command."); + return; + } StartCoroutine(SendImageRequest(image, command)); } @@ -209,10 +222,17 @@ private IEnumerator SendImageRequest(Texture2D image, string command) var base64Image = ""; if (commandMode == OpenAICommandMode.ImageAndText || commandMode == OpenAICommandMode.ImageOnly) { + if (!image) + { + StopProcessingSound(""); + Debug.LogError("An image is required for the selected command mode."); + yield break; + } var processedImage = (image.width == 512 && image.height == 512 && image.format == TextureFormat.RGBA32) ? image : ResizeTexture(image, 512, 512); var imageBytes = processedImage.EncodeToJPG(); + if (processedImage != image) Destroy(processedImage); if (imageBytes == null || imageBytes.Length == 0) { Debug.LogError( @@ -254,12 +274,13 @@ private IEnumerator SendImageRequest(Texture2D image, string command) "\"messages\":[{" + $"\"role\":\"user\",\"content\":[{contentJson}]" + "}]," + - "\"max_tokens\":300" + + "\"max_completion_tokens\":300" + "}"; using var request = new UnityWebRequest("https://api.openai.com/v1/chat/completions", "POST"); var bodyRaw = Encoding.UTF8.GetBytes(payloadJson); + request.timeout = 60; request.uploadHandler = new UploadHandlerRaw(bodyRaw); request.downloadHandler = new DownloadHandlerBuffer(); request.SetRequestHeader("Content-Type", "application/json"); @@ -267,9 +288,9 @@ private IEnumerator SendImageRequest(Texture2D image, string command) StartProcessingSound(); yield return request.SendWebRequest(); + StopProcessingSound(""); - if (request.result == UnityWebRequest.Result.ConnectionError || - request.result == UnityWebRequest.Result.ProtocolError) + if (request.result != UnityWebRequest.Result.Success) { Debug.LogError($"Error sending request: {request.error} (Response code: {request.responseCode})"); } @@ -314,11 +335,12 @@ private Texture2D ResizeTexture(Texture2D source, int targetWidth, int targetHei } /// - /// Escapes double quotes in strings so that they can be safely embedded in JSON. + /// Escapes quotes, backslashes and control characters using the SDK JSON serializer. /// private string EscapeJson(string input) { - return input.Replace("\"", "\\\""); + var json = new JSONString(input ?? string.Empty).ToString(); + return json.Substring(1, json.Length - 2); } #endregion diff --git a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/STTManager.cs b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/STTManager.cs index 577cf0b7..7a203efe 100644 --- a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/STTManager.cs +++ b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/STTManager.cs @@ -1,233 +1,187 @@ using System; -using System.IO; -using System.Linq; +using System.Collections.Generic; +using System.Threading.Tasks; using UnityEngine; -using UnityEngine.UI; using UnityEngine.Events; -using System.Threading.Tasks; using UnityEngine.Networking; -using System.Collections.Generic; +using UnityEngine.UI; namespace QuestCameraKit.OpenAI { public class SttManager : MonoBehaviour { public event Action OnTranscriptionComplete; - [Header("STT Settings")] - [SerializeField] private int recordingMaximum = 5; - + [SerializeField, Min(1)] private int recordingMaximum = 5; [Header("Canvas Settings")] [SerializeField] private bool useCanvas = true; - [Header("UI Components (Optional)")] [SerializeField] private Button recordButton; [SerializeField] private Text transcriptionText; [SerializeField] private Dropdown microphoneDropdown; - [Header("Events")] public UnityEvent onRequestStarted; public UnityEvent onRequestSent; private ImageOpenAIConnector _imageOpenAIConnector; private AudioClip _clip; - private string _apiKey = "YOUR_OPENAI_API_KEY"; - private const string FileName = "output.wav"; + private string _selectedMic; private bool _isRecording; + private bool _isSending; private float _time; + private UnityWebRequest _request; private void Start() { _imageOpenAIConnector = FindAnyObjectByType(); - _apiKey = _imageOpenAIConnector.apiKey; - - if (useCanvas) + if (!_imageOpenAIConnector) { - if (microphoneDropdown != null) - { - foreach (var device in Microphone.devices) - { - microphoneDropdown.options.Add(new Dropdown.OptionData(device)); - } - - microphoneDropdown.onValueChanged.AddListener(ChangeMicrophone); - } - - if (recordButton != null) - { - recordButton.onClick.AddListener(ToggleRecording); - } + Debug.LogError("SttManager requires an ImageOpenAIConnector."); + enabled = false; + return; } + if (useCanvas && microphoneDropdown) + { + microphoneDropdown.ClearOptions(); + microphoneDropdown.AddOptions(new List(Microphone.devices)); + microphoneDropdown.SetValueWithoutNotify(Mathf.Clamp( + PlayerPrefs.GetInt("user-mic-device-index", 0), 0, Mathf.Max(0, Microphone.devices.Length - 1))); + microphoneDropdown.onValueChanged.AddListener(ChangeMicrophone); + } + if (useCanvas && recordButton) recordButton.onClick.AddListener(ToggleRecording); } - private void ChangeMicrophone(int index) - { - PlayerPrefs.SetInt("user-mic-device-index", index); - } + private void ChangeMicrophone(int index) => PlayerPrefs.SetInt("user-mic-device-index", index); - /// - /// Toggles recording on or off. - /// private void ToggleRecording() { - if (_isRecording) - { - EndRecording(); - } - else - { - StartRecording(); - } + if (!isActiveAndEnabled || _isSending) return; + if (_isRecording) EndRecording(); + else StartRecording(); } private void StartRecording() { - onRequestStarted.Invoke(); - _isRecording = true; - _time = 0; - if (useCanvas && transcriptionText) - { - transcriptionText.text = "Recording..."; - } - - var index = PlayerPrefs.GetInt("user-mic-device-index", 0); - string selectedMic = ""; - if (useCanvas && microphoneDropdown && microphoneDropdown.options.Count > index) - { - selectedMic = microphoneDropdown.options[index].text; - } - else - { - if (Microphone.devices.Length > 0) - { - selectedMic = Microphone.devices[0]; - } - else - { - Debug.LogError("No microphone devices found!"); - if (useCanvas && transcriptionText) - { - transcriptionText.text = "No microphone found!"; - } - - _isRecording = false; - return; - } - } - - if (!Microphone.devices.Contains(selectedMic)) - { - Debug.LogWarning("Selected microphone not found, using default."); - selectedMic = Microphone.devices[0]; - } - - _clip = Microphone.Start(selectedMic, false, recordingMaximum, 44100); - - if (_clip) +#if UNITY_ANDROID && !UNITY_EDITOR + if (!UnityEngine.Android.Permission.HasUserAuthorizedPermission(UnityEngine.Android.Permission.Microphone)) { + var callbacks = new UnityEngine.Android.PermissionCallbacks(); + callbacks.PermissionGranted += _ => { if (this && isActiveAndEnabled) StartRecording(); }; + callbacks.PermissionDenied += _ => { if (this) SetStatus("Microphone permission denied."); }; + UnityEngine.Android.Permission.RequestUserPermission(UnityEngine.Android.Permission.Microphone, callbacks); return; } - - Debug.LogError("Failed to start microphone recording!"); - if (useCanvas && transcriptionText) +#endif + if (_isRecording || _isSending) return; + var devices = Microphone.devices; + if (devices.Length == 0) { - transcriptionText.text = "Mic recording failed!"; + SetStatus("No microphone found."); + return; } - - _isRecording = false; - if (useCanvas && recordButton) + var index = useCanvas && microphoneDropdown + ? microphoneDropdown.value : PlayerPrefs.GetInt("user-mic-device-index", 0); + _selectedMic = devices[Mathf.Clamp(index, 0, devices.Length - 1)]; + _clip = Microphone.Start(_selectedMic, false, Mathf.Max(1, recordingMaximum), 44100); + if (!_clip) { - recordButton.interactable = true; + SetStatus("Could not start microphone."); + return; } + _time = 0f; + _isRecording = true; + SetStatus("Recording..."); + onRequestStarted?.Invoke(); } private async void EndRecording() { - if (!_isRecording) - return; - - onRequestSent.Invoke(); + if (!_isRecording) return; + var frames = Microphone.GetPosition(_selectedMic); + // A non-looping recording can report zero once its full buffer has stopped. + if (frames <= 0 && _clip && _time >= Mathf.Max(1, recordingMaximum)) frames = _clip.samples; + Microphone.End(_selectedMic); _isRecording = false; - if (useCanvas && transcriptionText) - { - transcriptionText.text = "Processing..."; - } - Microphone.End(null); - - if (!_clip) - { - Debug.LogError("AudioClip is null! Cannot save."); - if (useCanvas && transcriptionText) + _isSending = true; + if (useCanvas && recordButton) recordButton.interactable = false; + try + { + if (!_clip || frames <= 0) throw new InvalidOperationException("No audio was recorded."); + var audio = SaveWav.Save("output.wav", _clip, frames); + Destroy(_clip); + _clip = null; + SetStatus("Processing..."); + onRequestSent?.Invoke(); + var transcription = await SendToOpenAI(audio); + if (!this || !isActiveAndEnabled) return; + _imageOpenAIConnector.StopProcessingSound(""); + SetStatus(transcription); + if (!string.IsNullOrWhiteSpace(transcription)) OnTranscriptionComplete?.Invoke(transcription); + } + catch (Exception e) + { + if (this && isActiveAndEnabled) { - transcriptionText.text = "Recording failed!"; + if (_imageOpenAIConnector) _imageOpenAIConnector.StopProcessingSound(""); + SetStatus("Transcription failed: " + e.Message); + Debug.LogWarning("Transcription failed: " + e.Message); } - - if (useCanvas && recordButton) - { - recordButton.interactable = true; - } - return; } - - byte[] audioData = SaveWav.Save(FileName, _clip); - string transcription = await SendToOpenAI(audioData); - - if (useCanvas && transcriptionText) + finally { - transcriptionText.text = transcription; - } - - if (useCanvas && recordButton) - { - recordButton.interactable = true; + _isSending = false; + if (this) + { + if (_clip) Destroy(_clip); + _clip = null; + if (useCanvas && recordButton) recordButton.interactable = true; + } } - - OnTranscriptionComplete?.Invoke(transcription); } private async Task SendToOpenAI(byte[] audioData) { - var url = "https://api.openai.com/v1/audio/transcriptions"; - - if (audioData == null || audioData.Length == 0) - { - Debug.LogError("SendToOpenAI: Audio data is empty or null."); - return "Error: Audio file is empty."; - } - - if (audioData.Length > 25 * 1024 * 1024) - { - Debug.LogError("SendToOpenAI: Audio file is too large."); - return "Error: File too large."; - } - - var filePath = Path.Combine(Application.persistentDataPath, FileName); - await File.WriteAllBytesAsync(filePath, audioData); - - using var request = UnityWebRequest.PostWwwForm(url, "POST"); - request.SetRequestHeader("Authorization", "Bearer " + _apiKey); - - var formData = new List - { - new MultipartFormFileSection("file", audioData, FileName, "audio/wav"), - new MultipartFormDataSection("model", "whisper-1") + if (audioData == null || audioData.Length == 0 || audioData.Length > 25 * 1024 * 1024) + throw new InvalidOperationException("Recording must contain between 1 byte and 25 MB."); + if (!_imageOpenAIConnector || !_imageOpenAIConnector.HasApiKey) + throw new InvalidOperationException("Configure an API key before transcribing audio."); + var form = new List + { + new MultipartFormFileSection("file", audioData, "output.wav", "audio/wav"), + new MultipartFormDataSection("model", "whisper-1"), + new MultipartFormDataSection("response_format", "text") }; + using var request = UnityWebRequest.Post("https://api.openai.com/v1/audio/transcriptions", form); + request.timeout = 60; + request.SetRequestHeader("Authorization", "Bearer " + _imageOpenAIConnector.apiKey); + _request = request; + try + { + await request.SendWebRequest(); + if (request.result != UnityWebRequest.Result.Success) + throw new InvalidOperationException($"HTTP {request.responseCode}: {request.error}"); + return request.downloadHandler.text.Trim(); + } + finally { _request = null; } + } - var boundary = UnityWebRequest.GenerateBoundary(); - var formDataBytes = UnityWebRequest.SerializeFormSections(formData, boundary); - - request.uploadHandler = new UploadHandlerRaw(formDataBytes); - request.downloadHandler = new DownloadHandlerBuffer(); - request.SetRequestHeader("Content-Type", - "multipart/form-data; boundary=" + System.Text.Encoding.UTF8.GetString(boundary)); - - await request.SendWebRequest(); + private void SetStatus(string text) + { + if (useCanvas && transcriptionText) transcriptionText.text = text; + } - if (request.result != UnityWebRequest.Result.ConnectionError && - request.result != UnityWebRequest.Result.ProtocolError) - return request.downloadHandler.text; + private void OnDisable() + { + if (_isRecording) Microphone.End(_selectedMic); + _isRecording = false; + _request?.Abort(); + if (_clip) Destroy(_clip); + _clip = null; + } - Debug.LogError("OpenAI API Error: " + request.error + "\nResponse: " + request.downloadHandler.text); - return "Error: " + request.downloadHandler.text; + private void OnDestroy() + { + if (recordButton) recordButton.onClick.RemoveListener(ToggleRecording); + if (microphoneDropdown) microphoneDropdown.onValueChanged.RemoveListener(ChangeMicrophone); } private void Update() @@ -235,16 +189,9 @@ private void Update() if (_isRecording) { _time += Time.deltaTime; - if (_time >= recordingMaximum) - { - EndRecording(); - } - } - - if (OVRInput.GetDown(OVRInput.Button.Start)) - { - ToggleRecording(); + if (_time >= Mathf.Max(1, recordingMaximum)) EndRecording(); } + if (OVRInput.GetDown(OVRInput.Button.Start)) ToggleRecording(); } } -} \ No newline at end of file +} diff --git a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/SaveWav.cs b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/SaveWav.cs index e6667591..b64e6c7c 100644 --- a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/SaveWav.cs +++ b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/SaveWav.cs @@ -1,81 +1,41 @@ using System; using System.IO; +using System.Text; using UnityEngine; namespace QuestCameraKit.OpenAI { public static class SaveWav { - public static byte[] Save(string filename, AudioClip clip) + // sampleFrames is per channel, matching AudioClip.samples and Microphone.GetPosition. + public static byte[] Save(string filename, AudioClip clip, int sampleFrames = -1) { - if (!clip) - { - Debug.LogError("SaveWav: AudioClip is null! Cannot save."); - return null; - } - - if (!filename.ToLower().EndsWith(".wav")) - { - filename += ".wav"; - } - - using var memoryStream = CreateEmptyWavFile(); - ConvertAndWrite(memoryStream, clip); - WriteWavHeader(memoryStream, clip); - return memoryStream.ToArray(); - } - - private static MemoryStream CreateEmptyWavFile() - { - var memoryStream = new MemoryStream(); - for (var i = 0; i < 44; i++) - { - memoryStream.WriteByte(0); - } - - return memoryStream; - } - - private static void ConvertAndWrite(MemoryStream memoryStream, AudioClip clip) - { - if (!clip) - { - Debug.LogError("SaveWav: AudioClip is null! Cannot convert."); - return; - } - - var samples = new float[clip.samples]; - clip.GetData(samples, 0); - - var intData = new short[samples.Length]; - var bytesData = new byte[samples.Length * 2]; - - var rescaleFactor = 32767; - for (var i = 0; i < samples.Length; i++) - { - intData[i] = (short)(samples[i] * rescaleFactor); - BitConverter.GetBytes(intData[i]).CopyTo(bytesData, i * 2); - } - - memoryStream.Write(bytesData, 0, bytesData.Length); - } - - private static void WriteWavHeader(MemoryStream memoryStream, AudioClip clip) - { - memoryStream.Seek(0, SeekOrigin.Begin); - memoryStream.Write(System.Text.Encoding.UTF8.GetBytes("RIFF"), 0, 4); - memoryStream.Write(BitConverter.GetBytes(memoryStream.Length - 8), 0, 4); - memoryStream.Write(System.Text.Encoding.UTF8.GetBytes("WAVE"), 0, 4); - memoryStream.Write(System.Text.Encoding.UTF8.GetBytes("fmt "), 0, 4); - memoryStream.Write(BitConverter.GetBytes(16), 0, 4); - memoryStream.Write(BitConverter.GetBytes((ushort)1), 0, 2); - memoryStream.Write(BitConverter.GetBytes(clip.channels), 0, 2); - memoryStream.Write(BitConverter.GetBytes(clip.frequency), 0, 4); - memoryStream.Write(BitConverter.GetBytes(clip.frequency * clip.channels * 2), 0, 4); - memoryStream.Write(BitConverter.GetBytes((ushort)(clip.channels * 2)), 0, 2); - memoryStream.Write(BitConverter.GetBytes((ushort)16), 0, 2); - memoryStream.Write(System.Text.Encoding.UTF8.GetBytes("data"), 0, 4); - memoryStream.Write(BitConverter.GetBytes(clip.samples * clip.channels * 2), 0, 4); + if (!clip) throw new ArgumentNullException(nameof(clip)); + if (sampleFrames < -1 || sampleFrames > clip.samples) + throw new ArgumentOutOfRangeException(nameof(sampleFrames)); + if (sampleFrames == -1) sampleFrames = clip.samples; + + var samples = new float[sampleFrames * clip.channels]; + if (samples.Length > 0 && !clip.GetData(samples, 0)) + throw new InvalidOperationException("Audio clip data is not readable."); + + using var stream = new MemoryStream(44 + samples.Length * 2); + using var writer = new BinaryWriter(stream, Encoding.UTF8, true); + writer.Write(Encoding.ASCII.GetBytes("RIFF")); + writer.Write(36 + samples.Length * 2); + writer.Write(Encoding.ASCII.GetBytes("WAVEfmt ")); + writer.Write(16); + writer.Write((ushort)1); + writer.Write((ushort)clip.channels); + writer.Write(clip.frequency); + writer.Write(clip.frequency * clip.channels * 2); + writer.Write((ushort)(clip.channels * 2)); + writer.Write((ushort)16); + writer.Write(Encoding.ASCII.GetBytes("data")); + writer.Write(samples.Length * 2); + foreach (var sample in samples) + writer.Write((short)(Mathf.Clamp(sample, -1f, 1f) * short.MaxValue)); + return stream.ToArray(); } } -} \ No newline at end of file +} diff --git a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/TTSManager.cs b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/TTSManager.cs index 958fc606..848d82f6 100644 --- a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/TTSManager.cs +++ b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/TTSManager.cs @@ -14,17 +14,17 @@ public class TtsManager : MonoBehaviour private void Awake() { _imageOpenAIConnector = FindAnyObjectByType(); - audioPlayer = GetComponentInChildren(); + if (!audioPlayer) audioPlayer = GetComponentInChildren(); } public void SynthesizeAndPlay(string text) { - Debug.Log("Trying to synthesize " + text); + if (!_imageOpenAIConnector || !audioPlayer || string.IsNullOrWhiteSpace(text)) return; _imageOpenAIConnector.StartCoroutine(_imageOpenAIConnector.RequestTextToSpeech( text, audioData => { - if (audioData == null) + if (audioData == null || !this || !audioPlayer) { return; } diff --git a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/VoiceCommandHandler.cs b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/VoiceCommandHandler.cs index 7c111f4e..1ef43218 100644 --- a/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/VoiceCommandHandler.cs +++ b/Unity-QuestVisionKit/Assets/Samples/5 ImageLLM/Scripts/VoiceCommandHandler.cs @@ -75,6 +75,14 @@ private IEnumerator CaptureAndSendImage(string transcription) } } + if (capturedTexture && capturedTexture != dummyImage) + { + // SendImage encodes before its first yield; it no longer needs the captured texture. + if (imageConnector) imageConnector.SendImage(capturedTexture, transcription); + Destroy(capturedTexture); + yield break; + } + if (imageConnector) { imageConnector.SendImage(capturedTexture, transcription); @@ -111,7 +119,7 @@ private Texture2D CapturePassthroughFrame(PassthroughCameraAccess access) } var colors = access.GetColors(); - if (!colors.IsCreated) + if (!colors.IsCreated || colors.Length != resolution.x * resolution.y) { return null; } diff --git a/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/Scripts/Editor/WebRTCDefineSymbolChecker.cs b/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/Scripts/Editor/WebRTCDefineSymbolChecker.cs index 6ec51c80..70dabdd6 100644 --- a/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/Scripts/Editor/WebRTCDefineSymbolChecker.cs +++ b/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/Scripts/Editor/WebRTCDefineSymbolChecker.cs @@ -43,7 +43,7 @@ public static void UpdateWebRTCDefine() { } var newDefines = string.Join(";", defineList); - PlayerSettings.SetScriptingDefineSymbols(target, newDefines); + if (newDefines != defines) PlayerSettings.SetScriptingDefineSymbols(target, newDefines); } catch (System.Exception ex) { Debug.LogWarning($"[WebRTCDefineSymbolChecker] Could not update define for target {target}: {ex.Message}"); } @@ -51,8 +51,8 @@ public static void UpdateWebRTCDefine() { } private static bool HasWebRTCPackage() { - var packages = UnityEditor.PackageManager.PackageInfo.GetAllRegisteredPackages(); - return packages.Where(p => p.name.Equals("com.unity.webrtc")).Any(); + return System.AppDomain.CurrentDomain.GetAssemblies() + .Any(assembly => assembly.GetType("SimpleWebRTC.WebRTCConnection", false) != null); } } #endif diff --git a/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/Scripts/WebRTCController.cs b/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/Scripts/WebRTCController.cs index 7f7fb108..ade15ff5 100644 --- a/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/Scripts/WebRTCController.cs +++ b/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/Scripts/WebRTCController.cs @@ -21,7 +21,13 @@ public class WebRTCController : MonoBehaviour { private IEnumerator Start() { cameraAccess = ResolveCameraAccess(cameraAccess); - yield return new WaitUntil(() => cameraAccess && cameraAccess.IsPlaying); + if (!cameraAccess || !connectionGameObject || !canvasRawImage) { + Debug.LogError("[WebRTCController] Assign camera, connection and preview references."); + enabled = false; + yield break; + } + _webRTCConnection = connectionGameObject.GetComponent(); + yield return new WaitUntil(() => !cameraAccess || cameraAccess.IsPlaying); if (!cameraAccess) { Debug.LogWarning("[WebRTCController] Passthrough camera unavailable."); yield break; @@ -33,13 +39,16 @@ private IEnumerator Start() { } private void Update() { - if (OVRInput.Get(OVRInput.Button.Start)) { + if (!_webRTCConnection || !cameraAccess || !cameraAccess.IsPlaying) return; + canvasRawImage.texture = cameraAccess.GetTexture(); + + if (OVRInput.GetDown(OVRInput.Button.Start)) { _webRTCConnection.StartVideoTransmission(); } - if (adaptFovToCustomValue && streamingCameras[0].fieldOfView != customFovValue) { + if (adaptFovToCustomValue && streamingCameras != null) { foreach (var camera in streamingCameras) { - camera.fieldOfView = customFovValue; + if (camera) camera.fieldOfView = Mathf.Clamp(customFovValue, 1f, 179f); } } diff --git a/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/WebRTC-Quest.unity b/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/WebRTC-Quest.unity index 080cc566..751c838c 100644 --- a/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/WebRTC-Quest.unity +++ b/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/WebRTC-Quest.unity @@ -2417,7 +2417,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7588ce98b751e28419e83a73016454e5, type: 3} m_Name: m_EditorClassIdentifier: - WebSocketServerAddress: wss://unity-webrtc-signaling.glitch.me + WebSocketServerAddress: wss://your-signaling-server.example StunServerAddress: stun:stun.l.google.com:19302 LocalPeerId: Quest-PeerId UseHTTPHeader: 1 @@ -2435,7 +2435,7 @@ MonoBehaviour: RTDepth: 24 OneFacePerFrame: 0 receivingRenderTexture: {fileID: 0} - WebSocketConnectionActive: 1 + WebSocketConnectionActive: 0 SendWebSocketTestMessage: 0 WebSocketConnectionChanged: m_PersistentCalls: diff --git a/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/WebRTC-SingleClient.unity b/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/WebRTC-SingleClient.unity index 29942e18..d1121eee 100644 --- a/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/WebRTC-SingleClient.unity +++ b/Unity-QuestVisionKit/Assets/Samples/6 WebRTC/WebRTC-SingleClient.unity @@ -850,7 +850,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7588ce98b751e28419e83a73016454e5, type: 3} m_Name: m_EditorClassIdentifier: - WebSocketServerAddress: wss://unity-webrtc-signaling.glitch.me + WebSocketServerAddress: wss://your-signaling-server.example StunServerAddress: stun:stun.l.google.com:19302 LocalPeerId: Red-PeerId UseHTTPHeader: 1 @@ -868,7 +868,7 @@ MonoBehaviour: RTDepth: 24 OneFacePerFrame: 0 receivingRenderTexture: {fileID: 0} - WebSocketConnectionActive: 1 + WebSocketConnectionActive: 0 SendWebSocketTestMessage: 0 WebSocketConnectionChanged: m_PersistentCalls: diff --git a/Unity-QuestVisionKit/Assets/Samples/Common/Scripts/MarkerPool.cs b/Unity-QuestVisionKit/Assets/Samples/Common/Scripts/MarkerPool.cs index 8d23edb6..93eba6c5 100644 --- a/Unity-QuestVisionKit/Assets/Samples/Common/Scripts/MarkerPool.cs +++ b/Unity-QuestVisionKit/Assets/Samples/Common/Scripts/MarkerPool.cs @@ -25,6 +25,14 @@ private void Awake() return; } + if (!markerPrefab || !markerPrefab.GetComponent()) + { + Debug.LogError("MarkerPool: Assign a prefab with a MarkerController."); + enabled = false; + return; + } + + poolSize = Mathf.Max(1, poolSize); _pool = new List(poolSize); for (var i = 0; i < poolSize; i++) { @@ -34,11 +42,17 @@ private void Awake() } } + private void OnDestroy() + { + if (Instance == this) Instance = null; + } + public GameObject GetMarker() { + if (_pool == null) return null; foreach (var marker in _pool) { - if (marker.activeSelf) continue; + if (!marker || marker.activeSelf) continue; marker.SetActive(true); return marker; } diff --git a/Unity-QuestVisionKit/Assets/Samples/Common/Scripts/SampleMenu.cs b/Unity-QuestVisionKit/Assets/Samples/Common/Scripts/SampleMenu.cs new file mode 100644 index 00000000..bf833c3e --- /dev/null +++ b/Unity-QuestVisionKit/Assets/Samples/Common/Scripts/SampleMenu.cs @@ -0,0 +1,139 @@ +using System.IO; +using System.Linq; +using UnityEngine; +using UnityEngine.SceneManagement; +using UnityEngine.UI; +using UnityEngine.InputSystem; + +namespace QuestCameraKit +{ + public sealed class SampleMenu : MonoBehaviour + { + private string[] _paths; + private Canvas _canvas; + private Text _text; + private Camera _camera; + private int _selected; + private bool _stickHeld; + private bool _loading; + public bool IsVisible => _canvas && _canvas.enabled; + public int SampleCount => _paths?.Length ?? 0; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] + private static void Install() + { + if (AvailableScenes().Length > 1) + new GameObject("Sample menu").AddComponent(); + } + + private void Awake() + { + _paths = AvailableScenes(); + if (Application.isPlaying) DontDestroyOnLoad(gameObject); + var panel = new GameObject("Samples", typeof(RectTransform), typeof(Canvas), typeof(Image)); + panel.transform.SetParent(transform, false); + _canvas = panel.GetComponent(); + _canvas.renderMode = RenderMode.WorldSpace; + var rect = panel.GetComponent(); + rect.sizeDelta = new Vector2(720, 640); + rect.localScale = Vector3.one * 0.0012f; + panel.GetComponent().color = new Color(0.025f, 0.04f, 0.065f, 0.97f); + var label = new GameObject("Sample list", typeof(RectTransform), typeof(Text)); + label.transform.SetParent(panel.transform, false); + _text = label.GetComponent(); + _text.font = Resources.GetBuiltinResource("LegacyRuntime.ttf"); + _text.fontSize = 27; + _text.color = Color.white; + _text.supportRichText = true; + _text.alignment = TextAnchor.MiddleLeft; + _text.horizontalOverflow = HorizontalWrapMode.Wrap; + _text.rectTransform.anchorMin = Vector2.zero; + _text.rectTransform.anchorMax = Vector2.one; + _text.rectTransform.offsetMin = new Vector2(32, 24); + _text.rectTransform.offsetMax = new Vector2(-32, -24); + SceneManager.sceneLoaded += SceneLoaded; + } + + private void OnDestroy() => SceneManager.sceneLoaded -= SceneLoaded; + + private void SceneLoaded(Scene scene, LoadSceneMode mode) + { + _camera = Camera.main; + _selected = Mathf.Max(0, System.Array.IndexOf(_paths, scene.path)); + _loading = false; + Refresh(); + } + + public static string[] AvailableScenes() + { +#if UNITY_EDITOR + // Editor sceneCountInBuildSettings also includes disabled scenes. + return UnityEditor.EditorBuildSettings.scenes.Where(scene => scene.enabled).Select(scene => scene.path).ToArray(); +#else + return Enumerable.Range(0, SceneManager.sceneCountInBuildSettings).Select(SceneUtility.GetScenePathByBuildIndex).ToArray(); +#endif + } + + public static string Label(string scenePath) + { + return Path.GetFileNameWithoutExtension(scenePath) switch + { + "ColorPicker" => "Color picker", + "ObjectDetection" => "Object detection", + "CameraMappingForShaders" => "Camera shaders", + "ImageLLM" => "Image + voice AI", + "WebRTC-Quest" => "WebRTC streaming", + "QRCodeDetection" => "QR tracking (Meta native)", + var name => name + }; + } + + private void Update() + { + if (_loading) return; + var keyboard = Keyboard.current; + if (OVRInput.GetDown(OVRInput.RawButton.Y) || keyboard?.mKey.wasPressedThisFrame == true) + { + _canvas.enabled = !_canvas.enabled; + _stickHeld = true; + } + if (!_canvas.enabled) return; + var axis = OVRInput.Get(OVRInput.RawAxis2D.LThumbstick).y; + var direction = keyboard?.downArrowKey.wasPressedThisFrame == true ? 1 : keyboard?.upArrowKey.wasPressedThisFrame == true ? -1 : 0; + if (!_stickHeld && Mathf.Abs(axis) > 0.6f) direction = axis < 0 ? 1 : -1; + _stickHeld = Mathf.Abs(axis) > 0.3f; + if (direction != 0) + { + _selected = (_selected + direction + _paths.Length) % _paths.Length; + Refresh(); + } + if (OVRInput.GetDown(OVRInput.RawButton.X) || keyboard?.enterKey.wasPressedThisFrame == true) + { + _canvas.enabled = false; + if (_paths[_selected] == SceneManager.GetActiveScene().path) return; + _loading = true; + SceneManager.LoadSceneAsync(_paths[_selected], LoadSceneMode.Single); + } + } + + private void LateUpdate() + { + if (!_camera) _camera = Camera.main; + if (!_camera || !_canvas.enabled) return; + _canvas.worldCamera = _camera; + _canvas.transform.SetPositionAndRotation(_camera.transform.position + _camera.transform.forward * 1.15f, + _camera.transform.rotation); + } + + private void Refresh() + { + var content = "QuestCameraKit\n\n"; + for (var i = 0; i < _paths.Length; i++) + { + var name = Label(_paths[i]); + content += i == _selected ? "" + name + "\n" : " " + name + "\n"; + } + _text.text = content + "\nLeft stick: choose X: open Y: menu\nEditor: ↑/↓, Enter, M"; + } + } +} diff --git a/Unity-QuestVisionKit/Assets/Samples/Common/Scripts/SampleMenu.cs.meta b/Unity-QuestVisionKit/Assets/Samples/Common/Scripts/SampleMenu.cs.meta new file mode 100644 index 00000000..5004cabc --- /dev/null +++ b/Unity-QuestVisionKit/Assets/Samples/Common/Scripts/SampleMenu.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 49c4c281fb3b4545886ab20fcd8f964e diff --git a/Unity-QuestVisionKit/Assets/Samples/Common/Textures/Marker.png b/Unity-QuestVisionKit/Assets/Samples/Common/Textures/Marker.png index 86e529c0..8731d839 100644 Binary files a/Unity-QuestVisionKit/Assets/Samples/Common/Textures/Marker.png and b/Unity-QuestVisionKit/Assets/Samples/Common/Textures/Marker.png differ diff --git a/Unity-QuestVisionKit/Assets/Settings/DefaultVolumeProfile.asset b/Unity-QuestVisionKit/Assets/Settings/DefaultVolumeProfile.asset index 9e4bbfdd..66d98de6 100644 --- a/Unity-QuestVisionKit/Assets/Settings/DefaultVolumeProfile.asset +++ b/Unity-QuestVisionKit/Assets/Settings/DefaultVolumeProfile.asset @@ -379,6 +379,9 @@ MonoBehaviour: highQualityFiltering: m_OverrideState: 1 m_Value: 0 + filter: + m_OverrideState: 1 + m_Value: 0 downscale: m_OverrideState: 1 m_Value: 0 diff --git a/Unity-QuestVisionKit/Assets/Settings/Mobile_RPAsset.asset b/Unity-QuestVisionKit/Assets/Settings/Mobile_RPAsset.asset index 7418aaea..10345f7e 100644 --- a/Unity-QuestVisionKit/Assets/Settings/Mobile_RPAsset.asset +++ b/Unity-QuestVisionKit/Assets/Settings/Mobile_RPAsset.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} m_Name: Mobile_RPAsset m_EditorClassIdentifier: - k_AssetVersion: 12 + k_AssetVersion: 13 k_AssetPreviousVersion: 12 m_RendererType: 1 m_RendererData: {fileID: 0} @@ -128,9 +128,11 @@ MonoBehaviour: m_PrefilterSoftShadowsQualityHigh: 1 m_PrefilterSoftShadows: 0 m_PrefilterScreenCoord: 1 + m_PrefilterScreenSpaceIrradiance: 1 m_PrefilterNativeRenderPass: 1 m_PrefilterUseLegacyLightmaps: 0 m_PrefilterBicubicLightmapSampling: 1 + m_PrefilterReflectionProbeRotation: 1 m_PrefilterReflectionProbeBlending: 0 m_PrefilterReflectionProbeBoxProjection: 0 m_PrefilterReflectionProbeAtlas: 0 diff --git a/Unity-QuestVisionKit/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset b/Unity-QuestVisionKit/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset index 420ec33f..c3dfdd4d 100644 --- a/Unity-QuestVisionKit/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset +++ b/Unity-QuestVisionKit/Assets/Settings/UniversalRenderPipelineGlobalSettings.asset @@ -62,6 +62,11 @@ MonoBehaviour: - rid: 2452907206934003716 - rid: 2452907206934003717 - rid: 3273911531815305216 + - rid: 9216481595194343424 + - rid: 9216481595194343425 + - rid: 9216481595194343426 + - rid: 9216481595194343427 + - rid: 9216481595194343428 m_RuntimeSettings: m_List: - rid: 6852985685364965378 @@ -76,7 +81,9 @@ MonoBehaviour: - rid: 403800163008380928 - rid: 2452907206934003716 - rid: 2452907206934003717 - m_AssetVersion: 8 + - rid: 9216481595194343425 + - rid: 9216481595194343427 + m_AssetVersion: 10 m_ObsoleteDefaultVolumeProfile: {fileID: 0} m_RenderingLayerNames: - Light Layer default @@ -138,11 +145,11 @@ MonoBehaviour: m_SpriteUnshadowShader: {fileID: 4800000, guid: de02b375720b5c445afe83cd483bedf3, type: 3} m_GeometryShadowShader: {fileID: 4800000, guid: 19349a0f9a7ed4c48a27445bcf92e5e1, type: 3} m_GeometryUnshadowShader: {fileID: 4800000, guid: 77774d9009bb81447b048c907d4c6273, type: 3} - m_FallOffLookup: {fileID: 2800000, guid: 5688ab254e4c0634f8d6c8e0792331ca, type: 3} m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2} m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, type: 2} + m_DefaultMesh2DLitMaterial: {fileID: 2100000, guid: 9452ae1262a74094f8a68013fbcd1834, type: 2} - rid: 403800672990396482 type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} data: @@ -365,9 +372,9 @@ MonoBehaviour: m_CoreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3} m_CoreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3} m_SamplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} - m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3} - m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3} - m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3} + m_TerrainDetailLit: {fileID: 0} + m_TerrainDetailGrassBillboard: {fileID: 0} + m_TerrainDetailGrass: {fileID: 0} - rid: 6852985685364965381 type: {class: UniversalRenderPipelineRuntimeTextures, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} data: @@ -403,3 +410,38 @@ MonoBehaviour: data: m_Version: 0 m_CoreCopyPS: {fileID: 4800000, guid: 12dc59547ea167a4ab435097dd0f9add, type: 3} + - rid: 9216481595194343424 + type: {class: RayTracingRenderPipelineResources, ns: UnityEngine.Rendering.UnifiedRayTracing, asm: Unity.UnifiedRayTracing.Runtime} + data: + m_Version: 1 + m_GeometryPoolKernels: {fileID: 7200000, guid: 98e3d58cae7210c4786f67f504c9e899, type: 3} + m_CopyBuffer: {fileID: 7200000, guid: 1b95b5dcf48d1914c9e1e7405c7660e3, type: 3} + m_CopyPositions: {fileID: 7200000, guid: 1ad53a96b58d3c3488dde4f14db1aaeb, type: 3} + m_BitHistogram: {fileID: 7200000, guid: 8670f7ce4b60cef43bed36148aa1b0a2, type: 3} + m_BlockReducePart: {fileID: 7200000, guid: 4e034cc8ea2635c4e9f063e5ddc7ea7a, type: 3} + m_BlockScan: {fileID: 7200000, guid: 4d6d5de35fa45ef4a92119397a045cc9, type: 3} + m_BuildHlbvh: {fileID: 7200000, guid: 2d70cd6be91bd7843a39a54b51c15b13, type: 3} + m_RestructureBvh: {fileID: 7200000, guid: 56641cb88dcb31a4398a4997ef7a7a8c, type: 3} + m_Scatter: {fileID: 7200000, guid: a2eaeefdac4637a44b734e85b7be9186, type: 3} + - rid: 9216481595194343425 + type: {class: UniversalRenderPipelineRuntimeTerrainShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3} + m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3} + m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3} + - rid: 9216481595194343426 + type: {class: URPTerrainShaderSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_IncludeTerrainShaders: 1 + - rid: 9216481595194343427 + type: {class: URPReflectionProbeSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Universal.Runtime} + data: + version: 1 + useReflectionProbeRotation: 0 + - rid: 9216481595194343428 + type: {class: OnTilePostProcessResource, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_UberPostShader: {fileID: 4800000, guid: fe4f13c1004a07d4ea1e30bfd0326d9e, type: 3} diff --git a/Unity-QuestVisionKit/Assets/XR/APILayers~/AndroidLayers/arm64/XrApiLayer_QUAK_injection.json b/Unity-QuestVisionKit/Assets/XR/APILayers~/AndroidLayers/arm64/XrApiLayer_QUAK_injection.json new file mode 100644 index 00000000..b625cda4 --- /dev/null +++ b/Unity-QuestVisionKit/Assets/XR/APILayers~/AndroidLayers/arm64/XrApiLayer_QUAK_injection.json @@ -0,0 +1,10 @@ +{ + "file_format_version": "1.0.0", + "api_layer": { + "name": "XR_APILAYER_XRDEVROB_quak_injection", + "library_path": "libXrApiLayer_QUAK_injection.so", + "api_version": "1.1", + "implementation_version": "1", + "description": "QUAK controller injection layer for development testing" + } +} diff --git a/Unity-QuestVisionKit/Assets/XR/APILayers~/AndroidLayers/arm64/libXrApiLayer_QUAK_injection.so b/Unity-QuestVisionKit/Assets/XR/APILayers~/AndroidLayers/arm64/libXrApiLayer_QUAK_injection.so new file mode 100755 index 00000000..264fd149 Binary files /dev/null and b/Unity-QuestVisionKit/Assets/XR/APILayers~/AndroidLayers/arm64/libXrApiLayer_QUAK_injection.so differ diff --git a/Unity-QuestVisionKit/Assets/XR/Settings/OpenXRPackageSettings.asset b/Unity-QuestVisionKit/Assets/XR/Settings/OpenXRPackageSettings.asset index ac429f7d..6a91886c 100644 --- a/Unity-QuestVisionKit/Assets/XR/Settings/OpenXRPackageSettings.asset +++ b/Unity-QuestVisionKit/Assets/XR/Settings/OpenXRPackageSettings.asset @@ -21,7 +21,11 @@ MonoBehaviour: XR_META_vulkan_swapchain_create_info company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: + enableSubsampledLayout: 0 + useEyeTracking: 1 --- !u!114 &-9132924056263641117 MonoBehaviour: m_ObjectHideFlags: 0 @@ -39,10 +43,13 @@ MonoBehaviour: version: 0.1.0 featureIdInternal: com.unity.openxr.feature.arfoundation-meta-plane openxrExtensionStrings: XR_FB_scene XR_FB_spatial_entity XR_FB_spatial_entity_container - XR_META_spatial_entity_discovery + XR_META_spatial_entity_discovery XR_META_spatial_entity_semantic_label XR_META_spatial_entity_room_mesh company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: + m_PlaneProviderType: 1 --- !u!114 &-8947796621082057610 MonoBehaviour: m_ObjectHideFlags: 0 @@ -64,7 +71,9 @@ MonoBehaviour: XR_KHR_android_surface_swapchain company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-8935840914627311399 MonoBehaviour: m_ObjectHideFlags: 0 @@ -84,7 +93,9 @@ MonoBehaviour: openxrExtensionStrings: XR_META_touch_controller_plus company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-8550998992746279607 MonoBehaviour: m_ObjectHideFlags: 0 @@ -104,7 +115,9 @@ MonoBehaviour: openxrExtensionStrings: company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-8420787952174988049 MonoBehaviour: m_ObjectHideFlags: 0 @@ -121,7 +134,7 @@ MonoBehaviour: nameUi: Meta XR Feature version: 0.0.1 featureIdInternal: com.meta.openxr.feature.metaxr - openxrExtensionStrings: 'XR_KHR_vulkan_enable XR_KHR_D3D11_enable XR_OCULUS_common_reference_spaces + openxrExtensionStrings: XR_KHR_vulkan_enable XR_KHR_D3D11_enable XR_OCULUS_common_reference_spaces XR_FB_display_refresh_rate XR_EXT_performance_settings XR_FB_composition_layer_image_layout XR_KHR_android_surface_swapchain XR_FB_android_surface_swapchain_create XR_KHR_composition_layer_color_scale_bias XR_FB_color_space XR_EXT_hand_tracking XR_FB_swapchain_update_state XR_FB_swapchain_update_state_opengl_es @@ -145,15 +158,19 @@ MonoBehaviour: XR_LOGITECH_mx_ink_stylus_interaction XR_META_colocation_discovery XR_META_spatial_entity_sharing XR_META_spatial_entity_group_sharing XR_EXT_debug_utils XR_META_dynamic_object_tracker XR_META_dynamic_object_keyboard XR_META_hand_tracking_microgestures XR_META_spatial_entity_persistence - XR_META_spatial_entity_discovery XR_META_spatial_entity_semantic_label XR_META_spatial_entity_room_mesh - XR_META_boundary_visibility XR_META_face_tracking_visemes XR_META_headset_id - XR_FB_composition_layer_settings XR_META_automatic_layer_filter XR_METAX1_spatial_entity_marker + XR_META_spatial_entity_discovery XR_META_spatial_entity_room_mesh XR_META_boundary_visibility + XR_META_face_tracking_visemes XR_META_headset_id XR_FB_composition_layer_settings + XR_META_automatic_layer_filter XR_FB_composition_layer_secure_content XR_METAX1_spatial_entity_marker XR_EXT_spatial_entity XR_EXT_spatial_marker_tracking XR_META_environment_raycast - XR_EXT_future XR_EXTX2_stationary_reference_space XR_META_recommended_layer_resolution - XR_EXT_local_floor ' + XR_EXT_future XR_METAX2_debug_utils_region_profiling XR_METAX3_debug_utils_region_profiling + XR_EXTX2_stationary_reference_space XR_META_recommended_layer_resolution XR_EXT_local_floor + XR_METAX1_passthrough_camera_data XR_META_hand_tracking_frequency_hint XR_META_hand_tracking_unextrapolated_poses + XR_META_hand_tracking_wide_motion_mode2 XR_METAX1_agentic_external_tool company: Meta priority: 0 + targetOpenXRApiVersion: 1.1.45 required: 0 + customRuntimeLoaderName: --- !u!114 &-8365916145334193358 MonoBehaviour: m_ObjectHideFlags: 0 @@ -173,7 +190,11 @@ MonoBehaviour: openxrExtensionStrings: XR_FB_passthrough company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: + m_CameraImageSupport: 0 + m_PassthroughPreSplashScreen: 0 --- !u!114 &-8330565084897345904 MonoBehaviour: m_ObjectHideFlags: 0 @@ -223,6 +244,21 @@ MonoBehaviour: - {fileID: -6143807727169299428} - {fileID: 5102455211709725139} - {fileID: 8435003320859919459} + - {fileID: 1870022304357730501} + - {fileID: -7090151466276671336} + - {fileID: -1404192864482536734} + - {fileID: 1956089420635840536} + - {fileID: -1562043840384134362} + - {fileID: 955539454941316349} + - {fileID: -1286049194203868381} + - {fileID: -4369774700514534353} + - {fileID: 3148692146319188108} + - {fileID: 8830634233110230386} + - {fileID: 1597222767847927950} + - {fileID: -4697441752016129036} + - {fileID: -4112553123875102057} + - {fileID: 1497418547066896282} + customLoaderName: m_renderMode: 1 m_latencyOptimization: 0 m_autoColorSubmissionMode: 1 @@ -256,7 +292,31 @@ MonoBehaviour: openxrExtensionStrings: XR_FB_touch_controller_pro company: Unity priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: +--- !u!114 &-8152486620162250606 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eda5cc6e8db3d9944bf84a7379663d7c, type: 3} + m_Name: DetachedMetaQuestTouchProControllerProfile Standalone + m_EditorClassIdentifier: Oculus.VR::Meta.XR.DetachedMetaQuestTouchProControllerProfile + m_enabled: 0 + nameUi: Detached Meta Quest Touch Pro Controller Profile + version: 0.0.1 + featureIdInternal: com.meta.openxr.feature.input.metaquestpro.detached + openxrExtensionStrings: XR_META_detached_controllers + company: Meta + priority: 0 + targetOpenXRApiVersion: 1.1.45 required: 0 + customRuntimeLoaderName: --- !u!114 &-7439528050697771762 MonoBehaviour: m_ObjectHideFlags: 0 @@ -276,7 +336,9 @@ MonoBehaviour: openxrExtensionStrings: company: Unity Technologies priority: 2147483647 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-7166464912542184088 MonoBehaviour: m_ObjectHideFlags: 0 @@ -297,7 +359,32 @@ MonoBehaviour: XR_META_spatial_entity_sharing XR_META_spatial_entity_group_sharing XR_FB_spatial_entity_query company: Unity Technologies priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: +--- !u!114 &-7090151466276671336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d4f7049b82bd4c5bb751195883f5a421, type: 3} + m_Name: QuakObservabilityFeature Android + m_EditorClassIdentifier: XRDevRob.QUAK.Direct::XRDevRob.QUAK.Direct.QuakObservabilityFeature + m_enabled: 1 + nameUi: QUAK Runtime Observability + version: 0.3.1 + featureIdInternal: com.xrdevrob.quak.observability + openxrExtensionStrings: XR_META_performance_metrics XR_FB_display_refresh_rate + XR_FB_passthrough XR_META_passthrough_layer_resumed_event + company: XR Dev Rob + priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-6979939743321133505 MonoBehaviour: m_ObjectHideFlags: 0 @@ -318,7 +405,9 @@ MonoBehaviour: XR_META_spatial_entity_discovery company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-6712991844789924928 MonoBehaviour: m_ObjectHideFlags: 0 @@ -339,7 +428,9 @@ MonoBehaviour: XR_META_spatial_entity_sharing XR_META_spatial_entity_group_sharing XR_FB_spatial_entity_query company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-6143807727169299428 MonoBehaviour: m_ObjectHideFlags: 0 @@ -359,7 +450,33 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_palm_pose company: Unity priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: +--- !u!114 &-5441574068919605418 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a9cc40e7c09aec94ca78bbcd76fc3508, type: 3} + m_Name: DebugUtilsFeature Standalone + m_EditorClassIdentifier: Unity.XR.OpenXR::UnityEngine.XR.OpenXR.Features.DebugUtilsFeature + m_enabled: 0 + nameUi: Debug Utils + version: 1.0.0 + featureIdInternal: com.unity.openxr.feature.debugutils + openxrExtensionStrings: XR_EXT_debug_utils + company: Unity + priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: + m_MessageSeverity: 4369 + m_MessageType: 15 --- !u!114 &-5411347009713286528 MonoBehaviour: m_ObjectHideFlags: 0 @@ -376,7 +493,7 @@ MonoBehaviour: nameUi: Meta XR Feature version: 0.0.1 featureIdInternal: com.meta.openxr.feature.metaxr - openxrExtensionStrings: 'XR_KHR_vulkan_enable XR_KHR_D3D11_enable XR_OCULUS_common_reference_spaces + openxrExtensionStrings: XR_KHR_vulkan_enable XR_KHR_D3D11_enable XR_OCULUS_common_reference_spaces XR_FB_display_refresh_rate XR_EXT_performance_settings XR_FB_composition_layer_image_layout XR_KHR_android_surface_swapchain XR_FB_android_surface_swapchain_create XR_KHR_composition_layer_color_scale_bias XR_FB_color_space XR_EXT_hand_tracking XR_FB_swapchain_update_state XR_FB_swapchain_update_state_opengl_es @@ -400,15 +517,19 @@ MonoBehaviour: XR_LOGITECH_mx_ink_stylus_interaction XR_META_colocation_discovery XR_META_spatial_entity_sharing XR_META_spatial_entity_group_sharing XR_EXT_debug_utils XR_META_dynamic_object_tracker XR_META_dynamic_object_keyboard XR_META_hand_tracking_microgestures XR_META_spatial_entity_persistence - XR_META_spatial_entity_discovery XR_META_spatial_entity_semantic_label XR_META_spatial_entity_room_mesh - XR_META_boundary_visibility XR_META_face_tracking_visemes XR_META_headset_id - XR_FB_composition_layer_settings XR_META_automatic_layer_filter XR_METAX1_spatial_entity_marker + XR_META_spatial_entity_discovery XR_META_spatial_entity_room_mesh XR_META_boundary_visibility + XR_META_face_tracking_visemes XR_META_headset_id XR_FB_composition_layer_settings + XR_META_automatic_layer_filter XR_FB_composition_layer_secure_content XR_METAX1_spatial_entity_marker XR_EXT_spatial_entity XR_EXT_spatial_marker_tracking XR_META_environment_raycast - XR_EXT_future XR_EXTX2_stationary_reference_space XR_META_recommended_layer_resolution - XR_EXT_local_floor ' + XR_EXT_future XR_METAX2_debug_utils_region_profiling XR_METAX3_debug_utils_region_profiling + XR_EXTX2_stationary_reference_space XR_META_recommended_layer_resolution XR_EXT_local_floor + XR_METAX1_passthrough_camera_data XR_META_hand_tracking_frequency_hint XR_META_hand_tracking_unextrapolated_poses + XR_META_hand_tracking_wide_motion_mode2 XR_METAX1_agentic_external_tool company: Meta priority: 0 + targetOpenXRApiVersion: 1.1.45 required: 0 + customRuntimeLoaderName: --- !u!114 &-5361699676124748329 MonoBehaviour: m_ObjectHideFlags: 0 @@ -428,7 +549,9 @@ MonoBehaviour: openxrExtensionStrings: company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-5296294825284691079 MonoBehaviour: m_ObjectHideFlags: 0 @@ -478,6 +601,17 @@ MonoBehaviour: - {fileID: -3917559466099097455} - {fileID: -3619693645398152916} - {fileID: -3573913667219006913} + - {fileID: -143030434218049668} + - {fileID: -2038706073192841443} + - {fileID: -5441574068919605418} + - {fileID: -4701163122809735362} + - {fileID: 1832205211974185616} + - {fileID: -4966867344118545119} + - {fileID: 310969308472841292} + - {fileID: -8152486620162250606} + - {fileID: 3794499577215266604} + - {fileID: -2157660816303702557} + customLoaderName: m_renderMode: 1 m_latencyOptimization: 0 m_autoColorSubmissionMode: 1 @@ -492,6 +626,28 @@ MonoBehaviour: m_hasMigratedMultiviewRenderRegionSetting: 1 m_foveatedRenderingApi: 0 m_useOpenXRPredictedTime: 0 +--- !u!114 &-4966867344118545119 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e314dfef9af0904e80129bcc0a79361, type: 3} + m_Name: HandTracking Standalone + m_EditorClassIdentifier: Unity.XR.Hands::UnityEngine.XR.Hands.OpenXR.HandTracking + m_enabled: 0 + nameUi: Hand Tracking Subsystem + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.handtracking + openxrExtensionStrings: XR_EXT_hand_tracking + company: Unity + priority: -100 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: --- !u!114 &-4891527772022199976 MonoBehaviour: m_ObjectHideFlags: 0 @@ -511,7 +667,9 @@ MonoBehaviour: openxrExtensionStrings: company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-4831367741565080420 MonoBehaviour: m_ObjectHideFlags: 0 @@ -531,7 +689,54 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_hand_interaction company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: +--- !u!114 &-4701163122809735362 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 726b8292bd60ba7429f3d2818eb4298d, type: 3} + m_Name: MetaSocialEyeGazeFeature Standalone + m_EditorClassIdentifier: Unity.XR.MetaOpenXR::UnityEngine.XR.OpenXR.Features.Meta.MetaSocialEyeGazeFeature + m_enabled: 0 + nameUi: 'Meta Quest: Social Eye Gaze' + version: 0.1.0 + featureIdInternal: com.unity.openxr.feature.meta-social-eye-gaze + openxrExtensionStrings: XR_FB_eye_tracking_social + company: Unity Technologies + priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: + m_EyeTrackingRequired: 0 +--- !u!114 &-4697441752016129036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eda5cc6e8db3d9944bf84a7379663d7c, type: 3} + m_Name: DetachedMetaQuestTouchProControllerProfile Android + m_EditorClassIdentifier: Oculus.VR::Meta.XR.DetachedMetaQuestTouchProControllerProfile + m_enabled: 0 + nameUi: Detached Meta Quest Touch Pro Controller Profile + version: 0.0.1 + featureIdInternal: com.meta.openxr.feature.input.metaquestpro.detached + openxrExtensionStrings: XR_META_detached_controllers + company: Meta + priority: 0 + targetOpenXRApiVersion: 1.1.45 + required: 0 + customRuntimeLoaderName: --- !u!114 &-4567486926342659840 MonoBehaviour: m_ObjectHideFlags: 0 @@ -551,7 +756,9 @@ MonoBehaviour: openxrExtensionStrings: XR_MSFT_hand_interaction company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-4378267278008522832 MonoBehaviour: m_ObjectHideFlags: 0 @@ -571,7 +778,9 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_conformance_automation company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-4369854559154989587 MonoBehaviour: m_ObjectHideFlags: 0 @@ -591,7 +800,54 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_hand_interaction company: Unity priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: +--- !u!114 &-4369774700514534353 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 726b8292bd60ba7429f3d2818eb4298d, type: 3} + m_Name: MetaSocialEyeGazeFeature Android + m_EditorClassIdentifier: Unity.XR.MetaOpenXR::UnityEngine.XR.OpenXR.Features.Meta.MetaSocialEyeGazeFeature + m_enabled: 0 + nameUi: 'Meta Quest: Social Eye Gaze' + version: 0.1.0 + featureIdInternal: com.unity.openxr.feature.meta-social-eye-gaze + openxrExtensionStrings: XR_FB_eye_tracking_social + company: Unity Technologies + priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: + m_EyeTrackingRequired: 0 +--- !u!114 &-4112553123875102057 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 37086d3966675294eb1c38ad413c6817, type: 3} + m_Name: DetachedMetaQuestTouchPlusControllerProfile Android + m_EditorClassIdentifier: Oculus.VR::Meta.XR.DetachedMetaQuestTouchPlusControllerProfile + m_enabled: 0 + nameUi: Detached Meta Quest Touch Plus Controller Profile + version: 0.0.1 + featureIdInternal: com.meta.openxr.feature.input.metaquestplus.detached + openxrExtensionStrings: XR_META_detached_controllers + company: Meta + priority: 0 + targetOpenXRApiVersion: 1.1.45 + required: 0 + customRuntimeLoaderName: --- !u!114 &-3917559466099097455 MonoBehaviour: m_ObjectHideFlags: 0 @@ -611,7 +867,9 @@ MonoBehaviour: openxrExtensionStrings: company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: cacheSize: 1048576 perThreadCacheSize: 51200 --- !u!114 &-3908372613337139046 @@ -633,7 +891,9 @@ MonoBehaviour: openxrExtensionStrings: 'XR_FB_foveation XR_FB_foveation_configuration XR_FB_foveation_vulkan ' company: Meta priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-3879968863677489619 MonoBehaviour: m_ObjectHideFlags: 0 @@ -653,7 +913,9 @@ MonoBehaviour: openxrExtensionStrings: XR_KHR_binding_modification XR_EXT_dpad_binding company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: forceThresholdLeft: 0.5 forceThresholdReleaseLeft: 0.4 centerRegionLeft: 0.5 @@ -686,7 +948,9 @@ MonoBehaviour: openxrExtensionStrings: company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-3612894738682258099 MonoBehaviour: m_ObjectHideFlags: 0 @@ -706,7 +970,9 @@ MonoBehaviour: openxrExtensionStrings: XR_META_colocation_discovery company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-3573913667219006913 MonoBehaviour: m_ObjectHideFlags: 0 @@ -726,7 +992,9 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_performance_settings company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-3539225086063334714 MonoBehaviour: m_ObjectHideFlags: 0 @@ -746,7 +1014,9 @@ MonoBehaviour: openxrExtensionStrings: XR_UNITY_null_gfx XR_UNITY_android_present company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: ignoreValidationErrors: 0 --- !u!114 &-3149511590245656202 MonoBehaviour: @@ -767,7 +1037,9 @@ MonoBehaviour: openxrExtensionStrings: company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-2910941232163460293 MonoBehaviour: m_ObjectHideFlags: 0 @@ -787,7 +1059,9 @@ MonoBehaviour: openxrExtensionStrings: XR_META_colocation_discovery company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-2800700357289696415 MonoBehaviour: m_ObjectHideFlags: 0 @@ -807,7 +1081,9 @@ MonoBehaviour: openxrExtensionStrings: company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-2672175567590219038 MonoBehaviour: m_ObjectHideFlags: 0 @@ -822,6 +1098,7 @@ MonoBehaviour: m_EditorClassIdentifier: features: - {fileID: 379357747105527818} + customLoaderName: m_renderMode: 1 m_latencyOptimization: 0 m_autoColorSubmissionMode: 1 @@ -855,7 +1132,9 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_conformance_automation company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-2171581160409085523 MonoBehaviour: m_ObjectHideFlags: 0 @@ -875,7 +1154,55 @@ MonoBehaviour: openxrExtensionStrings: 'XR_FB_foveation XR_FB_foveation_configuration XR_FB_foveation_vulkan ' company: Meta priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: +--- !u!114 &-2157660816303702557 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b82a8cddc5afeb145ad4e1d76511063f, type: 3} + m_Name: DetachedOculusTouchControllerProfile Standalone + m_EditorClassIdentifier: Oculus.VR::Meta.XR.DetachedOculusTouchControllerProfile + m_enabled: 0 + nameUi: Detached Oculus Touch Controller Profile + version: 0.0.1 + featureIdInternal: com.meta.openxr.feature.input.oculustouch.detached + openxrExtensionStrings: XR_META_detached_controllers + company: Meta + priority: 0 + targetOpenXRApiVersion: 1.1.45 + required: 0 + customRuntimeLoaderName: +--- !u!114 &-2038706073192841443 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ee92377a8e0c873458b71a94a80f3394, type: 3} + m_Name: ApiLayersFeature Standalone + m_EditorClassIdentifier: Unity.XR.OpenXR::UnityEngine.XR.OpenXR.Features.ApiLayersFeature + m_enabled: 0 + nameUi: API Layers + version: 1.0.0 + featureIdInternal: com.unity.openxr.feature.apilayers + openxrExtensionStrings: + company: Unity + priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: + m_ApiLayers: + m_Collection: [] --- !u!114 &-1881737223572482353 MonoBehaviour: m_ObjectHideFlags: 0 @@ -895,7 +1222,9 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_eye_gaze_interaction company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-1646802134076653481 MonoBehaviour: m_ObjectHideFlags: 0 @@ -912,10 +1241,80 @@ MonoBehaviour: nameUi: 'Meta Quest: Raycasts' version: 0.1.0 featureIdInternal: com.unity.openxr.feature.arfoundation-meta-raycast - openxrExtensionStrings: + openxrExtensionStrings: XR_EXT_future XR_META_environment_raycast company: Unity Technologies priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: +--- !u!114 &-1562043840384134362 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9f06e90513f934dc6891726a9f2a0444, type: 3} + m_Name: AndroidMouseInteractionProfile Android + m_EditorClassIdentifier: Unity.XR.OpenXR::UnityEngine.XR.OpenXR.Features.Interactions.AndroidMouseInteractionProfile + m_enabled: 0 + nameUi: Android Mouse Interaction Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.androidmouse + openxrExtensionStrings: XR_ANDROID_mouse_interaction + company: Unity + priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: +--- !u!114 &-1404192864482536734 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 902a2253d8b44355ab6bd99b6a723657, type: 3} + m_Name: QuakSimultaneousInputFeature Android + m_EditorClassIdentifier: XRDevRob.QUAK.Direct::XRDevRob.QUAK.Direct.QuakSimultaneousInputFeature + m_enabled: 0 + nameUi: QUAK Simultaneous Hands and Controllers + version: 0.3.1 + featureIdInternal: com.xrdevrob.quak.simultaneous-input + openxrExtensionStrings: XR_META_simultaneous_hands_and_controllers + company: XR Dev Rob + priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: +--- !u!114 &-1286049194203868381 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 92efb7dda02dc484c90845a437c4784e, type: 3} + m_Name: AutomaticDynamicResolutionFeature Android + m_EditorClassIdentifier: Unity.XR.OpenXR::UnityEngine.XR.OpenXR.Features.AutomaticDynamicResolutionFeature + m_enabled: 0 + nameUi: Automatic Viewport Dynamic Resolution + version: 1.0.0 + featureIdInternal: com.unity.openxr.feature.ViewportDynamicResolution + openxrExtensionStrings: XR_META_recommended_layer_resolution XR_ANDROID_recommended_resolution + company: Unity + priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: + m_MinResolutionScalar: 0.05 + m_MaxResolutionScalar: 1 --- !u!114 &-1262892902944514323 MonoBehaviour: m_ObjectHideFlags: 0 @@ -935,7 +1334,9 @@ MonoBehaviour: openxrExtensionStrings: XR_FB_scene_capture company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-1148844509934047822 MonoBehaviour: m_ObjectHideFlags: 0 @@ -956,7 +1357,9 @@ MonoBehaviour: XR_META_spatial_entity_mesh company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-934190242276928848 MonoBehaviour: m_ObjectHideFlags: 0 @@ -976,7 +1379,9 @@ MonoBehaviour: openxrExtensionStrings: XR_MSFT_hand_interaction company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-921901733610244487 MonoBehaviour: m_ObjectHideFlags: 0 @@ -996,7 +1401,9 @@ MonoBehaviour: openxrExtensionStrings: XR_FB_touch_controller_pro company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &-423117203941099253 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1013,10 +1420,34 @@ MonoBehaviour: nameUi: 'Meta Quest: Raycasts' version: 0.1.0 featureIdInternal: com.unity.openxr.feature.arfoundation-meta-raycast - openxrExtensionStrings: + openxrExtensionStrings: XR_EXT_future XR_META_environment_raycast company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: +--- !u!114 &-143030434218049668 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 71063a1b14d143f6990812f86e57c826, type: 3} + m_Name: QuakOperatorFeature Standalone + m_EditorClassIdentifier: XRDevRob.QUAK.MetaOperator::XRDevRob.QUAK.MetaOperator.QuakOperatorFeature + m_enabled: 0 + nameUi: QUAK Meta XR Operator Bridge + version: 0.3.1 + featureIdInternal: com.xrdevrob.quak.operator-bridge + openxrExtensionStrings: XR_METAX1_agentic_external_tool + company: XR Dev Rob + priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1054,7 +1485,31 @@ MonoBehaviour: XR_META_spatial_entity_mesh company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: +--- !u!114 &310969308472841292 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b8f7a7b4a7bf27d4d96b8eb673f5174e, type: 3} + m_Name: OculusTouchControllerProximityProfile Standalone + m_EditorClassIdentifier: Oculus.VR::Meta.XR.OculusTouchControllerProximityProfile + m_enabled: 0 + nameUi: Oculus Touch Controller Proximity Interaction + version: 0.0.1 + featureIdInternal: com.meta.openxr.feature.input.oculustouch.proximity + openxrExtensionStrings: XR_FB_touch_controller_proximity + company: Meta + priority: 0 + targetOpenXRApiVersion: 1.1.45 + required: 0 + customRuntimeLoaderName: --- !u!114 &379357747105527818 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1074,7 +1529,9 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_performance_settings company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &511482407335002628 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1096,7 +1553,9 @@ MonoBehaviour: XR_KHR_android_surface_swapchain company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &533715201225709970 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1116,7 +1575,9 @@ MonoBehaviour: openxrExtensionStrings: XR_FB_display_refresh_rate company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &717180094565253072 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1137,7 +1598,33 @@ MonoBehaviour: XR_META_spatial_entity_discovery company: Unity Technologies priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: +--- !u!114 &955539454941316349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a9cc40e7c09aec94ca78bbcd76fc3508, type: 3} + m_Name: DebugUtilsFeature Android + m_EditorClassIdentifier: Unity.XR.OpenXR::UnityEngine.XR.OpenXR.Features.DebugUtilsFeature + m_enabled: 0 + nameUi: Debug Utils + version: 1.0.0 + featureIdInternal: com.unity.openxr.feature.debugutils + openxrExtensionStrings: XR_EXT_debug_utils + company: Unity + priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: + m_MessageSeverity: 4369 + m_MessageType: 15 --- !u!114 &1135446877526356465 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1157,7 +1644,9 @@ MonoBehaviour: openxrExtensionStrings: XR_META_vulkan_swapchain_create_info company: Meta priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &1260145795657061289 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1177,7 +1666,9 @@ MonoBehaviour: openxrExtensionStrings: XR_FB_space_warp company: Meta priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &1326752345027777620 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1197,9 +1688,33 @@ MonoBehaviour: openxrExtensionStrings: XR_OCULUS_android_initialize_loader company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: targetQuest: 1 targetQuest2: 1 +--- !u!114 &1497418547066896282 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b82a8cddc5afeb145ad4e1d76511063f, type: 3} + m_Name: DetachedOculusTouchControllerProfile Android + m_EditorClassIdentifier: Oculus.VR::Meta.XR.DetachedOculusTouchControllerProfile + m_enabled: 0 + nameUi: Detached Oculus Touch Controller Profile + version: 0.0.1 + featureIdInternal: com.meta.openxr.feature.input.oculustouch.detached + openxrExtensionStrings: XR_META_detached_controllers + company: Meta + priority: 0 + targetOpenXRApiVersion: 1.1.45 + required: 0 + customRuntimeLoaderName: --- !u!114 &1565985461181378735 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1219,7 +1734,9 @@ MonoBehaviour: openxrExtensionStrings: XR_OCULUS_android_initialize_loader company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: targetDevices: - visibleName: Quest manifestName: quest @@ -1237,16 +1754,38 @@ MonoBehaviour: manifestName: quest3s enabled: 1 forceRemoveInternetPermission: 0 - symmetricProjection: 0 - foveatedRenderingApi: 0 + m_symmetricProjection: 0 systemSplashScreen: {fileID: 0} - optimizeBufferDiscards: 1 + enableSystemKeyboard: 0 + m_optimizeBufferDiscards: 1 lateLatchingMode: 0 lateLatchingDebug: 0 optimizeMultiviewRenderRegions: 0 - multiviewRenderRegionsOptimizationMode: 0 + m_multiviewRenderRegionsOptimizationMode: 0 m_hasMigratedMultiviewRenderRegions: 1 spacewarpMotionVectorTextureFormat: 0 +--- !u!114 &1597222767847927950 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b8f7a7b4a7bf27d4d96b8eb673f5174e, type: 3} + m_Name: OculusTouchControllerProximityProfile Android + m_EditorClassIdentifier: Oculus.VR::Meta.XR.OculusTouchControllerProximityProfile + m_enabled: 0 + nameUi: Oculus Touch Controller Proximity Interaction + version: 0.0.1 + featureIdInternal: com.meta.openxr.feature.input.oculustouch.proximity + openxrExtensionStrings: XR_FB_touch_controller_proximity + company: Meta + priority: 0 + targetOpenXRApiVersion: 1.1.45 + required: 0 + customRuntimeLoaderName: --- !u!114 &1609786898934162618 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1266,8 +1805,87 @@ MonoBehaviour: openxrExtensionStrings: XR_UNITY_null_gfx XR_UNITY_android_present company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: ignoreValidationErrors: 0 +--- !u!114 &1832205211974185616 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b3aced3429e5911458f4da2dac9d0f29, type: 3} + m_Name: MetaHandTrackingAim Standalone + m_EditorClassIdentifier: Unity.XR.Hands::UnityEngine.XR.Hands.OpenXR.MetaHandTrackingAim + m_enabled: 0 + nameUi: Meta Hand Tracking Aim + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.metahandtrackingaim + openxrExtensionStrings: XR_FB_hand_tracking_aim + company: Unity + priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: +--- !u!114 &1870022304357730501 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 71063a1b14d143f6990812f86e57c826, type: 3} + m_Name: QuakOperatorFeature Android + m_EditorClassIdentifier: XRDevRob.QUAK.MetaOperator::XRDevRob.QUAK.MetaOperator.QuakOperatorFeature + m_enabled: 0 + nameUi: QUAK Meta XR Operator Bridge + version: 0.3.1 + featureIdInternal: com.xrdevrob.quak.operator-bridge + openxrExtensionStrings: XR_METAX1_agentic_external_tool + company: XR Dev Rob + priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: +--- !u!114 &1956089420635840536 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ee92377a8e0c873458b71a94a80f3394, type: 3} + m_Name: ApiLayersFeature Android + m_EditorClassIdentifier: Unity.XR.OpenXR::UnityEngine.XR.OpenXR.Features.ApiLayersFeature + m_enabled: 1 + nameUi: API Layers + version: 1.0.0 + featureIdInternal: com.unity.openxr.feature.apilayers + openxrExtensionStrings: + company: Unity + priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: + m_ApiLayers: + m_Collection: + - m_Json: + name: XR_APILAYER_XRDEVROB_quak_injection + library_path: libXrApiLayer_QUAK_injection.so + api_version: 1.1 + implementation_version: 1 + description: QUAK controller injection layer for development testing + m_JsonFileName: XrApiLayer_QUAK_injection.json + m_LibraryArchitecture: 3 + m_IsEnabled: 1 --- !u!114 &2117131132967209344 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1287,7 +1905,9 @@ MonoBehaviour: openxrExtensionStrings: XR_FB_display_refresh_rate company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &2142621243156760864 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1307,7 +1927,11 @@ MonoBehaviour: openxrExtensionStrings: XR_FB_passthrough company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: + m_CameraImageSupport: 0 + m_PassthroughPreSplashScreen: 0 --- !u!114 &2538119115665746326 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1327,7 +1951,9 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_hp_mixed_reality_controller company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &3067333943229690518 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1347,7 +1973,9 @@ MonoBehaviour: openxrExtensionStrings: XR_META_vulkan_swapchain_create_info company: Meta priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &3087575729072840571 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1365,10 +1993,35 @@ MonoBehaviour: version: 0.1.0 featureIdInternal: com.unity.openxr.feature.arfoundation-meta-plane openxrExtensionStrings: XR_FB_scene XR_FB_spatial_entity XR_FB_spatial_entity_container - XR_META_spatial_entity_discovery + XR_META_spatial_entity_discovery XR_META_spatial_entity_semantic_label XR_META_spatial_entity_room_mesh company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: + m_PlaneProviderType: 1 +--- !u!114 &3148692146319188108 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b3aced3429e5911458f4da2dac9d0f29, type: 3} + m_Name: MetaHandTrackingAim Android + m_EditorClassIdentifier: Unity.XR.Hands::UnityEngine.XR.Hands.OpenXR.MetaHandTrackingAim + m_enabled: 0 + nameUi: Meta Hand Tracking Aim + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.metahandtrackingaim + openxrExtensionStrings: XR_FB_hand_tracking_aim + company: Unity + priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: --- !u!114 &3224705864181665961 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1388,7 +2041,9 @@ MonoBehaviour: openxrExtensionStrings: XR_META_boundary_visibility company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: m_SuppressVisibility: 0 --- !u!114 &3241428883729976263 MonoBehaviour: @@ -1409,7 +2064,9 @@ MonoBehaviour: openxrExtensionStrings: XR_META_environment_depth company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: m_EnableHandRemoval: 0 --- !u!114 &3602157137861117232 MonoBehaviour: @@ -1430,7 +2087,31 @@ MonoBehaviour: openxrExtensionStrings: XR_FB_scene_capture company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: +--- !u!114 &3794499577215266604 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 37086d3966675294eb1c38ad413c6817, type: 3} + m_Name: DetachedMetaQuestTouchPlusControllerProfile Standalone + m_EditorClassIdentifier: Oculus.VR::Meta.XR.DetachedMetaQuestTouchPlusControllerProfile + m_enabled: 0 + nameUi: Detached Meta Quest Touch Plus Controller Profile + version: 0.0.1 + featureIdInternal: com.meta.openxr.feature.input.metaquestplus.detached + openxrExtensionStrings: XR_META_detached_controllers + company: Meta + priority: 0 + targetOpenXRApiVersion: 1.1.45 + required: 0 + customRuntimeLoaderName: --- !u!114 &4030184609890416108 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1450,7 +2131,9 @@ MonoBehaviour: openxrExtensionStrings: company: Unity Technologies priority: 2147483647 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &4847868489824130819 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1471,7 +2154,9 @@ MonoBehaviour: XR_META_vulkan_swapchain_create_info company: Meta priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &5102455211709725139 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1491,7 +2176,9 @@ MonoBehaviour: openxrExtensionStrings: company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: cacheSize: 1048576 perThreadCacheSize: 51200 --- !u!114 &5125735900091436663 @@ -1515,7 +2202,11 @@ MonoBehaviour: XR_META_vulkan_swapchain_create_info company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: + enableSubsampledLayout: 0 + useEyeTracking: 1 --- !u!114 &5336749270260247149 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1535,7 +2226,9 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_hand_interaction company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &5648404623096385006 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1556,7 +2249,9 @@ MonoBehaviour: XR_META_vulkan_swapchain_create_info company: Meta priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &5675199094317155618 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1576,7 +2271,9 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_eye_gaze_interaction company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &5956611024726624234 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1596,7 +2293,9 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_hand_interaction company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &6870842023019548404 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1616,7 +2315,9 @@ MonoBehaviour: openxrExtensionStrings: XR_KHR_binding_modification XR_EXT_dpad_binding company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: forceThresholdLeft: 0.5 forceThresholdReleaseLeft: 0.4 centerRegionLeft: 0.5 @@ -1649,7 +2350,9 @@ MonoBehaviour: openxrExtensionStrings: XR_META_touch_controller_plus company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &7064048387362446299 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1669,7 +2372,9 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_palm_pose company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &7466526547693736805 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1689,7 +2394,9 @@ MonoBehaviour: openxrExtensionStrings: XR_META_boundary_visibility company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: m_SuppressVisibility: 0 --- !u!114 &8073467504402296493 MonoBehaviour: @@ -1710,7 +2417,9 @@ MonoBehaviour: openxrExtensionStrings: XR_FB_space_warp company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: m_UseRightHandedNDC: 0 --- !u!114 &8086081001217593215 MonoBehaviour: @@ -1731,7 +2440,9 @@ MonoBehaviour: openxrExtensionStrings: company: Unity priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: --- !u!114 &8315825076233044802 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1751,7 +2462,9 @@ MonoBehaviour: openxrExtensionStrings: XR_META_environment_depth company: Unity Technologies priority: 0 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: m_EnableHandRemoval: 0 --- !u!114 &8435003320859919459 MonoBehaviour: @@ -1772,4 +2485,28 @@ MonoBehaviour: openxrExtensionStrings: XR_EXT_performance_settings company: Unity priority: 0 + targetOpenXRApiVersion: + required: 0 + customRuntimeLoaderName: +--- !u!114 &8830634233110230386 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e314dfef9af0904e80129bcc0a79361, type: 3} + m_Name: HandTracking Android + m_EditorClassIdentifier: Unity.XR.Hands::UnityEngine.XR.Hands.OpenXR.HandTracking + m_enabled: 0 + nameUi: Hand Tracking Subsystem + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.handtracking + openxrExtensionStrings: XR_EXT_hand_tracking + company: Unity + priority: -100 + targetOpenXRApiVersion: required: 0 + customRuntimeLoaderName: diff --git a/Unity-QuestVisionKit/Assets/packages.config b/Unity-QuestVisionKit/Assets/packages.config deleted file mode 100644 index a2bfa8e3..00000000 --- a/Unity-QuestVisionKit/Assets/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Unity-QuestVisionKit/Assets/packages.config.meta b/Unity-QuestVisionKit/Assets/packages.config.meta deleted file mode 100644 index 2c0e115e..00000000 --- a/Unity-QuestVisionKit/Assets/packages.config.meta +++ /dev/null @@ -1,28 +0,0 @@ -fileFormatVersion: 2 -guid: d8df8f384bfa749db9ba8218aa8f54c0 -labels: -- NuGetForUnity -PluginImporter: - externalObjects: {} - serializedVersion: 3 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - Any: - enabled: 0 - settings: {} - Editor: - enabled: 0 - settings: - DefaultValueInitialized: true - WindowsStoreApps: - enabled: 0 - settings: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-QuestVisionKit/Packages/com.xrdevrob.quak-0.4.0-alpha.1.tgz b/Unity-QuestVisionKit/Packages/com.xrdevrob.quak-0.4.0-alpha.1.tgz new file mode 100644 index 00000000..ea65322d Binary files /dev/null and b/Unity-QuestVisionKit/Packages/com.xrdevrob.quak-0.4.0-alpha.1.tgz differ diff --git a/Unity-QuestVisionKit/Packages/manifest.json b/Unity-QuestVisionKit/Packages/manifest.json index 4fcd2bd6..eaf244df 100644 --- a/Unity-QuestVisionKit/Packages/manifest.json +++ b/Unity-QuestVisionKit/Packages/manifest.json @@ -1,17 +1,17 @@ { "dependencies": { - "com.meta.xr.mrutilitykit": "83.0.4", - "com.meta.xr.sdk.core": "83.0.4", - "com.unity.ai.inference": "2.3.0", - "com.unity.ide.rider": "3.0.38", - "com.unity.ide.visualstudio": "2.0.23", - "com.unity.inputsystem": "1.14.2", - "com.unity.mobile.android-logcat": "1.4.6", - "com.unity.render-pipelines.universal": "17.2.0", + "com.meta.xr.mrutilitykit": "205.0.0", + "com.meta.xr.sdk.core": "205.0.0", + "com.unity.ai.inference": "2.6.1", + "com.unity.ide.rider": "3.1.0", + "com.unity.ide.visualstudio": "2.0.28", + "com.unity.inputsystem": "1.20.0", + "com.unity.mobile.android-logcat": "1.4.7", + "com.unity.render-pipelines.universal": "17.3.0", "com.unity.ugui": "2.0.0", - "com.unity.xr.management": "4.5.1", - "com.unity.xr.meta-openxr": "2.2.1", - "com.unity.xr.openxr": "1.15.1", + "com.unity.xr.management": "4.7.0", + "com.unity.xr.meta-openxr": "2.6.1", + "com.unity.xr.openxr": "1.18.0", "com.unity.modules.accessibility": "1.0.0", "com.unity.modules.ai": "1.0.0", "com.unity.modules.androidjni": "1.0.0", @@ -43,6 +43,10 @@ "com.unity.modules.video": "1.0.0", "com.unity.modules.vr": "1.0.0", "com.unity.modules.wind": "1.0.0", - "com.unity.modules.xr": "1.0.0" + "com.unity.modules.xr": "1.0.0", + "com.xrdevrob.quak": "file:com.xrdevrob.quak-0.4.0-alpha.1.tgz", + "com.unity.webrtc": "3.0.0", + "com.firedragongamestudio.simplewebrtc": "https://github.com/FireDragonGameStudio/SimpleWebRTC.git?path=/Assets/SimpleWebRTC#d3fc983d0c91c150a41f42e6ceb5124baaba5891", + "com.endel.nativewebsocket": "https://github.com/endel/NativeWebSocket.git#ea014c9ae534d56111962d96f89f8a046e302dc9" } } diff --git a/Unity-QuestVisionKit/Packages/packages-lock.json b/Unity-QuestVisionKit/Packages/packages-lock.json index 5329ab67..44e1c323 100644 --- a/Unity-QuestVisionKit/Packages/packages-lock.json +++ b/Unity-QuestVisionKit/Packages/packages-lock.json @@ -1,11 +1,28 @@ { "dependencies": { + "com.endel.nativewebsocket": { + "version": "https://github.com/endel/NativeWebSocket.git#ea014c9ae534d56111962d96f89f8a046e302dc9", + "depth": 0, + "source": "git", + "dependencies": {}, + "hash": "ea014c9ae534d56111962d96f89f8a046e302dc9" + }, + "com.firedragongamestudio.simplewebrtc": { + "version": "https://github.com/FireDragonGameStudio/SimpleWebRTC.git?path=/Assets/SimpleWebRTC#d3fc983d0c91c150a41f42e6ceb5124baaba5891", + "depth": 0, + "source": "git", + "dependencies": { + "com.unity.webrtc": "3.0.0", + "com.unity.textmeshpro": "3.0.6" + }, + "hash": "d3fc983d0c91c150a41f42e6ceb5124baaba5891" + }, "com.meta.xr.mrutilitykit": { - "version": "83.0.4", + "version": "205.0.0", "depth": 0, "source": "registry", "dependencies": { - "com.meta.xr.sdk.core": "83.0.4", + "com.meta.xr.sdk.core": "205.0.0", "com.unity.textmeshpro": "3.0.6", "com.unity.ai.navigation": "1.1.4", "com.unity.nuget.newtonsoft-json": "3.0.2" @@ -13,26 +30,35 @@ "url": "https://packages.unity.com" }, "com.meta.xr.sdk.core": { - "version": "83.0.4", + "version": "205.0.0", "depth": 0, "source": "registry", - "dependencies": {}, + "dependencies": { + "com.unity.xr.hands": "1.7.2", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0" + }, "url": "https://packages.unity.com" }, "com.unity.ai.inference": { - "version": "2.3.0", + "version": "2.6.1", "depth": 0, "source": "registry", "dependencies": { "com.unity.burst": "1.8.17", - "com.unity.dt.app-ui": "1.3.1", + "com.unity.dt.app-ui": "1.3.6", "com.unity.collections": "2.4.3", + "com.unity.nuget.newtonsoft-json": "3.2.1", "com.unity.modules.imageconversion": "1.0.0" }, "url": "https://packages.unity.com" }, "com.unity.ai.navigation": { - "version": "2.0.9", + "version": "2.0.11", "depth": 1, "source": "registry", "dependencies": { @@ -41,7 +67,7 @@ "url": "https://packages.unity.com" }, "com.unity.burst": { - "version": "1.8.25", + "version": "1.8.28", "depth": 1, "source": "registry", "dependencies": { @@ -51,20 +77,20 @@ "url": "https://packages.unity.com" }, "com.unity.collections": { - "version": "2.5.7", + "version": "2.6.5", "depth": 1, "source": "registry", "dependencies": { - "com.unity.burst": "1.8.19", + "com.unity.burst": "1.8.27", "com.unity.mathematics": "1.3.2", "com.unity.test-framework": "1.4.6", - "com.unity.nuget.mono-cecil": "1.11.5", + "com.unity.nuget.mono-cecil": "1.11.6", "com.unity.test-framework.performance": "3.0.3" }, "url": "https://packages.unity.com" }, "com.unity.dt.app-ui": { - "version": "1.3.1", + "version": "2.1.1", "depth": 1, "source": "registry", "dependencies": { @@ -76,38 +102,36 @@ "url": "https://packages.unity.com" }, "com.unity.editorcoroutines": { - "version": "1.0.0", - "depth": 2, + "version": "1.0.1", + "depth": 1, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.ext.nunit": { "version": "2.0.5", - "depth": 1, + "depth": 2, "source": "builtin", "dependencies": {} }, "com.unity.ide.rider": { - "version": "3.0.38", + "version": "3.1.0", "depth": 0, "source": "registry", - "dependencies": { - "com.unity.ext.nunit": "1.0.6" - }, + "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.ide.visualstudio": { - "version": "2.0.23", + "version": "2.0.28", "depth": 0, "source": "registry", "dependencies": { - "com.unity.test-framework": "1.1.9" + "com.unity.test-framework": "1.1.33" }, "url": "https://packages.unity.com" }, "com.unity.inputsystem": { - "version": "1.14.2", + "version": "1.20.0", "depth": 0, "source": "registry", "dependencies": { @@ -116,35 +140,35 @@ "url": "https://packages.unity.com" }, "com.unity.mathematics": { - "version": "1.3.2", + "version": "1.3.3", "depth": 2, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.mobile.android-logcat": { - "version": "1.4.6", + "version": "1.4.7", "depth": 0, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.nuget.mono-cecil": { - "version": "1.11.5", + "version": "1.11.6", "depth": 2, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.nuget.newtonsoft-json": { - "version": "3.2.1", + "version": "3.2.2", "depth": 1, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.render-pipelines.core": { - "version": "17.2.0", + "version": "17.3.0", "depth": 1, "source": "builtin", "dependencies": { @@ -154,17 +178,16 @@ "com.unity.collections": "2.4.3", "com.unity.modules.physics": "1.0.0", "com.unity.modules.terrain": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.rendering.light-transport": "1.0.1" + "com.unity.modules.jsonserialize": "1.0.0" } }, "com.unity.render-pipelines.universal": { - "version": "17.2.0", + "version": "17.3.0", "depth": 0, "source": "builtin", "dependencies": { - "com.unity.render-pipelines.core": "17.2.0", - "com.unity.shadergraph": "17.2.0", + "com.unity.render-pipelines.core": "17.3.0", + "com.unity.shadergraph": "17.3.0", "com.unity.render-pipelines.universal-config": "17.0.3" } }, @@ -176,29 +199,19 @@ "com.unity.render-pipelines.core": "17.0.3" } }, - "com.unity.rendering.light-transport": { - "version": "1.0.1", - "depth": 2, - "source": "builtin", - "dependencies": { - "com.unity.collections": "2.2.0", - "com.unity.mathematics": "1.2.4", - "com.unity.modules.terrain": "1.0.0" - } - }, "com.unity.searcher": { - "version": "4.9.3", + "version": "4.9.4", "depth": 2, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.shadergraph": { - "version": "17.2.0", + "version": "17.3.0", "depth": 1, "source": "builtin", "dependencies": { - "com.unity.render-pipelines.core": "17.2.0", + "com.unity.render-pipelines.core": "17.3.0", "com.unity.searcher": "4.9.3" } }, @@ -239,8 +252,19 @@ "com.unity.modules.imgui": "1.0.0" } }, + "com.unity.webrtc": { + "version": "3.0.0", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.editorcoroutines": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, "com.unity.xr.arfoundation": { - "version": "6.2.0", + "version": "6.6.0", "depth": 1, "source": "registry", "dependencies": { @@ -248,7 +272,7 @@ "com.unity.modules.ui": "1.0.0", "com.unity.inputsystem": "1.6.3", "com.unity.mathematics": "1.2.6", - "com.unity.xr.core-utils": "2.5.1", + "com.unity.xr.core-utils": "2.6.0", "com.unity.xr.management": "4.4.0", "com.unity.editorcoroutines": "1.0.0", "com.unity.modules.particlesystem": "1.0.0", @@ -258,7 +282,7 @@ "url": "https://packages.unity.com" }, "com.unity.xr.compositionlayers": { - "version": "2.1.1", + "version": "2.4.0", "depth": 1, "source": "registry", "dependencies": { @@ -269,7 +293,7 @@ "url": "https://packages.unity.com" }, "com.unity.xr.core-utils": { - "version": "2.5.3", + "version": "2.6.0", "depth": 1, "source": "registry", "dependencies": { @@ -277,8 +301,21 @@ }, "url": "https://packages.unity.com" }, + "com.unity.xr.hands": { + "version": "1.7.3", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.modules.xr": "1.0.0", + "com.unity.inputsystem": "1.3.0", + "com.unity.mathematics": "1.2.6", + "com.unity.xr.core-utils": "2.2.0", + "com.unity.xr.management": "4.0.1" + }, + "url": "https://packages.unity.com" + }, "com.unity.xr.legacyinputhelpers": { - "version": "2.1.12", + "version": "2.1.13", "depth": 1, "source": "registry", "dependencies": { @@ -288,11 +325,10 @@ "url": "https://packages.unity.com" }, "com.unity.xr.management": { - "version": "4.5.1", + "version": "4.7.0", "depth": 0, "source": "registry", "dependencies": { - "com.unity.modules.vr": "1.0.0", "com.unity.modules.xr": "1.0.0", "com.unity.xr.core-utils": "2.2.1", "com.unity.modules.subsystems": "1.0.0", @@ -301,30 +337,44 @@ "url": "https://packages.unity.com" }, "com.unity.xr.meta-openxr": { - "version": "2.2.1", + "version": "2.6.1", "depth": 0, "source": "registry", "dependencies": { - "com.unity.xr.openxr": "1.15.0", - "com.unity.xr.core-utils": "2.5.1", - "com.unity.xr.management": "4.4.0", - "com.unity.xr.arfoundation": "6.2.0", - "com.unity.xr.compositionlayers": "2.1.0" + "com.unity.xr.openxr": "1.18.0", + "com.unity.xr.core-utils": "2.6.0", + "com.unity.xr.management": "4.7.0", + "com.unity.xr.arfoundation": "6.6.0", + "com.unity.xr.compositionlayers": "2.4.0" }, "url": "https://packages.unity.com" }, "com.unity.xr.openxr": { - "version": "1.15.1", + "version": "1.18.0", "depth": 0, "source": "registry", "dependencies": { + "com.unity.modules.xr": "1.0.0", "com.unity.inputsystem": "1.6.3", "com.unity.xr.core-utils": "2.3.0", "com.unity.xr.management": "4.4.0", + "com.unity.modules.androidjni": "1.0.0", "com.unity.xr.legacyinputhelpers": "2.1.2" }, "url": "https://packages.unity.com" }, + "com.xrdevrob.quak": { + "version": "file:com.xrdevrob.quak-0.4.0-alpha.1.tgz", + "depth": 0, + "source": "local-tarball", + "dependencies": { + "com.unity.inputsystem": "1.19.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.xr.openxr": "1.17.1", + "com.unity.xr.management": "4.5.4", + "com.unity.ugui": "2.0.0" + } + }, "com.unity.modules.accessibility": { "version": "1.0.0", "depth": 0, diff --git a/Unity-QuestVisionKit/ProjectSettings/EditorBuildSettings.asset b/Unity-QuestVisionKit/ProjectSettings/EditorBuildSettings.asset index 3e4b5295..74ab2cf8 100644 --- a/Unity-QuestVisionKit/ProjectSettings/EditorBuildSettings.asset +++ b/Unity-QuestVisionKit/ProjectSettings/EditorBuildSettings.asset @@ -4,7 +4,28 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 - m_Scenes: [] + m_Scenes: + - enabled: 1 + path: Assets/Samples/1 ColorPicker/ColorPicker.unity + guid: 4297271dc2b40744bb71161efead075b + - enabled: 1 + path: Assets/Samples/2 ObjectDetection/ObjectDetection.unity + guid: 59f22156e8aa44aeead8e1331b47c7aa + - enabled: 1 + path: Assets/Samples/3 QRCodeDetection/QRCodeDetection.unity + guid: 8b94352aa29d6894d8e73966f3ee47d0 + - enabled: 1 + path: Assets/Samples/4 Shaders/CameraMappingForShaders.unity + guid: fc38ce993dd1495bb87751c2ec56a145 + - enabled: 1 + path: Assets/Samples/5 ImageLLM/ImageLLM.unity + guid: e315df11792f04348a6913e0c2feac5f + - enabled: 1 + path: Assets/Samples/6 WebRTC/WebRTC-Quest.unity + guid: 4dc6138ac6e3c6348bba19965ecddf4d + - enabled: 0 + path: Assets/Samples/6 WebRTC/WebRTC-SingleClient.unity + guid: 391160c7b8e603c4e82dd04b0c807c3e m_configObjects: Unity.XR.Oculus.Settings: {fileID: 11400000, guid: 1f6e424bb69784f8e8b5df6563fe45de, type: 2} com.unity.input.settings.actions: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3} diff --git a/Unity-QuestVisionKit/ProjectSettings/GraphicsSettings.asset b/Unity-QuestVisionKit/ProjectSettings/GraphicsSettings.asset index f87a5a45..238d43a6 100644 --- a/Unity-QuestVisionKit/ProjectSettings/GraphicsSettings.asset +++ b/Unity-QuestVisionKit/ProjectSettings/GraphicsSettings.asset @@ -59,6 +59,8 @@ GraphicsSettings: m_AlbedoSwatchInfos: [] m_RenderPipelineGlobalSettingsMap: UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa, type: 2} + m_ShaderBuildSettings: + keywordDeclarationOverrides: [] m_LightsUseLinearIntensity: 1 m_LightsUseColorTemperature: 1 m_LogWhenShaderIsCompiled: 0 diff --git a/Unity-QuestVisionKit/ProjectSettings/ProjectSettings.asset b/Unity-QuestVisionKit/ProjectSettings/ProjectSettings.asset index 5498de32..d499bf8c 100644 --- a/Unity-QuestVisionKit/ProjectSettings/ProjectSettings.asset +++ b/Unity-QuestVisionKit/ProjectSettings/ProjectSettings.asset @@ -114,6 +114,7 @@ PlayerSettings: xboxEnableGuest: 0 xboxEnablePIXSampling: 0 metalFramebufferOnly: 0 + metalUseMetalDisplayLink: 0 xboxOneResolution: 0 xboxOneSResolution: 0 xboxOneXResolution: 3 @@ -145,8 +146,6 @@ PlayerSettings: tvOSBundleVersion: 1.0 bundleVersion: 0.1.0 preloadedAssets: - - {fileID: 0} - - {fileID: 0} - {fileID: 11400000, guid: 5d826038237f5496fbd76f720ad11943, type: 2} metroInputSource: 0 wsaTransparentSwapchain: 0 @@ -180,8 +179,9 @@ PlayerSettings: overrideDefaultApplicationIdentifier: 1 AndroidBundleVersionCode: 1 AndroidMinSdkVersion: 32 - AndroidTargetSdkVersion: 32 + AndroidTargetSdkVersion: 0 AndroidPreferredInstallLocation: 0 + AndroidPreferredDataLocation: 1 aotOptions: stripEngineCode: 1 iPhoneStrippingLevel: 0 @@ -196,11 +196,11 @@ PlayerSettings: VertexChannelCompressionMask: 4054 iPhoneSdkVersion: 988 iOSSimulatorArchitecture: 0 - iOSTargetOSVersionString: 13.0 + iOSTargetOSVersionString: 15.0 tvOSSdkVersion: 0 tvOSSimulatorArchitecture: 0 tvOSRequireExtendedGameController: 0 - tvOSTargetOSVersionString: 13.0 + tvOSTargetOSVersionString: 15.0 VisionOSSdkVersion: 0 VisionOSTargetOSVersionString: 1.0 uIPrerenderedIcon: 0 @@ -270,6 +270,7 @@ PlayerSettings: useCustomGradleSettingsTemplate: 0 useCustomProguardFile: 0 AndroidTargetArchitectures: 2 + AndroidAllowedArchitectures: -1 AndroidSplashScreenScale: 0 androidSplashScreen: {fileID: 0} AndroidKeystoreName: @@ -589,7 +590,7 @@ PlayerSettings: locationUsageDescription: microphoneUsageDescription: bluetoothUsageDescription: - macOSTargetOSVersion: 11.0 + macOSTargetOSVersion: 12.0 switchNMETAOverride: switchNetLibKey: switchSocketMemoryPoolSize: 6144 @@ -844,7 +845,7 @@ PlayerSettings: webWasm2023: 0 webEnableSubmoduleStrippingCompatibility: 0 scriptingDefineSymbols: - Android: ISDK_OPENXR_HAND;USE_INPUT_SYSTEM_POSE_CONTROL;USE_STICK_CONTROL_THUMBSTICKS + Android: ISDK_OPENXR_HAND;USE_INPUT_SYSTEM_POSE_CONTROL;USE_STICK_CONTROL_THUMBSTICKS;SENTIS_ANALYTICS_ENABLED;WEBRTC_ENABLED EmbeddedLinux: GameCoreScarlett: GameCoreXboxOne: @@ -854,11 +855,11 @@ PlayerSettings: PS5: QNX: ReservedCFE: - Standalone: ISDK_OPENXR_HAND;USE_INPUT_SYSTEM_POSE_CONTROL;USE_STICK_CONTROL_THUMBSTICKS + Standalone: ISDK_OPENXR_HAND;USE_INPUT_SYSTEM_POSE_CONTROL;USE_STICK_CONTROL_THUMBSTICKS;WEBRTC_ENABLED VisionOS: Windows Store Apps: USE_INPUT_SYSTEM_POSE_CONTROL;USE_STICK_CONTROL_THUMBSTICKS XboxOne: - iPhone: + iPhone: WEBRTC_ENABLED tvOS: additionalCompilerArguments: {} platformArchitecture: {} @@ -973,3 +974,4 @@ PlayerSettings: androidVulkanAllowFilterList: [] androidVulkanDeviceFilterListAsset: {fileID: 0} d3d12DeviceFilterListAsset: {fileID: 0} + allowedHttpConnections: 3 diff --git a/Unity-QuestVisionKit/ProjectSettings/ProjectVersion.txt b/Unity-QuestVisionKit/ProjectSettings/ProjectVersion.txt index a9844fe4..3793dc5b 100644 --- a/Unity-QuestVisionKit/ProjectSettings/ProjectVersion.txt +++ b/Unity-QuestVisionKit/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 6000.2.8f1 -m_EditorVersionWithRevision: 6000.2.8f1 (c9992ac36c34) +m_EditorVersion: 6000.3.12f1 +m_EditorVersionWithRevision: 6000.3.12f1 (fca03ac9b0d5) diff --git a/Unity-QuestVisionKit/quak-tests/AllSamples.json b/Unity-QuestVisionKit/quak-tests/AllSamples.json new file mode 100644 index 00000000..26c55675 --- /dev/null +++ b/Unity-QuestVisionKit/quak-tests/AllSamples.json @@ -0,0 +1,69 @@ +{ + "schema_version": 1, + "name": "Combined samples startup and menu check", + "description": "Checks the real ColorPicker camera and initial six-sample menu. Does not establish controller-driven scene switching.", + "target": "quest", + "expected_application_id": "com.xrdevrob.questcamerakit.allsamples", + "expected_scene": "ColorPicker", + "visual_evidence": { + "required": true, + "capture_policy": "unattended", + "fps": 2, + "max_duration_seconds": 20, + "focus_clips": "marked-and-failures", + "target_highlight": "focused-clips" + }, + "steps": [ + { + "id": "observe-sample", + "provider": "unity", + "tool": "quak_get_state", + "arguments": {}, + "wait_timeout_seconds": 15, + "poll_interval_seconds": 0.5, + "assertions": [ + { + "path": "$.data.data.result.state.quest-camera-kit.scene", + "op": "equals", + "expected": "ColorPicker" + }, + { + "path": "$.data.data.result.state.quest-camera-kit.errorCount", + "op": "equals", + "expected": 0 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.cameraCount", + "op": "equals", + "expected": 1 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.playingCameraCount", + "op": "equals", + "expected": 1 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.minFramesObserved", + "op": "gte", + "expected": 10 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.maxFrameAgeSeconds", + "op": "lte", + "expected": 2 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.menuVisible", + "op": "equals", + "expected": true + }, + { + "path": "$.data.data.result.state.quest-camera-kit.menuSampleCount", + "op": "equals", + "expected": 6 + } + ], + "failure_guidance": "Check camera permissions, headset focus, scene references, and device logs; a running app without fresh camera frames is not a pass." + } + ] +} diff --git a/Unity-QuestVisionKit/quak-tests/CameraMappingForShaders.json b/Unity-QuestVisionKit/quak-tests/CameraMappingForShaders.json new file mode 100644 index 00000000..333323b2 --- /dev/null +++ b/Unity-QuestVisionKit/quak-tests/CameraMappingForShaders.json @@ -0,0 +1,59 @@ +{ + "schema_version": 1, + "name": "CameraMappingForShaders device camera and runtime check", + "description": "Observes the real sample camera and processing pipeline. This does not assert semantic detection accuracy or a user interaction.", + "target": "quest", + "expected_application_id": "com.xrdevrob.questcamerakit.cameramappingforshaders", + "expected_scene": "CameraMappingForShaders", + "visual_evidence": { + "required": true, + "capture_policy": "unattended", + "fps": 2, + "max_duration_seconds": 20, + "focus_clips": "marked-and-failures", + "target_highlight": "focused-clips" + }, + "steps": [ + { + "id": "observe-sample", + "provider": "unity", + "tool": "quak_get_state", + "arguments": {}, + "wait_timeout_seconds": 15, + "poll_interval_seconds": 0.5, + "assertions": [ + { + "path": "$.data.data.result.state.quest-camera-kit.scene", + "op": "equals", + "expected": "CameraMappingForShaders" + }, + { + "path": "$.data.data.result.state.quest-camera-kit.errorCount", + "op": "equals", + "expected": 0 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.cameraCount", + "op": "equals", + "expected": 2 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.playingCameraCount", + "op": "equals", + "expected": 2 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.minFramesObserved", + "op": "gte", + "expected": 10 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.maxFrameAgeSeconds", + "op": "lte", + "expected": 2 + } + ], + "failure_guidance": "Check camera permissions, headset focus, scene references, and device logs; a running app without fresh camera frames is not a pass." + } + ] +} diff --git a/Unity-QuestVisionKit/quak-tests/ColorPicker.json b/Unity-QuestVisionKit/quak-tests/ColorPicker.json new file mode 100644 index 00000000..20a0bfb8 --- /dev/null +++ b/Unity-QuestVisionKit/quak-tests/ColorPicker.json @@ -0,0 +1,59 @@ +{ + "schema_version": 1, + "name": "ColorPicker device camera and runtime check", + "description": "Observes the real sample camera and processing pipeline. This does not assert semantic detection accuracy or a user interaction.", + "target": "quest", + "expected_application_id": "com.xrdevrob.questcamerakit.colorpicker", + "expected_scene": "ColorPicker", + "visual_evidence": { + "required": true, + "capture_policy": "unattended", + "fps": 2, + "max_duration_seconds": 20, + "focus_clips": "marked-and-failures", + "target_highlight": "focused-clips" + }, + "steps": [ + { + "id": "observe-sample", + "provider": "unity", + "tool": "quak_get_state", + "arguments": {}, + "wait_timeout_seconds": 15, + "poll_interval_seconds": 0.5, + "assertions": [ + { + "path": "$.data.data.result.state.quest-camera-kit.scene", + "op": "equals", + "expected": "ColorPicker" + }, + { + "path": "$.data.data.result.state.quest-camera-kit.errorCount", + "op": "equals", + "expected": 0 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.cameraCount", + "op": "equals", + "expected": 1 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.playingCameraCount", + "op": "equals", + "expected": 1 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.minFramesObserved", + "op": "gte", + "expected": 10 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.maxFrameAgeSeconds", + "op": "lte", + "expected": 2 + } + ], + "failure_guidance": "Check camera permissions, headset focus, scene references, and device logs; a running app without fresh camera frames is not a pass." + } + ] +} diff --git a/Unity-QuestVisionKit/quak-tests/ImageLLM.json b/Unity-QuestVisionKit/quak-tests/ImageLLM.json new file mode 100644 index 00000000..84636579 --- /dev/null +++ b/Unity-QuestVisionKit/quak-tests/ImageLLM.json @@ -0,0 +1,59 @@ +{ + "schema_version": 1, + "name": "ImageLLM device camera and runtime check", + "description": "Observes the real sample camera and processing pipeline. This does not assert semantic detection accuracy or a user interaction.", + "target": "quest", + "expected_application_id": "com.xrdevrob.questcamerakit.imagellm", + "expected_scene": "ImageLLM", + "visual_evidence": { + "required": true, + "capture_policy": "unattended", + "fps": 2, + "max_duration_seconds": 20, + "focus_clips": "marked-and-failures", + "target_highlight": "focused-clips" + }, + "steps": [ + { + "id": "observe-sample", + "provider": "unity", + "tool": "quak_get_state", + "arguments": {}, + "wait_timeout_seconds": 15, + "poll_interval_seconds": 0.5, + "assertions": [ + { + "path": "$.data.data.result.state.quest-camera-kit.scene", + "op": "equals", + "expected": "ImageLLM" + }, + { + "path": "$.data.data.result.state.quest-camera-kit.errorCount", + "op": "equals", + "expected": 0 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.cameraCount", + "op": "equals", + "expected": 1 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.playingCameraCount", + "op": "equals", + "expected": 1 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.minFramesObserved", + "op": "gte", + "expected": 10 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.maxFrameAgeSeconds", + "op": "lte", + "expected": 2 + } + ], + "failure_guidance": "Check camera permissions, headset focus, scene references, and device logs; a running app without fresh camera frames is not a pass." + } + ] +} diff --git a/Unity-QuestVisionKit/quak-tests/ObjectDetection.json b/Unity-QuestVisionKit/quak-tests/ObjectDetection.json new file mode 100644 index 00000000..a33971a5 --- /dev/null +++ b/Unity-QuestVisionKit/quak-tests/ObjectDetection.json @@ -0,0 +1,64 @@ +{ + "schema_version": 1, + "name": "ObjectDetection device camera and runtime check", + "description": "Observes the real sample camera and processing pipeline. This does not assert semantic detection accuracy or a user interaction.", + "target": "quest", + "expected_application_id": "com.xrdevrob.questcamerakit.objectdetection", + "expected_scene": "ObjectDetection", + "visual_evidence": { + "required": true, + "capture_policy": "unattended", + "fps": 2, + "max_duration_seconds": 20, + "focus_clips": "marked-and-failures", + "target_highlight": "focused-clips" + }, + "steps": [ + { + "id": "observe-sample", + "provider": "unity", + "tool": "quak_get_state", + "arguments": {}, + "wait_timeout_seconds": 15, + "poll_interval_seconds": 0.5, + "assertions": [ + { + "path": "$.data.data.result.state.quest-camera-kit.scene", + "op": "equals", + "expected": "ObjectDetection" + }, + { + "path": "$.data.data.result.state.quest-camera-kit.errorCount", + "op": "equals", + "expected": 0 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.cameraCount", + "op": "equals", + "expected": 1 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.playingCameraCount", + "op": "equals", + "expected": 1 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.minFramesObserved", + "op": "gte", + "expected": 10 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.maxFrameAgeSeconds", + "op": "lte", + "expected": 2 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.inferenceCount", + "op": "gte", + "expected": 2 + } + ], + "failure_guidance": "Check camera permissions, headset focus, scene references, and device logs; a running app without fresh camera frames is not a pass." + } + ] +} diff --git a/Unity-QuestVisionKit/quak-tests/QRCodeDetection.json b/Unity-QuestVisionKit/quak-tests/QRCodeDetection.json new file mode 100644 index 00000000..8062d1d5 --- /dev/null +++ b/Unity-QuestVisionKit/quak-tests/QRCodeDetection.json @@ -0,0 +1,59 @@ +{ + "schema_version": 1, + "name": "Native QR tracking with a visible real QR code", + "description": "Requires spatial-data permission, native tracking support, enabled tracking, and at least one QR trackable emitted by MRUK. Hold a known QR code in view and review its payload and alignment visually.", + "target": "quest", + "expected_application_id": "com.xrdevrob.questcamerakit.qrcodedetection", + "expected_scene": "QRCodeDetection", + "visual_evidence": { + "required": true, + "capture_policy": "unattended", + "fps": 2, + "max_duration_seconds": 20, + "focus_clips": "marked-and-failures", + "target_highlight": "focused-clips" + }, + "steps": [ + { + "id": "observe-sample", + "provider": "unity", + "tool": "quak_get_state", + "arguments": {}, + "wait_timeout_seconds": 15, + "poll_interval_seconds": 0.5, + "assertions": [ + { + "path": "$.data.data.result.state.quest-camera-kit.scene", + "op": "equals", + "expected": "QRCodeDetection" + }, + { + "path": "$.data.data.result.state.quest-camera-kit.errorCount", + "op": "equals", + "expected": 0 + }, + { + "path": "$.data.data.result.state.quest-camera-kit.nativeQrSupported", + "op": "equals", + "expected": true + }, + { + "path": "$.data.data.result.state.quest-camera-kit.nativeQrHasPermissions", + "op": "equals", + "expected": true + }, + { + "path": "$.data.data.result.state.quest-camera-kit.nativeQrTrackingEnabled", + "op": "equals", + "expected": true + }, + { + "path": "$.data.data.result.state.quest-camera-kit.nativeQrTrackedCount", + "op": "gte", + "expected": 1 + } + ], + "failure_guidance": "Check native QR runtime support, spatial-data permission, and the tracking toggle. Hold a real QR code in view. A supported API without a tracked QR code is not a pass." + } + ] +} diff --git a/Unity-QuestVisionKit/quak-tests/WebRTC-Quest.json b/Unity-QuestVisionKit/quak-tests/WebRTC-Quest.json new file mode 100644 index 00000000..6277794a --- /dev/null +++ b/Unity-QuestVisionKit/quak-tests/WebRTC-Quest.json @@ -0,0 +1,39 @@ +{ + "schema_version": 1, + "name": "WebRTC-Quest startup check", + "description": "Observes sample startup without an external signaling server. Does not prove streaming or peer connectivity.", + "target": "quest", + "expected_application_id": "com.xrdevrob.questcamerakit.webrtcquest", + "expected_scene": "WebRTC-Quest", + "visual_evidence": { + "required": true, + "capture_policy": "unattended", + "fps": 2, + "max_duration_seconds": 20, + "focus_clips": "marked-and-failures", + "target_highlight": "focused-clips" + }, + "steps": [ + { + "id": "observe-sample", + "provider": "unity", + "tool": "quak_get_state", + "arguments": {}, + "wait_timeout_seconds": 15, + "poll_interval_seconds": 0.5, + "assertions": [ + { + "path": "$.data.data.result.state.quest-camera-kit.scene", + "op": "equals", + "expected": "WebRTC-Quest" + }, + { + "path": "$.data.data.result.state.quest-camera-kit.errorCount", + "op": "equals", + "expected": 0 + } + ], + "failure_guidance": "Check camera permissions, headset focus, scene references, and device logs; a running app without fresh camera frames is not a pass." + } + ] +} diff --git a/docs/testing.md b/docs/testing.md new file mode 100644 index 00000000..9c28b1d7 --- /dev/null +++ b/docs/testing.md @@ -0,0 +1,70 @@ +# Building and testing QuestCameraKit + +Use **Unity 6000.3.12f1** with Android Build Support, its SDK/NDK and OpenJDK. Open `Unity-QuestVisionKit`, allow Package Manager to finish, and run `git lfs pull` if the clone contains unresolved assets. The packages are pinned; the Quak development package is included locally. No separate sample package installation is required. + +## Fast repository and Unity checks + +From the repository root: + +```sh +python3 scripts/check_repo.py +git diff --check +``` + +Run the executable regression checks with the Unity executable for your platform: + +```sh +Unity -batchmode -nographics -quit \ + -projectPath /absolute/path/QuestCameraKit/Unity-QuestVisionKit \ + -buildTarget Android \ + -executeMethod QuestCameraKit.Editor.MaintenanceChecks.Run \ + -logFile /absolute/path/checks.log +``` + +These cover stereo PCM/WAV headers and samples, the bundled model's CPU output contract on a synthetic black input, command JSON escaping (including null and control characters), and native QR overlay transitions through absent/present/lost bounds. `MaintenanceChecks.CheckWavStereo` is the focused regression that failed before the stereo fix. + +Run `QuestCameraKit.Editor.MaintenanceChecks.AuditScenes` the same way to inspect all seven sample scenes for missing MonoBehaviours. Its `scene-audit.txt` is written at the repository root. It opens scenes without saving them. + +## Build one real sample for Quest + +The regular **Build and Run** scene list includes all six headset samples, starting with ColorPicker and its sample menu. Y opens/closes the menu, left thumbstick selects, and X loads a scene. The desktop receiving peer is excluded. The CLI helper defaults to `AllSamples` for a combined APK; pass a specific scene name to retain the individual-sample ARM64 IL2CPP development APK and enables Quak's direct OpenXR bridge: + +```sh +Unity -batchmode -nographics -quit \ + -projectPath /absolute/path/QuestCameraKit/Unity-QuestVisionKit \ + -buildTarget Android \ + -executeMethod QuestCameraKit.Editor.SampleBuild.Build \ + -sampleScene ColorPicker \ + -apk /absolute/path/Builds/ColorPicker.apk \ + -logFile /absolute/path/build.log +``` + +Use `AllSamples` for the combined menu app, or `ObjectDetection`, `CameraMappingForShaders`, `ImageLLM`, `QRCodeDetection`, or `WebRTC-Quest` for the other headset samples. `WebRTC-SingleClient` is the receiving-peer scene. Development package IDs are `com.xrdevrob.questcamerakit.`; the helper restores the project's original application ID and product name afterward. Development diagnostics observe the real scene; they do not navigate, synthesize detections, or perform sample interactions. They are excluded from release players. + +For a **non-development release build**, disable `XR_APILAYER_XRDEVROB_quak_injection` in Android's OpenXR API Layers settings first. Quak deliberately rejects release builds with its injection layer enabled. The command above is explicitly a device-test build, not a store-release pipeline. + +## Quak device checks + +Use `quak-tests/AllSamples.json` for the combined app's startup/menu/camera check. The native QR plan requires an actual QR trackable from MRUK; a merely supported API cannot pass it. Present a known QR code and visually compare its decoded payload and spatial alignment. Neither startup plan proves controller-driven navigation: open the menu, visit every sample, return to the first, and repeat on the headset to check camera/scene cleanup. + + +XRQA is now named **Quak**. Use the matching [v0.4.0-alpha.1 release](https://github.com/xrdevrob/quak/releases/tag/v0.4.0-alpha.1), verify its `SHA256SUMS`, and install the Python wheel in an isolated environment. The Unity package in this repository is that same release. Run `quak setup --project /absolute/path/Unity-QuestVisionKit` to create local CLI configuration when needed. + +For Android signature verification, put the Unity Android **OpenJDK/bin** directory on `PATH` or set `JAVA_HOME` to that OpenJDK installation. Also make `adb` and `ffmpeg` available to Quak. + +```sh +quak validate Unity-QuestVisionKit/quak-tests/ColorPicker.json +quak prove /absolute/path/Builds/ColorPicker.apk \ + Unity-QuestVisionKit/quak-tests/ColorPicker.json \ + --project /absolute/path/QuestCameraKit/Unity-QuestVisionKit \ + --device-serial YOUR_QUEST_3S_SERIAL \ + --build-source-project /absolute/path/QuestCameraKit/Unity-QuestVisionKit \ + --expected-source-commit YOUR_FULL_COMMIT_SHA \ + --output /absolute/path/evidence/ColorPicker +``` + +Keep the Quest awake, unlocked, and in the app with camera/spatial-data permissions granted. Select the serial explicitly when more than one headset is connected. Quak handles its temporary bridge and port forward. Review `receipt.json`, `run-report.html`, and the recorded visual evidence; a connected bridge alone is not a sample pass. + +The camera tests require fresh frames from every camera in the scene. ObjectDetection additionally requires completed inference. These are startup and processing checks, **not assertions that the detector correctly recognized a particular real object or QR code**. Verify actual content with known objects and QR codes in the headset's view. Confirm color sampling, marker alignment during head motion, stereo shader appearance, and controller/hand interactions on hardware. + +ImageLLM additionally needs a private API key, microphone permission and network access. Use only a development key for local testing; do not serialize production credentials into an APK. A production integration should send authenticated requests through your own backend. WebRTC needs a reachable signaling server and another receiving peer. Camera-startup tests do not establish end-to-end cloud or peer-to-peer success. diff --git a/docs/third-party.md b/docs/third-party.md new file mode 100644 index 00000000..3e567937 --- /dev/null +++ b/docs/third-party.md @@ -0,0 +1,13 @@ +# Third-party dependencies + +## Native QR tracking + +QR tracking uses the existing Meta XR Core/MRUK packages and their bundled licenses. No additional QR decoder is shipped. + +## WebRTC + +The manifest pins Unity WebRTC 3.0.0, SimpleWebRTC 1.6.0 at commit `d3fc983d0c91c150a41f42e6ceb5124baaba5891` (MIT), and NativeWebSocket 1.1.6 at `ea014c9ae534d56111962d96f89f8a046e302dc9` (Apache-2.0). Their licenses remain in their packages. A signaling server and receiving peer are still required. + +## Quak + +The included `com.xrdevrob.quak-0.4.0-alpha.1.tgz` is the unmodified official release asset, verified against its published SHA256SUMS. Its own `LICENSE.md` applies. It provides development-only device testing; it is not part of the sample's production interaction logic. diff --git a/scripts/check_repo.py b/scripts/check_repo.py new file mode 100644 index 00000000..ff57413f --- /dev/null +++ b/scripts/check_repo.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +"""Fast clone-integrity and credential checks; no Unity installation required.""" +from pathlib import Path +import re +import subprocess + +ROOT = Path(__file__).resolve().parents[1] +TEXT_ASSETS = {'.cs', '.prefab', '.unity', '.asset', '.json', '.xml'} +CREDENTIAL = re.compile(rb'sk-(?:proj-)?[A-Za-z0-9_-]{30,}') + + +def check() -> None: + paths = subprocess.check_output( + ['git', 'ls-files', '-z', '--cached', '--others', '--exclude-standard'], cwd=ROOT + ).decode().split('\0') + failures = [] + for name in sorted(set(paths) - {''}): + path = ROOT / name + if not path.is_file(): + continue + if name.lower().endswith("/zxing.dll"): + failures.append(f"{name}: native QR tracking must not ship a separate decoder") + if name.startswith('Unity-QuestVisionKit/Assets/'): + with path.open('rb') as stream: + prefix = stream.read(128) + if prefix.startswith(b'version https://git-lfs.github.com/spec/v1'): + failures.append(f'{name}: unresolved Git LFS asset; run git lfs pull') + if path.suffix in TEXT_ASSETS and CREDENTIAL.search(path.read_bytes()): + failures.append(f'{name}: possible embedded API credential (value withheld)') + if failures: + raise SystemExit('\n'.join(failures)) + print('PASS: runtime assets are materialized and no API credentials found in text assets.') + + +if __name__ == '__main__': + check()