diff --git a/new-game-project/.editorconfig b/new-game-project/.editorconfig new file mode 100644 index 0000000..f28239b --- /dev/null +++ b/new-game-project/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*] +charset = utf-8 diff --git a/new-game-project/.gitattributes b/new-game-project/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/new-game-project/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/new-game-project/.gitignore b/new-game-project/.gitignore new file mode 100644 index 0000000..0af181c --- /dev/null +++ b/new-game-project/.gitignore @@ -0,0 +1,3 @@ +# Godot 4+ specific ignores +.godot/ +/android/ diff --git a/new-game-project/New Game Project.apk b/new-game-project/New Game Project.apk new file mode 100644 index 0000000..7bbb399 Binary files /dev/null and b/new-game-project/New Game Project.apk differ diff --git a/new-game-project/New Game Project.apk.idsig b/new-game-project/New Game Project.apk.idsig new file mode 100644 index 0000000..c4c644b Binary files /dev/null and b/new-game-project/New Game Project.apk.idsig differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-khronos-debug.aar b/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-khronos-debug.aar new file mode 100644 index 0000000..803a641 Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-khronos-debug.aar differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-lynx-debug.aar b/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-lynx-debug.aar new file mode 100644 index 0000000..5cd50e9 Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-lynx-debug.aar differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-magicleap-debug.aar b/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-magicleap-debug.aar new file mode 100644 index 0000000..3ce557b Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-magicleap-debug.aar differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-meta-debug.aar b/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-meta-debug.aar new file mode 100644 index 0000000..41502c7 Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-meta-debug.aar differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-pico-debug.aar b/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-pico-debug.aar new file mode 100644 index 0000000..88c6426 Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/debug/godotopenxr-pico-debug.aar differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-khronos-release.aar b/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-khronos-release.aar new file mode 100644 index 0000000..fe6cac4 Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-khronos-release.aar differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-lynx-release.aar b/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-lynx-release.aar new file mode 100644 index 0000000..24c840c Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-lynx-release.aar differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-magicleap-release.aar b/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-magicleap-release.aar new file mode 100644 index 0000000..d963926 Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-magicleap-release.aar differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-meta-release.aar b/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-meta-release.aar new file mode 100644 index 0000000..564518e Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-meta-release.aar differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-pico-release.aar b/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-pico-release.aar new file mode 100644 index 0000000..e18ad4e Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/release/godotopenxr-pico-release.aar differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/template_debug/arm64/libgodotopenxrvendors.so b/new-game-project/addons/godotopenxrvendors/.bin/android/template_debug/arm64/libgodotopenxrvendors.so new file mode 100644 index 0000000..fe73284 Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/template_debug/arm64/libgodotopenxrvendors.so differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/template_debug/x86_64/libgodotopenxrvendors.so b/new-game-project/addons/godotopenxrvendors/.bin/android/template_debug/x86_64/libgodotopenxrvendors.so new file mode 100644 index 0000000..7e4f956 Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/template_debug/x86_64/libgodotopenxrvendors.so differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/template_release/arm64/libgodotopenxrvendors.so b/new-game-project/addons/godotopenxrvendors/.bin/android/template_release/arm64/libgodotopenxrvendors.so new file mode 100644 index 0000000..d849e4e Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/template_release/arm64/libgodotopenxrvendors.so differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/android/template_release/x86_64/libgodotopenxrvendors.so b/new-game-project/addons/godotopenxrvendors/.bin/android/template_release/x86_64/libgodotopenxrvendors.so new file mode 100644 index 0000000..6fd9ce5 Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/android/template_release/x86_64/libgodotopenxrvendors.so differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/linux/template_debug/x86_64/libgodotopenxrvendors.so b/new-game-project/addons/godotopenxrvendors/.bin/linux/template_debug/x86_64/libgodotopenxrvendors.so new file mode 100644 index 0000000..a4bc80d Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/linux/template_debug/x86_64/libgodotopenxrvendors.so differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/linux/template_release/x86_64/libgodotopenxrvendors.so b/new-game-project/addons/godotopenxrvendors/.bin/linux/template_release/x86_64/libgodotopenxrvendors.so new file mode 100644 index 0000000..5b21b0e Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/linux/template_release/x86_64/libgodotopenxrvendors.so differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/macos/template_debug/libgodotopenxrvendors.macos.framework/libgodotopenxrvendors.macos b/new-game-project/addons/godotopenxrvendors/.bin/macos/template_debug/libgodotopenxrvendors.macos.framework/libgodotopenxrvendors.macos new file mode 100644 index 0000000..3b68833 Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/macos/template_debug/libgodotopenxrvendors.macos.framework/libgodotopenxrvendors.macos differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/macos/template_release/libgodotopenxrvendors.macos.framework/libgodotopenxrvendors.macos b/new-game-project/addons/godotopenxrvendors/.bin/macos/template_release/libgodotopenxrvendors.macos.framework/libgodotopenxrvendors.macos new file mode 100644 index 0000000..6baf7ef Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/macos/template_release/libgodotopenxrvendors.macos.framework/libgodotopenxrvendors.macos differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/windows/template_debug/x86_64/libgodotopenxrvendors.dll b/new-game-project/addons/godotopenxrvendors/.bin/windows/template_debug/x86_64/libgodotopenxrvendors.dll new file mode 100644 index 0000000..cb940c5 Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/windows/template_debug/x86_64/libgodotopenxrvendors.dll differ diff --git a/new-game-project/addons/godotopenxrvendors/.bin/windows/template_release/x86_64/libgodotopenxrvendors.dll b/new-game-project/addons/godotopenxrvendors/.bin/windows/template_release/x86_64/libgodotopenxrvendors.dll new file mode 100644 index 0000000..99d1460 Binary files /dev/null and b/new-game-project/addons/godotopenxrvendors/.bin/windows/template_release/x86_64/libgodotopenxrvendors.dll differ diff --git a/new-game-project/addons/godotopenxrvendors/.gitignore b/new-game-project/addons/godotopenxrvendors/.gitignore new file mode 100644 index 0000000..e269e91 --- /dev/null +++ b/new-game-project/addons/godotopenxrvendors/.gitignore @@ -0,0 +1,2 @@ +# Ignore copies of the binaries Godot makes at startup +.bin/windows/*/*/~*.dll diff --git a/new-game-project/addons/godotopenxrvendors/GodotOpenXRVendors_CHANGES.md b/new-game-project/addons/godotopenxrvendors/GodotOpenXRVendors_CHANGES.md new file mode 100644 index 0000000..527fe92 --- /dev/null +++ b/new-game-project/addons/godotopenxrvendors/GodotOpenXRVendors_CHANGES.md @@ -0,0 +1,119 @@ +# Change history for the Godot OpenXR loaders asset + +## 4.1.1 + +- Update the export plugin version to match the maven central release + +## 4.1.0 + +- Implement `XR_META_boundary_visibility` extension +- Add HorizonOS camera permissions when the Android CAMERA permission is enabled +- Implement `XR_FB_space_warp` extension (only with Godot 4.5+) +- Implement `XR_META_environment_depth` extension (only with Godot 4.5+) +- Implement `XR_FB_color_space` extension +- Update OpenXR to 1.1.49 release +- Implement `XR_META_body_tracking_full_body`, `XR_META_body_tracking_fidelity` and `XR_META_body_tracking_callibration` +- Clean-up editor plugins and class registration +- `OpenXRFbSceneManager`: Clarify how to check if scene capture is possible + +## 4.0.0 + +- Support making hybrid apps for Meta headsets +- Add support for `XR_FB_android_surface_swapchain_create` +- Implement `XR_META_recommended_layer_resolution` +- Remove CMake from the build process +- Implement instant splash screen for Meta headsets +- Avoid casting errors when building with `precision=double` +- Add missing Pico store manifest +- Add support for `XR_FB_composition_layer_image_layout` +- Update demo and samples for Godot 4.4 +- Switch Meta and Lynx to the Khronos loader +- Fix `OpenXRFbSpatialEntityStorageExtensionWrapper` typos +- Add support for `XR_FB_composition_layer_depth_test` +- Use project settings to avoid enabling unneeded OpenXR extensions +- Passthrough extensions should override real alpha blend mode, if enabled +- Update the main manifest with the latest from the Khronos OpenXR loader AAR +- Improve hand tracking related code in demo project + +## 3.1.2 +- Fix passthrough sample color map display bug +- Fix the issue preventing overridden vendor options from being updated + +## 3.1.1 +- Emit correct signal from `OpenXRFbSpatialEntity.erase_from_storage()` +- Only add the `LAUNCHER` category if "Show in App Library" is enabled + +## 3.1.0 +- Fix wall, floor and ceiling collision shapes with Jolt physics +- Add option to enable permissions necessary for sharing of Meta's spatial anchors +- Fix crash when attempting to create a spatial anchor too early +- Reworked geometric algebra used by Meta body tracking extension +- Remove deprecated "Contextual" boundary mode on Meta Quest +- Add two modes of Pico hand tracking to selectable export features +- Fix `OpenXRFbPassthroughExtensionWrapper` from wiping out the next pointer chain for system properties +- Update OpenXR to Khronos 1.1.41 release +- Add a project setting to enable/disable automatic requests for runtime permissions +- Add export profile for Magic Leap 2 + +## 3.0.1 +- Fixed hand tracking issue + +## 3.0.0 +- Merge GDExtension into a single implementation +- Upgrade Android, Gradle, Godot and Kotlin dependencies +- Add XR_FB_face_tracking support +- Update to OpenXR 1.0.34 headers +- Add XR_FB_render_model extension wrapper and OpenXRFBRenderModel node +- Add XR_FB_passthrough extension wrapper +- Add XR_FB_hand_tracking_mesh extension wrapper and OpenXRFbHandTrackingMesh node +- Add XR_FB_hand_tracking_aim support +- Update Meta OpenXR mobile SDK to version 62 +- Add a developer-facing API for interacting with scene anchors +- Add support for developer-created spatial anchors via XR_FB_spatial_entity +- Add XR_FB_hand_tracking_capsules extension wrapper +- Add OpenXRFbPassthroughGeometry node +- Add OpenXRMetaPassthroughColorLut +- Add feature flags to Khronos loader for HTC +- Add XR_HTC_passthrough extension wrapper +- Add manifest entries to Pico and switch Pico to using the Khronos Loader +- Add Meta Passthrough tutorial doc + +## 2.0.4 +- Fix misc crash when reloading project on Godot 4.3 +- Fix issue with only the first permission being requested + +## 2.0.3 +- Migrate the export scripts from gdscript to C++ via gdextension +- Manually request eye tracking permission if it's included in the app manifest +- Change how singletons are accessed +- Fix the plugin version for the export plugins +- Add OpenXR extension wrappers for fb_scene, fb_spatial_entity, fb_spatial_entity_query, fb_spatial_entity_container + +## 2.0.0 +- Update to the new Godot 4.2 Android plugin packaging format +- Update the plugin to Godot v2 Android plugin +- Update to the Godot 4.2 Android library +- Add warning when multiple loaders are selected +- Add configs for the OpenXR Eye gaze interaction extension +- Add the ability to customize supported Meta devices +- Add support for Quest 3 devices +- Update the directory structure for the v2 plugin +- Update Meta OpenXR mobile SDK to version 57 +- Update the java version to 17 +- Rename the plugin to 'Godot OpenXR Vendors' +- Add godot-cpp dependency +- Add OpenXR 1.0.30 headers +- Add support for the Meta scene capture API (Donated by [Migeran](https://migeran.com)) + +## 1.1.0 +- Update Meta OpenXR loader to version 54 +- Update PICO OpenXR loader to version 2.2.0 +- Bump dependencies versions to match the latest Godot 4.x stable version (v4.0.3) + +## 1.0.0 +- First version +- Added support for Meta Quest loader +- Added support for Pico loader +- Added support for Khronos loader (Magic Leap 2, HTC, etc.) +- Added support for Lynx loader +- Add logic to automatically publish the Godot OpenXR loaders libraries to mavencentral on release diff --git a/new-game-project/addons/godotopenxrvendors/khronos/LICENSE b/new-game-project/addons/godotopenxrvendors/khronos/LICENSE new file mode 100644 index 0000000..6b0b127 --- /dev/null +++ b/new-game-project/addons/godotopenxrvendors/khronos/LICENSE @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/new-game-project/addons/godotopenxrvendors/magicleap/LICENSE b/new-game-project/addons/godotopenxrvendors/magicleap/LICENSE new file mode 100644 index 0000000..6b0b127 --- /dev/null +++ b/new-game-project/addons/godotopenxrvendors/magicleap/LICENSE @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/new-game-project/addons/godotopenxrvendors/meta/LICENSE-LOADER b/new-game-project/addons/godotopenxrvendors/meta/LICENSE-LOADER new file mode 100644 index 0000000..6b0b127 --- /dev/null +++ b/new-game-project/addons/godotopenxrvendors/meta/LICENSE-LOADER @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/new-game-project/addons/godotopenxrvendors/meta/LICENSE-SDK b/new-game-project/addons/godotopenxrvendors/meta/LICENSE-SDK new file mode 100644 index 0000000..c2c569e --- /dev/null +++ b/new-game-project/addons/godotopenxrvendors/meta/LICENSE-SDK @@ -0,0 +1,3 @@ +Copyright © Facebook Technologies, LLC and its affiliates. All rights reserved. + +Your use of this SDK or tool is subject to the Oculus SDK License Agreement, available at https://developer.oculus.com/licenses/oculussdk/ diff --git a/new-game-project/addons/godotopenxrvendors/pico/LICENSE b/new-game-project/addons/godotopenxrvendors/pico/LICENSE new file mode 100644 index 0000000..6b0b127 --- /dev/null +++ b/new-game-project/addons/godotopenxrvendors/pico/LICENSE @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/new-game-project/addons/godotopenxrvendors/plugin.gdextension b/new-game-project/addons/godotopenxrvendors/plugin.gdextension new file mode 100644 index 0000000..8c616f8 --- /dev/null +++ b/new-game-project/addons/godotopenxrvendors/plugin.gdextension @@ -0,0 +1,18 @@ +[configuration] + +entry_symbol = "plugin_library_init" +compatibility_minimum = "4.4" +android_aar_plugin = true + +[libraries] + +android.debug.arm64 = "res://addons/godotopenxrvendors/.bin/android/template_debug/arm64/libgodotopenxrvendors.so" +android.release.arm64 = "res://addons/godotopenxrvendors/.bin/android/template_release/arm64/libgodotopenxrvendors.so" +android.debug.x86_64 = "res://addons/godotopenxrvendors/.bin/android/template_debug/x86_64/libgodotopenxrvendors.so" +android.release.x86_64 = "res://addons/godotopenxrvendors/.bin/android/template_release/x86_64/libgodotopenxrvendors.so" +macos.debug = "res://addons/godotopenxrvendors/.bin/macos/template_debug/libgodotopenxrvendors.macos.framework" +macos.release = "res://addons/godotopenxrvendors/.bin/macos/template_release/libgodotopenxrvendors.macos.framework" +windows.debug.x86_64 = "res://addons/godotopenxrvendors/.bin/windows/template_debug/x86_64/libgodotopenxrvendors.dll" +windows.release.x86_64 = "res://addons/godotopenxrvendors/.bin/windows/template_release/x86_64/libgodotopenxrvendors.dll" +linux.debug.x86_64 = "res://addons/godotopenxrvendors/.bin/linux/template_debug/x86_64/libgodotopenxrvendors.so" +linux.release.x86_64 = "res://addons/godotopenxrvendors/.bin/linux/template_release/x86_64/libgodotopenxrvendors.so" diff --git a/new-game-project/addons/godotopenxrvendors/plugin.gdextension.uid b/new-game-project/addons/godotopenxrvendors/plugin.gdextension.uid new file mode 100644 index 0000000..bf67758 --- /dev/null +++ b/new-game-project/addons/godotopenxrvendors/plugin.gdextension.uid @@ -0,0 +1 @@ +uid://u32t56vkch04 diff --git a/new-game-project/icon.svg b/new-game-project/icon.svg new file mode 100644 index 0000000..9d8b7fa --- /dev/null +++ b/new-game-project/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/new-game-project/icon.svg.import b/new-game-project/icon.svg.import new file mode 100644 index 0000000..c1d22bc --- /dev/null +++ b/new-game-project/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://db3ntv4r51dos" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/new-game-project/mesh.gd b/new-game-project/mesh.gd new file mode 100644 index 0000000..1f02ec9 --- /dev/null +++ b/new-game-project/mesh.gd @@ -0,0 +1,6 @@ +extends MultiMeshInstance3D + +Vector3[] points = [] + +func _ready() -> void: + self.add diff --git a/new-game-project/mesh.gd.uid b/new-game-project/mesh.gd.uid new file mode 100644 index 0000000..c06c9a8 --- /dev/null +++ b/new-game-project/mesh.gd.uid @@ -0,0 +1 @@ +uid://bceii16gv0cdh diff --git a/new-game-project/node_3d.gd b/new-game-project/node_3d.gd new file mode 100644 index 0000000..13e8dd1 --- /dev/null +++ b/new-game-project/node_3d.gd @@ -0,0 +1,55 @@ +extends Node3D + +const num_points: int = 50 +const scale_pos: float = 0.01 +const scale_color: float = 255. / num_points + +@onready var right_hand: XRController3D = get_node("XROrigin3D/RightHand") + +@onready var world_cloud: Pointcloud = get_node("World_Pointcloud") +@onready var hand_cloud: Pointcloud = get_node("XROrigin3D/RightHand/Hand_Pointcloud") + +var points: Array[Vector3] = [] +var colors: Array[Vector3] = [] + +var xr_interface: XRInterface + +func _ready(): + xr_interface = XRServer.find_interface("OpenXR") + if xr_interface and xr_interface.is_initialized(): + print("OpenXR initialized successfully") + + # Turn off v-sync! + DisplayServer.window_set_vsync_mode(DisplayServer.VSYNC_DISABLED) + + # Change our main viewport to output to the HMD + get_viewport().use_xr = true + xr_interface.environment_blend_mode = XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND + get_viewport().transparent_bg = true + else: + print("OpenXR not initialized, please check if your headset is connected") + + + + for x in 50: + for y in 50: + points.append(Vector3(x * scale_pos, y * scale_pos, 0)) + colors.append(Vector3(x * scale_color, y * scale_color, 0)) + + hand_cloud.set_points(points, colors) + +var last_pressed = false + +func _process(delta): + var pressed = right_hand.get_float("trigger") > 0. + if(pressed && !last_pressed): + var points_clone: Array[Vector3] = [] + print(right_hand.global_position) + for point in points: + + points_clone.append(right_hand.to_global(point)) + + world_cloud.add_points(points_clone, colors.duplicate()) + last_pressed = true + print("points! ", len(points_clone)) + elif (!pressed): last_pressed = false diff --git a/new-game-project/node_3d.gd.uid b/new-game-project/node_3d.gd.uid new file mode 100644 index 0000000..f5bb515 --- /dev/null +++ b/new-game-project/node_3d.gd.uid @@ -0,0 +1 @@ +uid://b30x7woiqqavh diff --git a/new-game-project/node_3d.tscn b/new-game-project/node_3d.tscn new file mode 100644 index 0000000..ceb9c59 --- /dev/null +++ b/new-game-project/node_3d.tscn @@ -0,0 +1,38 @@ +[gd_scene load_steps=4 format=3 uid="uid://bytlha0qtt0s3"] + +[ext_resource type="Script" uid="uid://b30x7woiqqavh" path="res://node_3d.gd" id="1_a202f"] +[ext_resource type="Script" uid="uid://bcj10ndqg8ru5" path="res://right_hand.gd" id="2_a0tk4"] +[ext_resource type="Script" uid="uid://bx3sjcpcrnkr" path="res://pointcloud.gd" id="3_r3fl7"] + +[node name="Node3D" type="Node3D"] +script = ExtResource("1_a202f") + +[node name="World_Pointcloud" type="MultiMeshInstance3D" parent="."] +script = ExtResource("3_r3fl7") +metadata/_custom_type_script = "uid://bx3sjcpcrnkr" + +[node name="XROrigin3D" type="XROrigin3D" parent="."] + +[node name="XRCamera3D" type="XRCamera3D" parent="XROrigin3D"] + +[node name="LeftHand" type="XRController3D" parent="XROrigin3D"] +tracker = &"left_hand" +pose = &"aim" +show_when_tracked = true + +[node name="RightHand" type="XRController3D" parent="XROrigin3D"] +tracker = &"right_hand" +pose = &"aim" +script = ExtResource("2_a0tk4") + +[node name="CSGBox3D2" type="CSGBox3D" parent="XROrigin3D/RightHand"] +visible = false +size = Vector3(0.05, 0.05, 0.05) + +[node name="Hand_Pointcloud" type="MultiMeshInstance3D" parent="XROrigin3D/RightHand"] +script = ExtResource("3_r3fl7") +metadata/_custom_type_script = "uid://bx3sjcpcrnkr" + +[node name="CSGBox3D2" type="CSGBox3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0) +visible = false diff --git a/new-game-project/openxr_action_map.tres b/new-game-project/openxr_action_map.tres new file mode 100644 index 0000000..15bed89 --- /dev/null +++ b/new-game-project/openxr_action_map.tres @@ -0,0 +1,1713 @@ +[gd_resource type="OpenXRActionMap" load_steps=417 format=3 uid="uid://c6ebfdmhomf23"] + +[sub_resource type="OpenXRAction" id="OpenXRAction_6ivru"] +resource_name = "trigger" +localized_name = "Trigger" +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_vfhwq"] +resource_name = "trigger_click" +localized_name = "Trigger click" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_5w03k"] +resource_name = "trigger_touch" +localized_name = "Trigger touching" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_typ1r"] +resource_name = "grip" +localized_name = "Grip" +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_clvbf"] +resource_name = "grip_click" +localized_name = "Grip click" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_5bppb"] +resource_name = "grip_force" +localized_name = "Grip force" +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_3k6la"] +resource_name = "primary" +localized_name = "Primary joystick/thumbstick/trackpad" +action_type = 2 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_i8esw"] +resource_name = "primary_click" +localized_name = "Primary joystick/thumbstick/trackpad click" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_um1hv"] +resource_name = "primary_touch" +localized_name = "Primary joystick/thumbstick/trackpad touching" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_oqnsu"] +resource_name = "secondary" +localized_name = "Secondary joystick/thumbstick/trackpad" +action_type = 2 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_r5bl7"] +resource_name = "secondary_click" +localized_name = "Secondary joystick/thumbstick/trackpad click" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_ytptc"] +resource_name = "secondary_touch" +localized_name = "Secondary joystick/thumbstick/trackpad touching" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_iphn4"] +resource_name = "menu_button" +localized_name = "Menu button" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_3p2as"] +resource_name = "select_button" +localized_name = "Select button" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_wdehm"] +resource_name = "ax_button" +localized_name = "A/X button" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_clfly"] +resource_name = "ax_touch" +localized_name = "A/X touching" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_e1frq"] +resource_name = "by_button" +localized_name = "B/Y button" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_l7aq8"] +resource_name = "by_touch" +localized_name = "B/Y touching" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_oi0ij"] +resource_name = "default_pose" +localized_name = "Default pose" +action_type = 3 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/keyboard", "/user/eyes_ext") + +[sub_resource type="OpenXRAction" id="OpenXRAction_m08eo"] +resource_name = "aim_pose" +localized_name = "Aim pose" +action_type = 3 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_c4j1d"] +resource_name = "grip_pose" +localized_name = "Grip pose" +action_type = 3 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_sopde"] +resource_name = "palm_pose" +localized_name = "Palm pose" +action_type = 3 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_sow2k"] +resource_name = "haptic" +localized_name = "Haptic" +action_type = 4 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/keyboard") + +[sub_resource type="OpenXRActionSet" id="OpenXRActionSet_ngwcy"] +resource_name = "godot" +localized_name = "Godot action set" +actions = [SubResource("OpenXRAction_6ivru"), SubResource("OpenXRAction_vfhwq"), SubResource("OpenXRAction_5w03k"), SubResource("OpenXRAction_typ1r"), SubResource("OpenXRAction_clvbf"), SubResource("OpenXRAction_5bppb"), SubResource("OpenXRAction_3k6la"), SubResource("OpenXRAction_i8esw"), SubResource("OpenXRAction_um1hv"), SubResource("OpenXRAction_oqnsu"), SubResource("OpenXRAction_r5bl7"), SubResource("OpenXRAction_ytptc"), SubResource("OpenXRAction_iphn4"), SubResource("OpenXRAction_3p2as"), SubResource("OpenXRAction_wdehm"), SubResource("OpenXRAction_clfly"), SubResource("OpenXRAction_e1frq"), SubResource("OpenXRAction_l7aq8"), SubResource("OpenXRAction_oi0ij"), SubResource("OpenXRAction_m08eo"), SubResource("OpenXRAction_c4j1d"), SubResource("OpenXRAction_sopde"), SubResource("OpenXRAction_sow2k")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_r3qn1"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_n01b8"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_pjtev"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nqyri"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_86uui"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/left/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nrtxc"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/right/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qovyo"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/left/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d6uso"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/right/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hvi7v"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/left/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7dxun"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/right/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rp8ih"] +action = SubResource("OpenXRAction_3p2as") +binding_path = "/user/hand/left/input/select/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0uca0"] +action = SubResource("OpenXRAction_3p2as") +binding_path = "/user/hand/right/input/select/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rjtq8"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/left/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lce2q"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/right/output/haptic" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_ckeh6"] +interaction_profile_path = "/interaction_profiles/khr/simple_controller" +bindings = [SubResource("OpenXRIPBinding_r3qn1"), SubResource("OpenXRIPBinding_n01b8"), SubResource("OpenXRIPBinding_pjtev"), SubResource("OpenXRIPBinding_nqyri"), SubResource("OpenXRIPBinding_86uui"), SubResource("OpenXRIPBinding_nrtxc"), SubResource("OpenXRIPBinding_qovyo"), SubResource("OpenXRIPBinding_d6uso"), SubResource("OpenXRIPBinding_hvi7v"), SubResource("OpenXRIPBinding_7dxun"), SubResource("OpenXRIPBinding_rp8ih"), SubResource("OpenXRIPBinding_0uca0"), SubResource("OpenXRIPBinding_rjtq8"), SubResource("OpenXRIPBinding_lce2q")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_538mi"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_548p5"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6o0wr"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_fsghu"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_88umk"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/left/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4uneg"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/right/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_67o31"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/left/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lf1a1"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/right/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_x1adc"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/left/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_j1vtv"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/right/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_tud50"] +action = SubResource("OpenXRAction_3p2as") +binding_path = "/user/hand/left/input/system/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_akdt0"] +action = SubResource("OpenXRAction_3p2as") +binding_path = "/user/hand/right/input/system/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xri1r"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_etqcv"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_og5pg"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/left/input/trigger/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nwe40"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/right/input/trigger/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ts2ff"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/left/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yhsv0"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/right/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sf2dt"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/left/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_67dwi"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/right/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hswdx"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/left/input/trackpad" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7gr0f"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/right/input/trackpad" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_uvspk"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/left/input/trackpad/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ica2g"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/right/input/trackpad/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5fecu"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/left/input/trackpad/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0nfxl"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/right/input/trackpad/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sbe0d"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/left/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rf1ko"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/right/output/haptic" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_jx7ge"] +interaction_profile_path = "/interaction_profiles/htc/vive_controller" +bindings = [SubResource("OpenXRIPBinding_538mi"), SubResource("OpenXRIPBinding_548p5"), SubResource("OpenXRIPBinding_6o0wr"), SubResource("OpenXRIPBinding_fsghu"), SubResource("OpenXRIPBinding_88umk"), SubResource("OpenXRIPBinding_4uneg"), SubResource("OpenXRIPBinding_67o31"), SubResource("OpenXRIPBinding_lf1a1"), SubResource("OpenXRIPBinding_x1adc"), SubResource("OpenXRIPBinding_j1vtv"), SubResource("OpenXRIPBinding_tud50"), SubResource("OpenXRIPBinding_akdt0"), SubResource("OpenXRIPBinding_xri1r"), SubResource("OpenXRIPBinding_etqcv"), SubResource("OpenXRIPBinding_og5pg"), SubResource("OpenXRIPBinding_nwe40"), SubResource("OpenXRIPBinding_ts2ff"), SubResource("OpenXRIPBinding_yhsv0"), SubResource("OpenXRIPBinding_sf2dt"), SubResource("OpenXRIPBinding_67dwi"), SubResource("OpenXRIPBinding_hswdx"), SubResource("OpenXRIPBinding_7gr0f"), SubResource("OpenXRIPBinding_uvspk"), SubResource("OpenXRIPBinding_ica2g"), SubResource("OpenXRIPBinding_5fecu"), SubResource("OpenXRIPBinding_0nfxl"), SubResource("OpenXRIPBinding_sbe0d"), SubResource("OpenXRIPBinding_rf1ko")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d2w1t"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_v2kct"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_37uq4"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_kooyb"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_51qre"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/left/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_fncxp"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/right/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qi50k"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/left/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_h5icu"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/right/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_b1sv6"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/left/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yu2t6"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/right/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_labib"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_altuc"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7p0fp"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yjnix"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_pgh0x"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/left/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lplyu"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/right/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ifnya"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/left/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jl4vo"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/right/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1n6j6"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/left/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_o1nfs"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/right/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_unnrh"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/left/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3wafl"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/right/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_tjb53"] +action = SubResource("OpenXRAction_oqnsu") +binding_path = "/user/hand/left/input/trackpad" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lcg2b"] +action = SubResource("OpenXRAction_oqnsu") +binding_path = "/user/hand/right/input/trackpad" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sp6l2"] +action = SubResource("OpenXRAction_r5bl7") +binding_path = "/user/hand/left/input/trackpad/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xj6ir"] +action = SubResource("OpenXRAction_r5bl7") +binding_path = "/user/hand/right/input/trackpad/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_igmf3"] +action = SubResource("OpenXRAction_ytptc") +binding_path = "/user/hand/left/input/trackpad/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_inw5v"] +action = SubResource("OpenXRAction_ytptc") +binding_path = "/user/hand/right/input/trackpad/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_iy2wq"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/left/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_plu03"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/right/output/haptic" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_dad45"] +interaction_profile_path = "/interaction_profiles/microsoft/motion_controller" +bindings = [SubResource("OpenXRIPBinding_d2w1t"), SubResource("OpenXRIPBinding_v2kct"), SubResource("OpenXRIPBinding_37uq4"), SubResource("OpenXRIPBinding_kooyb"), SubResource("OpenXRIPBinding_51qre"), SubResource("OpenXRIPBinding_fncxp"), SubResource("OpenXRIPBinding_qi50k"), SubResource("OpenXRIPBinding_h5icu"), SubResource("OpenXRIPBinding_b1sv6"), SubResource("OpenXRIPBinding_yu2t6"), SubResource("OpenXRIPBinding_labib"), SubResource("OpenXRIPBinding_altuc"), SubResource("OpenXRIPBinding_7p0fp"), SubResource("OpenXRIPBinding_yjnix"), SubResource("OpenXRIPBinding_pgh0x"), SubResource("OpenXRIPBinding_lplyu"), SubResource("OpenXRIPBinding_ifnya"), SubResource("OpenXRIPBinding_jl4vo"), SubResource("OpenXRIPBinding_1n6j6"), SubResource("OpenXRIPBinding_o1nfs"), SubResource("OpenXRIPBinding_unnrh"), SubResource("OpenXRIPBinding_3wafl"), SubResource("OpenXRIPBinding_tjb53"), SubResource("OpenXRIPBinding_lcg2b"), SubResource("OpenXRIPBinding_sp6l2"), SubResource("OpenXRIPBinding_xj6ir"), SubResource("OpenXRIPBinding_igmf3"), SubResource("OpenXRIPBinding_inw5v"), SubResource("OpenXRIPBinding_iy2wq"), SubResource("OpenXRIPBinding_plu03")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_m5e8q"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5t7jh"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_chplt"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_obxrh"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_on7oi"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/left/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ege4h"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/right/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_h7ix0"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/left/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8qanm"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/right/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3senm"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/left/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7ca55"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/right/input/system/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ih1l2"] +action = SubResource("OpenXRAction_wdehm") +binding_path = "/user/hand/left/input/x/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ipewn"] +action = SubResource("OpenXRAction_wdehm") +binding_path = "/user/hand/right/input/a/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5ngl7"] +action = SubResource("OpenXRAction_clfly") +binding_path = "/user/hand/left/input/x/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_klygg"] +action = SubResource("OpenXRAction_clfly") +binding_path = "/user/hand/right/input/a/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4p63k"] +action = SubResource("OpenXRAction_e1frq") +binding_path = "/user/hand/left/input/y/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6vi2m"] +action = SubResource("OpenXRAction_e1frq") +binding_path = "/user/hand/right/input/b/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_888d1"] +action = SubResource("OpenXRAction_l7aq8") +binding_path = "/user/hand/left/input/y/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_246v5"] +action = SubResource("OpenXRAction_l7aq8") +binding_path = "/user/hand/right/input/b/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xj73r"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sugej"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_fp7u7"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_gvgeq"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_i0s8c"] +action = SubResource("OpenXRAction_5w03k") +binding_path = "/user/hand/left/input/trigger/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ynetq"] +action = SubResource("OpenXRAction_5w03k") +binding_path = "/user/hand/right/input/trigger/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_p8bcx"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/left/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jkemj"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/right/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d3nfp"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/left/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jyu76"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/right/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_aecy5"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/left/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8vb80"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/right/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_myee0"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/left/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1vv3a"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/right/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_tjysa"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/left/input/thumbstick/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_r4yxn"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/right/input/thumbstick/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_me87v"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/left/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d8myu"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/right/output/haptic" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_hsh5n"] +interaction_profile_path = "/interaction_profiles/oculus/touch_controller" +bindings = [SubResource("OpenXRIPBinding_m5e8q"), SubResource("OpenXRIPBinding_5t7jh"), SubResource("OpenXRIPBinding_chplt"), SubResource("OpenXRIPBinding_obxrh"), SubResource("OpenXRIPBinding_on7oi"), SubResource("OpenXRIPBinding_ege4h"), SubResource("OpenXRIPBinding_h7ix0"), SubResource("OpenXRIPBinding_8qanm"), SubResource("OpenXRIPBinding_3senm"), SubResource("OpenXRIPBinding_7ca55"), SubResource("OpenXRIPBinding_ih1l2"), SubResource("OpenXRIPBinding_ipewn"), SubResource("OpenXRIPBinding_5ngl7"), SubResource("OpenXRIPBinding_klygg"), SubResource("OpenXRIPBinding_4p63k"), SubResource("OpenXRIPBinding_6vi2m"), SubResource("OpenXRIPBinding_888d1"), SubResource("OpenXRIPBinding_246v5"), SubResource("OpenXRIPBinding_xj73r"), SubResource("OpenXRIPBinding_sugej"), SubResource("OpenXRIPBinding_fp7u7"), SubResource("OpenXRIPBinding_gvgeq"), SubResource("OpenXRIPBinding_i0s8c"), SubResource("OpenXRIPBinding_ynetq"), SubResource("OpenXRIPBinding_p8bcx"), SubResource("OpenXRIPBinding_jkemj"), SubResource("OpenXRIPBinding_d3nfp"), SubResource("OpenXRIPBinding_jyu76"), SubResource("OpenXRIPBinding_aecy5"), SubResource("OpenXRIPBinding_8vb80"), SubResource("OpenXRIPBinding_myee0"), SubResource("OpenXRIPBinding_1vv3a"), SubResource("OpenXRIPBinding_tjysa"), SubResource("OpenXRIPBinding_r4yxn"), SubResource("OpenXRIPBinding_me87v"), SubResource("OpenXRIPBinding_d8myu")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lng5j"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_aeeoj"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_gosqu"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_n52fm"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vushy"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/left/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lbhgg"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/right/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_m1cgb"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/left/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yfktj"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/right/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_kjhen"] +action = SubResource("OpenXRAction_3p2as") +binding_path = "/user/hand/left/input/system/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_32kw4"] +action = SubResource("OpenXRAction_3p2as") +binding_path = "/user/hand/right/input/system/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ktbxl"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/left/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8ldfe"] +action = SubResource("OpenXRAction_wdehm") +binding_path = "/user/hand/left/input/x/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nueak"] +action = SubResource("OpenXRAction_wdehm") +binding_path = "/user/hand/right/input/a/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vopyr"] +action = SubResource("OpenXRAction_clfly") +binding_path = "/user/hand/left/input/x/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rgbyv"] +action = SubResource("OpenXRAction_clfly") +binding_path = "/user/hand/right/input/a/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_bflds"] +action = SubResource("OpenXRAction_e1frq") +binding_path = "/user/hand/left/input/y/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_pueci"] +action = SubResource("OpenXRAction_e1frq") +binding_path = "/user/hand/right/input/b/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jn5l0"] +action = SubResource("OpenXRAction_l7aq8") +binding_path = "/user/hand/left/input/y/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_44ra8"] +action = SubResource("OpenXRAction_l7aq8") +binding_path = "/user/hand/right/input/b/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_bh82f"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7b312"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ajt26"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_grl1h"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dlpx3"] +action = SubResource("OpenXRAction_5w03k") +binding_path = "/user/hand/left/input/trigger/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_s4h6a"] +action = SubResource("OpenXRAction_5w03k") +binding_path = "/user/hand/right/input/trigger/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0njdn"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/left/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xtpgr"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/right/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sm8ja"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/left/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_fyyqw"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/right/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6yfaw"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/left/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_x7rhh"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/right/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8cuio"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/left/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_v0kom"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/right/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_v1men"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/left/input/thumbstick/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qujgh"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/right/input/thumbstick/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8xxre"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/left/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jceb4"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/right/output/haptic" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_lvl5r"] +interaction_profile_path = "/interaction_profiles/bytedance/pico4_controller" +bindings = [SubResource("OpenXRIPBinding_lng5j"), SubResource("OpenXRIPBinding_aeeoj"), SubResource("OpenXRIPBinding_gosqu"), SubResource("OpenXRIPBinding_n52fm"), SubResource("OpenXRIPBinding_vushy"), SubResource("OpenXRIPBinding_lbhgg"), SubResource("OpenXRIPBinding_m1cgb"), SubResource("OpenXRIPBinding_yfktj"), SubResource("OpenXRIPBinding_kjhen"), SubResource("OpenXRIPBinding_32kw4"), SubResource("OpenXRIPBinding_ktbxl"), SubResource("OpenXRIPBinding_8ldfe"), SubResource("OpenXRIPBinding_nueak"), SubResource("OpenXRIPBinding_vopyr"), SubResource("OpenXRIPBinding_rgbyv"), SubResource("OpenXRIPBinding_bflds"), SubResource("OpenXRIPBinding_pueci"), SubResource("OpenXRIPBinding_jn5l0"), SubResource("OpenXRIPBinding_44ra8"), SubResource("OpenXRIPBinding_bh82f"), SubResource("OpenXRIPBinding_7b312"), SubResource("OpenXRIPBinding_ajt26"), SubResource("OpenXRIPBinding_grl1h"), SubResource("OpenXRIPBinding_dlpx3"), SubResource("OpenXRIPBinding_s4h6a"), SubResource("OpenXRIPBinding_0njdn"), SubResource("OpenXRIPBinding_xtpgr"), SubResource("OpenXRIPBinding_sm8ja"), SubResource("OpenXRIPBinding_fyyqw"), SubResource("OpenXRIPBinding_6yfaw"), SubResource("OpenXRIPBinding_x7rhh"), SubResource("OpenXRIPBinding_8cuio"), SubResource("OpenXRIPBinding_v0kom"), SubResource("OpenXRIPBinding_v1men"), SubResource("OpenXRIPBinding_qujgh"), SubResource("OpenXRIPBinding_8xxre"), SubResource("OpenXRIPBinding_jceb4")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_2juyq"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_c1fap"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_34k6i"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_biq8g"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7rnxc"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/left/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_go0kb"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/right/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_psf6i"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/left/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_q7kgi"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/right/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ggehc"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/left/input/system/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8isuk"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/right/input/system/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_l36rf"] +action = SubResource("OpenXRAction_wdehm") +binding_path = "/user/hand/left/input/a/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7xtpc"] +action = SubResource("OpenXRAction_wdehm") +binding_path = "/user/hand/right/input/a/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lxj72"] +action = SubResource("OpenXRAction_clfly") +binding_path = "/user/hand/left/input/a/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ipsea"] +action = SubResource("OpenXRAction_clfly") +binding_path = "/user/hand/right/input/a/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_n5ic7"] +action = SubResource("OpenXRAction_e1frq") +binding_path = "/user/hand/left/input/b/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yb78u"] +action = SubResource("OpenXRAction_e1frq") +binding_path = "/user/hand/right/input/b/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_u1xt5"] +action = SubResource("OpenXRAction_l7aq8") +binding_path = "/user/hand/left/input/b/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_e0b0t"] +action = SubResource("OpenXRAction_l7aq8") +binding_path = "/user/hand/right/input/b/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_e56i2"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_o3gnr"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_x0dby"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/left/input/trigger/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_oysla"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/right/input/trigger/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jfg4b"] +action = SubResource("OpenXRAction_5w03k") +binding_path = "/user/hand/left/input/trigger/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dkohk"] +action = SubResource("OpenXRAction_5w03k") +binding_path = "/user/hand/right/input/trigger/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4j1at"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/left/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0c4l6"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/right/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dj07b"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/left/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_p2sos"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/right/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sjamf"] +action = SubResource("OpenXRAction_5bppb") +binding_path = "/user/hand/left/input/squeeze/force" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_if5c0"] +action = SubResource("OpenXRAction_5bppb") +binding_path = "/user/hand/right/input/squeeze/force" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_57aju"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/left/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_2nhts"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/right/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7wbbb"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/left/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xagmn"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/right/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_x3bni"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/left/input/thumbstick/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ix831"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/right/input/thumbstick/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_shvqi"] +action = SubResource("OpenXRAction_oqnsu") +binding_path = "/user/hand/left/input/trackpad" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_mqshq"] +action = SubResource("OpenXRAction_oqnsu") +binding_path = "/user/hand/right/input/trackpad" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_bugar"] +action = SubResource("OpenXRAction_r5bl7") +binding_path = "/user/hand/left/input/trackpad/force" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1tmte"] +action = SubResource("OpenXRAction_r5bl7") +binding_path = "/user/hand/right/input/trackpad/force" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ve8wc"] +action = SubResource("OpenXRAction_ytptc") +binding_path = "/user/hand/left/input/trackpad/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_txme2"] +action = SubResource("OpenXRAction_ytptc") +binding_path = "/user/hand/right/input/trackpad/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nudtj"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/left/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_2a6v2"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/right/output/haptic" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_jhul1"] +interaction_profile_path = "/interaction_profiles/valve/index_controller" +bindings = [SubResource("OpenXRIPBinding_2juyq"), SubResource("OpenXRIPBinding_c1fap"), SubResource("OpenXRIPBinding_34k6i"), SubResource("OpenXRIPBinding_biq8g"), SubResource("OpenXRIPBinding_7rnxc"), SubResource("OpenXRIPBinding_go0kb"), SubResource("OpenXRIPBinding_psf6i"), SubResource("OpenXRIPBinding_q7kgi"), SubResource("OpenXRIPBinding_ggehc"), SubResource("OpenXRIPBinding_8isuk"), SubResource("OpenXRIPBinding_l36rf"), SubResource("OpenXRIPBinding_7xtpc"), SubResource("OpenXRIPBinding_lxj72"), SubResource("OpenXRIPBinding_ipsea"), SubResource("OpenXRIPBinding_n5ic7"), SubResource("OpenXRIPBinding_yb78u"), SubResource("OpenXRIPBinding_u1xt5"), SubResource("OpenXRIPBinding_e0b0t"), SubResource("OpenXRIPBinding_e56i2"), SubResource("OpenXRIPBinding_o3gnr"), SubResource("OpenXRIPBinding_x0dby"), SubResource("OpenXRIPBinding_oysla"), SubResource("OpenXRIPBinding_jfg4b"), SubResource("OpenXRIPBinding_dkohk"), SubResource("OpenXRIPBinding_4j1at"), SubResource("OpenXRIPBinding_0c4l6"), SubResource("OpenXRIPBinding_dj07b"), SubResource("OpenXRIPBinding_p2sos"), SubResource("OpenXRIPBinding_sjamf"), SubResource("OpenXRIPBinding_if5c0"), SubResource("OpenXRIPBinding_57aju"), SubResource("OpenXRIPBinding_2nhts"), SubResource("OpenXRIPBinding_7wbbb"), SubResource("OpenXRIPBinding_xagmn"), SubResource("OpenXRIPBinding_x3bni"), SubResource("OpenXRIPBinding_ix831"), SubResource("OpenXRIPBinding_shvqi"), SubResource("OpenXRIPBinding_mqshq"), SubResource("OpenXRIPBinding_bugar"), SubResource("OpenXRIPBinding_1tmte"), SubResource("OpenXRIPBinding_ve8wc"), SubResource("OpenXRIPBinding_txme2"), SubResource("OpenXRIPBinding_nudtj"), SubResource("OpenXRIPBinding_2a6v2")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hpd1k"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7djuc"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rlsjo"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ad82e"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_053t8"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/left/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3y48y"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/right/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_eqmbe"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/left/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lml5w"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/right/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_bw6yn"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/left/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rmtug"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/right/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_got3w"] +action = SubResource("OpenXRAction_wdehm") +binding_path = "/user/hand/left/input/x/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_cfhcx"] +action = SubResource("OpenXRAction_wdehm") +binding_path = "/user/hand/right/input/a/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_wuspj"] +action = SubResource("OpenXRAction_e1frq") +binding_path = "/user/hand/left/input/y/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_j7v05"] +action = SubResource("OpenXRAction_e1frq") +binding_path = "/user/hand/right/input/b/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_a0qeh"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hop5q"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_wi6q4"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0x121"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_pxanv"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/left/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ylsgs"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/right/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lyc6f"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/left/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_t1gg6"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/right/input/squeeze/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_u2vet"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/left/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_gh4ss"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/right/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1olwi"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/left/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_t23ty"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/right/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_eusi4"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/left/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_etsgv"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/right/output/haptic" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_dnwvb"] +interaction_profile_path = "/interaction_profiles/hp/mixed_reality_controller" +bindings = [SubResource("OpenXRIPBinding_hpd1k"), SubResource("OpenXRIPBinding_7djuc"), SubResource("OpenXRIPBinding_rlsjo"), SubResource("OpenXRIPBinding_ad82e"), SubResource("OpenXRIPBinding_053t8"), SubResource("OpenXRIPBinding_3y48y"), SubResource("OpenXRIPBinding_eqmbe"), SubResource("OpenXRIPBinding_lml5w"), SubResource("OpenXRIPBinding_bw6yn"), SubResource("OpenXRIPBinding_rmtug"), SubResource("OpenXRIPBinding_got3w"), SubResource("OpenXRIPBinding_cfhcx"), SubResource("OpenXRIPBinding_wuspj"), SubResource("OpenXRIPBinding_j7v05"), SubResource("OpenXRIPBinding_a0qeh"), SubResource("OpenXRIPBinding_hop5q"), SubResource("OpenXRIPBinding_wi6q4"), SubResource("OpenXRIPBinding_0x121"), SubResource("OpenXRIPBinding_pxanv"), SubResource("OpenXRIPBinding_ylsgs"), SubResource("OpenXRIPBinding_lyc6f"), SubResource("OpenXRIPBinding_t1gg6"), SubResource("OpenXRIPBinding_u2vet"), SubResource("OpenXRIPBinding_gh4ss"), SubResource("OpenXRIPBinding_1olwi"), SubResource("OpenXRIPBinding_t23ty"), SubResource("OpenXRIPBinding_eusi4"), SubResource("OpenXRIPBinding_etsgv")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_g2w4v"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_icb4r"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xeo6w"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_76fhr"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ddmi7"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/left/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hasjr"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/right/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_fcs2k"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/left/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_eh655"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/right/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_a7x12"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/left/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_cimi4"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/right/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d63gl"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_uthup"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_204g3"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4n1wc"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7hjyr"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/left/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_60nb8"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/right/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_klm8s"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/left/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_r7qos"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/right/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ox4ja"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/left/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_bnyx8"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/right/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0mq2u"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/left/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_mi28r"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/right/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_h1y2o"] +action = SubResource("OpenXRAction_oqnsu") +binding_path = "/user/hand/left/input/trackpad" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_cag8c"] +action = SubResource("OpenXRAction_oqnsu") +binding_path = "/user/hand/right/input/trackpad" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_17tdw"] +action = SubResource("OpenXRAction_r5bl7") +binding_path = "/user/hand/left/input/trackpad/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_pm24r"] +action = SubResource("OpenXRAction_r5bl7") +binding_path = "/user/hand/right/input/trackpad/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3wkk3"] +action = SubResource("OpenXRAction_ytptc") +binding_path = "/user/hand/left/input/trackpad/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lkcwa"] +action = SubResource("OpenXRAction_ytptc") +binding_path = "/user/hand/right/input/trackpad/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_h43g7"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/left/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_j3htv"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/right/output/haptic" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_umnyo"] +interaction_profile_path = "/interaction_profiles/samsung/odyssey_controller" +bindings = [SubResource("OpenXRIPBinding_g2w4v"), SubResource("OpenXRIPBinding_icb4r"), SubResource("OpenXRIPBinding_xeo6w"), SubResource("OpenXRIPBinding_76fhr"), SubResource("OpenXRIPBinding_ddmi7"), SubResource("OpenXRIPBinding_hasjr"), SubResource("OpenXRIPBinding_fcs2k"), SubResource("OpenXRIPBinding_eh655"), SubResource("OpenXRIPBinding_a7x12"), SubResource("OpenXRIPBinding_cimi4"), SubResource("OpenXRIPBinding_d63gl"), SubResource("OpenXRIPBinding_uthup"), SubResource("OpenXRIPBinding_204g3"), SubResource("OpenXRIPBinding_4n1wc"), SubResource("OpenXRIPBinding_7hjyr"), SubResource("OpenXRIPBinding_60nb8"), SubResource("OpenXRIPBinding_klm8s"), SubResource("OpenXRIPBinding_r7qos"), SubResource("OpenXRIPBinding_ox4ja"), SubResource("OpenXRIPBinding_bnyx8"), SubResource("OpenXRIPBinding_0mq2u"), SubResource("OpenXRIPBinding_mi28r"), SubResource("OpenXRIPBinding_h1y2o"), SubResource("OpenXRIPBinding_cag8c"), SubResource("OpenXRIPBinding_17tdw"), SubResource("OpenXRIPBinding_pm24r"), SubResource("OpenXRIPBinding_3wkk3"), SubResource("OpenXRIPBinding_lkcwa"), SubResource("OpenXRIPBinding_h43g7"), SubResource("OpenXRIPBinding_j3htv")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_61gsj"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_f63eo"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3megw"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1875n"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jrx7l"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/left/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sddo8"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/right/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5idg5"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/left/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5vlhu"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/right/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yto2p"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/left/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_35s7d"] +action = SubResource("OpenXRAction_3p2as") +binding_path = "/user/hand/right/input/system/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_cukgo"] +action = SubResource("OpenXRAction_wdehm") +binding_path = "/user/hand/left/input/x/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_58wje"] +action = SubResource("OpenXRAction_wdehm") +binding_path = "/user/hand/right/input/a/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_x1ifb"] +action = SubResource("OpenXRAction_e1frq") +binding_path = "/user/hand/left/input/y/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hw16p"] +action = SubResource("OpenXRAction_e1frq") +binding_path = "/user/hand/right/input/b/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_gdlwa"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_drau7"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0vq03"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/left/input/trigger/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_y7ek0"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/right/input/trigger/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_cy6rb"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/left/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6r8a6"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/right/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vmwlg"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/left/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qcgh6"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/right/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_bwwah"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/left/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rtyas"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/right/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hk5ci"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/left/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4j055"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/right/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_awtpp"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/left/input/thumbstick/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xh6fl"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/right/input/thumbstick/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ixewl"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/left/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qwqvw"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/right/output/haptic" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_oqlrv"] +interaction_profile_path = "/interaction_profiles/htc/vive_cosmos_controller" +bindings = [SubResource("OpenXRIPBinding_61gsj"), SubResource("OpenXRIPBinding_f63eo"), SubResource("OpenXRIPBinding_3megw"), SubResource("OpenXRIPBinding_1875n"), SubResource("OpenXRIPBinding_jrx7l"), SubResource("OpenXRIPBinding_sddo8"), SubResource("OpenXRIPBinding_5idg5"), SubResource("OpenXRIPBinding_5vlhu"), SubResource("OpenXRIPBinding_yto2p"), SubResource("OpenXRIPBinding_35s7d"), SubResource("OpenXRIPBinding_cukgo"), SubResource("OpenXRIPBinding_58wje"), SubResource("OpenXRIPBinding_x1ifb"), SubResource("OpenXRIPBinding_hw16p"), SubResource("OpenXRIPBinding_gdlwa"), SubResource("OpenXRIPBinding_drau7"), SubResource("OpenXRIPBinding_0vq03"), SubResource("OpenXRIPBinding_y7ek0"), SubResource("OpenXRIPBinding_cy6rb"), SubResource("OpenXRIPBinding_6r8a6"), SubResource("OpenXRIPBinding_vmwlg"), SubResource("OpenXRIPBinding_qcgh6"), SubResource("OpenXRIPBinding_bwwah"), SubResource("OpenXRIPBinding_rtyas"), SubResource("OpenXRIPBinding_hk5ci"), SubResource("OpenXRIPBinding_4j055"), SubResource("OpenXRIPBinding_awtpp"), SubResource("OpenXRIPBinding_xh6fl"), SubResource("OpenXRIPBinding_ixewl"), SubResource("OpenXRIPBinding_qwqvw")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jw3vw"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3bjy3"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8upnq"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0w2ls"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_u8hab"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/left/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_eikk2"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/right/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5lybe"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/left/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_l4y5i"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/right/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_f7m66"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/left/input/menu/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d13a6"] +action = SubResource("OpenXRAction_3p2as") +binding_path = "/user/hand/right/input/system/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_wxcrn"] +action = SubResource("OpenXRAction_wdehm") +binding_path = "/user/hand/left/input/x/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6k8ea"] +action = SubResource("OpenXRAction_wdehm") +binding_path = "/user/hand/right/input/a/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1qemc"] +action = SubResource("OpenXRAction_e1frq") +binding_path = "/user/hand/left/input/y/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8u6xu"] +action = SubResource("OpenXRAction_e1frq") +binding_path = "/user/hand/right/input/b/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7camc"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0fset"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ei7tg"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/left/input/trigger/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_c2jdk"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/right/input/trigger/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_g5ap7"] +action = SubResource("OpenXRAction_5w03k") +binding_path = "/user/hand/left/input/trigger/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_bw6j3"] +action = SubResource("OpenXRAction_5w03k") +binding_path = "/user/hand/right/input/trigger/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_gsob2"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/left/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_145o5"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/right/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_p8l30"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/left/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qwnvq"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/right/input/squeeze/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1o618"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/left/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_k8gkf"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/right/input/thumbstick" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7atrr"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/left/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nc7nm"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/right/input/thumbstick/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_u48na"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/left/input/thumbstick/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qo7i1"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/right/input/thumbstick/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_spwgl"] +action = SubResource("OpenXRAction_ytptc") +binding_path = "/user/hand/left/input/thumbrest/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6v1vi"] +action = SubResource("OpenXRAction_ytptc") +binding_path = "/user/hand/right/input/thumbrest/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_fwqq1"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/left/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_felwo"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/right/output/haptic" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_okaja"] +interaction_profile_path = "/interaction_profiles/htc/vive_focus3_controller" +bindings = [SubResource("OpenXRIPBinding_jw3vw"), SubResource("OpenXRIPBinding_3bjy3"), SubResource("OpenXRIPBinding_8upnq"), SubResource("OpenXRIPBinding_0w2ls"), SubResource("OpenXRIPBinding_u8hab"), SubResource("OpenXRIPBinding_eikk2"), SubResource("OpenXRIPBinding_5lybe"), SubResource("OpenXRIPBinding_l4y5i"), SubResource("OpenXRIPBinding_f7m66"), SubResource("OpenXRIPBinding_d13a6"), SubResource("OpenXRIPBinding_wxcrn"), SubResource("OpenXRIPBinding_6k8ea"), SubResource("OpenXRIPBinding_1qemc"), SubResource("OpenXRIPBinding_8u6xu"), SubResource("OpenXRIPBinding_7camc"), SubResource("OpenXRIPBinding_0fset"), SubResource("OpenXRIPBinding_ei7tg"), SubResource("OpenXRIPBinding_c2jdk"), SubResource("OpenXRIPBinding_g5ap7"), SubResource("OpenXRIPBinding_bw6j3"), SubResource("OpenXRIPBinding_gsob2"), SubResource("OpenXRIPBinding_145o5"), SubResource("OpenXRIPBinding_p8l30"), SubResource("OpenXRIPBinding_qwnvq"), SubResource("OpenXRIPBinding_1o618"), SubResource("OpenXRIPBinding_k8gkf"), SubResource("OpenXRIPBinding_7atrr"), SubResource("OpenXRIPBinding_nc7nm"), SubResource("OpenXRIPBinding_u48na"), SubResource("OpenXRIPBinding_qo7i1"), SubResource("OpenXRIPBinding_spwgl"), SubResource("OpenXRIPBinding_6v1vi"), SubResource("OpenXRIPBinding_fwqq1"), SubResource("OpenXRIPBinding_felwo")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nim4l"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7rbtf"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vivrk"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1xhyi"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_kfc2j"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/left/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_osn8p"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/right/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_o7rx2"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/left/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_egnh2"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/right/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qdg3g"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/left/input/home/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1m4jk"] +action = SubResource("OpenXRAction_iphn4") +binding_path = "/user/hand/right/input/home/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_mq2is"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/left/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_j4oh5"] +action = SubResource("OpenXRAction_6ivru") +binding_path = "/user/hand/right/input/trigger/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ldfim"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/left/input/trigger/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_m7usb"] +action = SubResource("OpenXRAction_vfhwq") +binding_path = "/user/hand/right/input/trigger/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_kby14"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/left/input/trackpad" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1qtbb"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/right/input/trackpad" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qmp03"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/left/input/trackpad/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nd1f3"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/right/input/trackpad/click" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dxsir"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/left/input/trackpad/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_cl2rl"] +action = SubResource("OpenXRAction_um1hv") +binding_path = "/user/hand/right/input/trackpad/touch" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_a032v"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/left/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hh6l0"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/hand/right/output/haptic" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_gqjp6"] +interaction_profile_path = "/interaction_profiles/huawei/controller" +bindings = [SubResource("OpenXRIPBinding_nim4l"), SubResource("OpenXRIPBinding_7rbtf"), SubResource("OpenXRIPBinding_vivrk"), SubResource("OpenXRIPBinding_1xhyi"), SubResource("OpenXRIPBinding_kfc2j"), SubResource("OpenXRIPBinding_osn8p"), SubResource("OpenXRIPBinding_o7rx2"), SubResource("OpenXRIPBinding_egnh2"), SubResource("OpenXRIPBinding_qdg3g"), SubResource("OpenXRIPBinding_1m4jk"), SubResource("OpenXRIPBinding_mq2is"), SubResource("OpenXRIPBinding_j4oh5"), SubResource("OpenXRIPBinding_ldfim"), SubResource("OpenXRIPBinding_m7usb"), SubResource("OpenXRIPBinding_kby14"), SubResource("OpenXRIPBinding_1qtbb"), SubResource("OpenXRIPBinding_qmp03"), SubResource("OpenXRIPBinding_nd1f3"), SubResource("OpenXRIPBinding_dxsir"), SubResource("OpenXRIPBinding_cl2rl"), SubResource("OpenXRIPBinding_a032v"), SubResource("OpenXRIPBinding_hh6l0")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_iakc4"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/vive_tracker_htcx/role/left_foot/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jub2m"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/vive_tracker_htcx/role/right_foot/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_kha6s"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/vive_tracker_htcx/role/left_shoulder/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_kh8ww"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/vive_tracker_htcx/role/right_shoulder/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5web1"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/vive_tracker_htcx/role/left_elbow/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0o426"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/vive_tracker_htcx/role/right_elbow/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_2kr0w"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/vive_tracker_htcx/role/left_knee/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_gvn1o"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/vive_tracker_htcx/role/right_knee/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ubrrl"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/vive_tracker_htcx/role/waist/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_evtui"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/vive_tracker_htcx/role/chest/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_bwbi2"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/vive_tracker_htcx/role/camera/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_p873m"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/vive_tracker_htcx/role/keyboard/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_2sb1p"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/vive_tracker_htcx/role/left_foot/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_s5nuk"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/vive_tracker_htcx/role/right_foot/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0i62q"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/vive_tracker_htcx/role/left_shoulder/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_gp43m"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/vive_tracker_htcx/role/right_shoulder/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sdlm7"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/vive_tracker_htcx/role/left_elbow/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_c6q2j"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/vive_tracker_htcx/role/right_elbow/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_exd3l"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/vive_tracker_htcx/role/left_knee/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dkwnm"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/vive_tracker_htcx/role/right_knee/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xlbth"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/vive_tracker_htcx/role/waist/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_wgnra"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/vive_tracker_htcx/role/chest/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_833c4"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/vive_tracker_htcx/role/camera/output/haptic" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8hr1d"] +action = SubResource("OpenXRAction_sow2k") +binding_path = "/user/vive_tracker_htcx/role/keyboard/output/haptic" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_huhgn"] +interaction_profile_path = "/interaction_profiles/htc/vive_tracker_htcx" +bindings = [SubResource("OpenXRIPBinding_iakc4"), SubResource("OpenXRIPBinding_jub2m"), SubResource("OpenXRIPBinding_kha6s"), SubResource("OpenXRIPBinding_kh8ww"), SubResource("OpenXRIPBinding_5web1"), SubResource("OpenXRIPBinding_0o426"), SubResource("OpenXRIPBinding_2kr0w"), SubResource("OpenXRIPBinding_gvn1o"), SubResource("OpenXRIPBinding_ubrrl"), SubResource("OpenXRIPBinding_evtui"), SubResource("OpenXRIPBinding_bwbi2"), SubResource("OpenXRIPBinding_p873m"), SubResource("OpenXRIPBinding_2sb1p"), SubResource("OpenXRIPBinding_s5nuk"), SubResource("OpenXRIPBinding_0i62q"), SubResource("OpenXRIPBinding_gp43m"), SubResource("OpenXRIPBinding_sdlm7"), SubResource("OpenXRIPBinding_c6q2j"), SubResource("OpenXRIPBinding_exd3l"), SubResource("OpenXRIPBinding_dkwnm"), SubResource("OpenXRIPBinding_xlbth"), SubResource("OpenXRIPBinding_wgnra"), SubResource("OpenXRIPBinding_833c4"), SubResource("OpenXRIPBinding_8hr1d")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_g2awd"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/eyes_ext/input/gaze_ext/pose" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_asb4g"] +interaction_profile_path = "/interaction_profiles/ext/eye_gaze_interaction" +bindings = [SubResource("OpenXRIPBinding_g2awd")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qqulg"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_o1jns"] +action = SubResource("OpenXRAction_oi0ij") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jb8rd"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/left/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_mob2x"] +action = SubResource("OpenXRAction_m08eo") +binding_path = "/user/hand/right/input/aim/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_x2m78"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/left/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4yx5x"] +action = SubResource("OpenXRAction_c4j1d") +binding_path = "/user/hand/right/input/grip/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lf38q"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/left/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ru5ja"] +action = SubResource("OpenXRAction_sopde") +binding_path = "/user/hand/right/input/palm_ext/pose" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rtqrf"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/left/input/pinch_ext/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nq2u4"] +action = SubResource("OpenXRAction_3k6la") +binding_path = "/user/hand/right/input/pinch_ext/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_p6lex"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/left/input/pinch_ext/ready_ext" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rennt"] +action = SubResource("OpenXRAction_i8esw") +binding_path = "/user/hand/right/input/pinch_ext/ready_ext" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_wsa7d"] +action = SubResource("OpenXRAction_oqnsu") +binding_path = "/user/hand/left/input/aim_activate_ext/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_syawb"] +action = SubResource("OpenXRAction_oqnsu") +binding_path = "/user/hand/right/input/aim_activate_ext/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jt2cb"] +action = SubResource("OpenXRAction_r5bl7") +binding_path = "/user/hand/left/input/aim_activate_ext/ready_ext" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nbvoy"] +action = SubResource("OpenXRAction_r5bl7") +binding_path = "/user/hand/right/input/aim_activate_ext/ready_ext" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_l1qei"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/left/input/grasp_ext/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_720kg"] +action = SubResource("OpenXRAction_typ1r") +binding_path = "/user/hand/right/input/grasp_ext/value" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_e17n2"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/left/input/grasp_ext/ready_ext" + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_gtuwc"] +action = SubResource("OpenXRAction_clvbf") +binding_path = "/user/hand/right/input/grasp_ext/ready_ext" + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_rdsma"] +interaction_profile_path = "/interaction_profiles/ext/hand_interaction_ext" +bindings = [SubResource("OpenXRIPBinding_qqulg"), SubResource("OpenXRIPBinding_o1jns"), SubResource("OpenXRIPBinding_jb8rd"), SubResource("OpenXRIPBinding_mob2x"), SubResource("OpenXRIPBinding_x2m78"), SubResource("OpenXRIPBinding_4yx5x"), SubResource("OpenXRIPBinding_lf38q"), SubResource("OpenXRIPBinding_ru5ja"), SubResource("OpenXRIPBinding_rtqrf"), SubResource("OpenXRIPBinding_nq2u4"), SubResource("OpenXRIPBinding_p6lex"), SubResource("OpenXRIPBinding_rennt"), SubResource("OpenXRIPBinding_wsa7d"), SubResource("OpenXRIPBinding_syawb"), SubResource("OpenXRIPBinding_jt2cb"), SubResource("OpenXRIPBinding_nbvoy"), SubResource("OpenXRIPBinding_l1qei"), SubResource("OpenXRIPBinding_720kg"), SubResource("OpenXRIPBinding_e17n2"), SubResource("OpenXRIPBinding_gtuwc")] + +[resource] +action_sets = [SubResource("OpenXRActionSet_ngwcy")] +interaction_profiles = [SubResource("OpenXRInteractionProfile_ckeh6"), SubResource("OpenXRInteractionProfile_jx7ge"), SubResource("OpenXRInteractionProfile_dad45"), SubResource("OpenXRInteractionProfile_hsh5n"), SubResource("OpenXRInteractionProfile_lvl5r"), SubResource("OpenXRInteractionProfile_jhul1"), SubResource("OpenXRInteractionProfile_dnwvb"), SubResource("OpenXRInteractionProfile_umnyo"), SubResource("OpenXRInteractionProfile_oqlrv"), SubResource("OpenXRInteractionProfile_okaja"), SubResource("OpenXRInteractionProfile_gqjp6"), SubResource("OpenXRInteractionProfile_huhgn"), SubResource("OpenXRInteractionProfile_asb4g"), SubResource("OpenXRInteractionProfile_rdsma")] diff --git a/new-game-project/pointcloud.gd b/new-game-project/pointcloud.gd new file mode 100644 index 0000000..9535b69 --- /dev/null +++ b/new-game-project/pointcloud.gd @@ -0,0 +1,34 @@ +# https://www.haiperformance.nl/de/blog/visualizing-point-clouds-in-godot-3/ + +class_name Pointcloud +extends MultiMeshInstance3D + +var points: Array[Vector3] = [] +var colors: Array[Vector3] = [] + +func _ready(): + multimesh = MultiMesh.new() + multimesh.transform_format = MultiMesh.TRANSFORM_3D + multimesh.use_colors=true + + var pmesh := PointMesh.new() + var material := StandardMaterial3D.new() + material.shading_mode = BaseMaterial3D.SHADING_MODE_UNSHADED + material.albedo_color=Color(1,1,1) + material.point_size=10 + material.vertex_color_use_as_albedo=true + pmesh.material=material + + multimesh.mesh=pmesh + +func add_points(new_points:Array[Vector3],new_colors:Array[Vector3]): + points.append_array(new_points) + colors.append_array(new_colors) + set_points(points, colors) + +func set_points(points:Array[Vector3],colors:Array[Vector3]): + multimesh.instance_count = len(points) + + for i in multimesh.instance_count: + multimesh.set_instance_transform(i, Transform3D(Basis(), points[i])) + multimesh.set_instance_color(i,Color(colors[i].x/256.0,colors[i].y/256.0,colors[i].z/256.0)) diff --git a/new-game-project/pointcloud.gd.uid b/new-game-project/pointcloud.gd.uid new file mode 100644 index 0000000..dfec526 --- /dev/null +++ b/new-game-project/pointcloud.gd.uid @@ -0,0 +1 @@ +uid://bx3sjcpcrnkr diff --git a/new-game-project/project.godot b/new-game-project/project.godot new file mode 100644 index 0000000..42aa5ba --- /dev/null +++ b/new-game-project/project.godot @@ -0,0 +1,30 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="New Game Project" +run/main_scene="uid://bytlha0qtt0s3" +config/features=PackedStringArray("4.4", "GL Compatibility") +config/icon="res://icon.svg" + +[rendering] + +renderer/rendering_method="gl_compatibility" +renderer/rendering_method.mobile="gl_compatibility" +textures/vram_compression/import_etc2_astc=true + +[xr] + +openxr/enabled=true +openxr/environment_blend_mode=2 +shaders/enabled=true +openxr/extensions/meta/passthrough=true +openxr/extensions/meta/color_space/starting_color_space=3 diff --git a/new-game-project/right_hand.gd b/new-game-project/right_hand.gd new file mode 100644 index 0000000..4d58f9f --- /dev/null +++ b/new-game-project/right_hand.gd @@ -0,0 +1,6 @@ +extends XRController3D + +func _process(_t): + var box: CSGBox3D = get_node("CSGBox3D2") + var t = get_float("trigger") / 20 + box.size = Vector3(t,t,t) diff --git a/new-game-project/right_hand.gd.uid b/new-game-project/right_hand.gd.uid new file mode 100644 index 0000000..1175956 --- /dev/null +++ b/new-game-project/right_hand.gd.uid @@ -0,0 +1 @@ +uid://bcj10ndqg8ru5